Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-11-28 12:04:44

  m2c - Nowy użytkownik

m2c
Nowy użytkownik
Zarejestrowany: 2016-11-28

Nat na OpenBSD, pf i logowanie

Witam

Z pewnych powodów muszę się zająć maszyną którą wcześniej zarządzała inna osoba. Jest to router na OpenBSD. Packet filter to dla mnie nowość, i chociaż staram się nadrobić zaległości to potrzebuję pomocy z logowaniem gdyż muszę znaleźć szkodnika w sieci.

Wygląda to tak:

#NAT
pass out log quick on em0 inet from {192.168.10.0/24, 10.10.1.0/24, 172.16.0.0/24} to any modulate state nat-to xxx.xxx.xx.xx/29 source-hash 0x9c6fcc381f059d875b831ba9658d149b

Jak widać adresy wewnętrzne wychodzą klasą ip na zewnątrz. Niestety z tego co rozumiem to ta linijka działa w określonej kolejności, czyli logowanie odbywa się już po translacji adresów, więc w logu brak jest informacji o ip wewnętrznym.
Chciałbym prosić o pomoc w rozpisaniu regułki tak żebym mógł zebrać informacje która maszyna wychodzi jakim ip i gdzie, czyli coś takiego jak output z pfctl -s state.

Z góry dziękuję za pomoc.

Offline

 

#2  2016-11-28 14:34:34

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Nat na OpenBSD, pf i logowanie

Może coś z poniższych zadziała. PF-em się pobawiłem, a potem zostały tylko skrypty i już trochę nie pamiętam.

Kod:

#1
ext_if="em0"

match out log (all, to pflog0) on $ext_if inet from {192.168.10.0/24, 10.10.1.0/24, 172.16.0.0/24} to any tag pakiet_bedzie_natowany
pass out tagged pakiet_bedzie_natowany modulate state nat-to 20.20.20.20/32 source-hash 0x9c6fcc381f059d875b831ba9658d149b
match out log (all, to pflog0) tagged pakiet_bedzie_natowany

#2
ext_if="em0"

match out log (all, to pflog0) on $ext_if inet from {192.168.10.0/24, 10.10.1.0/24, 172.16.0.0/24} to any tag pakiet_bedzie_natowany
pass out log (all, to pflog0) tagged pakiet_bedzie_natowany modulate state nat-to 20.20.20.20/32 source-hash 0x9c6fcc381f059d875b831ba9658d149b

Do czytania logów:

Kod:

tcpdump -n -e -ttt -i pflog0

Ostatnio edytowany przez uzytkownikubunt (2016-11-28 15:16:01)

Offline

 

#3  2016-11-28 19:00:09

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Nat na OpenBSD, pf i logowanie

To jak podejrzewam, czytałeś:
http://openbsd.das.ufsc.br/faq/pf/pl/index.html

Ostatnio edytowany przez Jacekalex (2016-11-28 19:00:30)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#4  2016-11-28 22:20:34

  Yampress - Imperator

Yampress
Imperator
Zarejestrowany: 2007-10-18

Re: Nat na OpenBSD, pf i logowanie

A chyba trzeba jeszcze interfejs  pflog podnieść

ifconfig pflog up

Offline

 

#5  2016-12-06 10:32:38

  m2c - Nowy użytkownik

m2c
Nowy użytkownik
Zarejestrowany: 2016-11-28

Re: Nat na OpenBSD, pf i logowanie

Dziękuję za odpowiedzi.

Samo logowanie działa, problem jest taki że nie loguje tego co potrzeba.
Sprawdzę zaproponowane rozwiązanie.
Linka oczywiście przestudiowałem przed zadaniem pytania, ale nie wszystko było jasne na tyle żebym sam doszedł do rozwiązania problemu.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.023 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00020 SET CHARSET latin2
0.00008 SET NAMES latin2
0.00143 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.235.239.156' WHERE u.id=1
0.00444 UPDATE punbb_online SET logged=1593876467 WHERE ident='3.235.239.156'
0.00058 SELECT * FROM punbb_online WHERE logged<1593876168
0.00101 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=29180 AND t.moved_to IS NULL
0.00013 SELECT search_for, replace_with FROM punbb_censoring
0.00205 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=29180 ORDER BY p.id LIMIT 0,25
0.00902 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=29180
Total query time: 0.01894 s