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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witajcie.
Postanowiłem sobie na moich serwerach z systemem Debian zrobić logowanie ruchu (w razie czego). W przypadku systemu Proxmox jest to wręcz obowiązkowe, abym logował ruch serwerów VPS (dopiero będę je tworzył).
Postanowiłem więc skorzystać z najprostszego sposobu jakim jest iptables. Niestety nigdzie nie umiem znaleźć tych zapisanych logów hehe, więc poczytałem w internecie, że muszę mieć syslogd (który niby domyślnie jest w systemie). Niestety zarówno na Proxmox, jak i na Debian 5/6 z OVH nie odnalazłem pliku konfiguracyjnego /etc/syslog.conf
O ile w przypadku systemu Debian komenda: apt-get install syslogd działa, chociaż mam pewne obawy co do jego instalacji, gdyż pisze:
Zostaną zainstalowane następujące dodatkowe pakiety: klogd sysklogd Następujące pakiety zostaną USUNIĘTE: [b]rsyslog[/b] Zostaną zainstalowane następujące NOWE pakiety: klogd sysklogd
Czy to nie namiesza w jakiś sposób w systemie?
W przypadku systemu Proxmox to kompletnie nie wiem co zrobić, gdyż podczas instalacji pisze:
Pakiet syslogd jest pakietem wirtualnym zapewnianym przez: sysklogd 1.5-6 busybox-syslogd 1:1.17.1-8 Należy jednoznacznie wybrać jeden z nich do instalacji. E: Package 'syslogd' has no installation candidate
A jak zainstalowałem na tym systemie pakiet: syslog-ng, to już całkiem po systemie, gdyż usunął wszystkie pakiety odpowiadające za wizualizacje itp.
Pozdrawiam.
Offline
Pokaż wynik z Debiana:
ls -l /etc/*syslo*
oraz:
dpkg -l | grep syslog
Poza tym iptables logi zapisuje w /var/log/messages lub /var/log/syslog za pomocą demona logowania, który jest w każej instalce Debiana.
Możeesz też logować do przestrzeni użytkownika za pomocą celu UlLOG z iptables i programu ulogd.
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2012-04-15 13:41:52)
Offline
@edit
ULOG + Iptables działa, zapisują się logi :)
Teraz takie pytanie, jakie byłoby optymalne logowanie tego ruchu, co powinienem zapisywać.
Czytałem że najlepiej logować tylko połączenie i zakończenie połączenia, jak to najlepiej zrobić? A co do serwerów VPS, czy również wystarczy na wypadek czegoś tylko to logować?
W internecie znalazłem takie coś, ale od razu po wprowadzeniu tego plik dosyć szybko nabiera rozmiarów:
iptables -I INPUT -m state --state NEW -j ULOG --ulog-prefix INCOMING-CONN iptables -I OUTPUT -m state --state NEW -j ULOG --ulog-prefix OUTGOING-CONN iptables -I FORWARD -m state --state NEW -j ULOG --ulog-prefix FORWARDED-CONN
@up
Debian 6.0:
-rw-r--r-- 1 root root 2718 01-30 20:28 /etc/rsyslog.conf /etc/rsyslog.d: razem 0
ii rsyslog 4.6.4-2 enhanced multi-threaded syslogd
Proxmox:
-rw-r--r-- 1 root root 2572 2010-11-30 /etc/rsyslog.conf /etc/rsyslog.d: razem 4 -rw-r--r-- 1 root root 242 2011-05-04 postfix.conf
ii rsyslog 4.6.4-2 enhanced multi-threaded syslogd
Ostatnio edytowany przez desavil (2012-04-15 17:21:14)
Offline
Napisz lepiej, jakie dokładnie informacje potrzebujesz logować.
Co konkretnie do tego proxmoxa jest Ci potrzebne.
Ostatnio edytowany przez Jacekalex (2012-04-15 18:39:19)
Offline
Proxmox to wizualizacja, czyli będą na nim stały serwery VPS, więc powinienem logować ich połączenia.
W razie gdyby ktoś z takiego VPS popełnił jakieś przestępstwo (włamanie, ataki, wgrywanie nielegalnych plików, itp.), abym to właśnie nie ja odpowiadał tylko on - to właśnie mają potwierdzić te logi. Dodatkowo logować chciałbym to jeżeli ktoś wykonuje ataki/połączenia na serwer VPS.
Myślę, że nie muszę wykonywać do każdego osobnego systemu logów, tylko jeden i byłby on zarówno dla VPSów jak i serwera matki, bo też się mogą przydać w razie ew. włamania.
Offline
Jakieś propozycje?
Offline
Chodzi mi o to po prostu, czy taki sposób jak podałem wyżej jest poprawny, dla ew. policji w razie czego.
Czy mogę to jakoś zoptymalizować, bo przy moich wyliczeniach będzie plik z logiem dziennym wynosić ok 5GB (bez kompresji) - na serwerze ruch jest dosyć spory, ok. 200Mbps w godzinach szczytu.
Ostatnio edytowany przez desavil (2012-04-17 22:10:15)
Offline
Zainteresuj się konfiguracją sysloga iptables i ewentualnie logowaniem syslog do mysql.
Choć jak chcesz trzymać logi połączeń, czy to w plikach, czy bazach, to przygotuj duuużżżżeee dyski.
Poza tym logój lepiej nawiązywanie połączeń, i dokładnie poczyatj znaczenie poszczególnych funkcji iptables.
Jak źle skonfigurujesz np iptables i ulogd, to zamiast polaczen będzie logowal pakiety przechodzace przez interfejs, na takim dedyku w ilości rzędu miliona na godzinę.
W ogóle do ataków sieciowych zapuściłbym Snorta z obsługą SQL, i miałbym trochę lepiej odfiltrowany obraz sytuacji + wygodny interfejs web do przeglądania.
Do samego iptables i uloga jest Nulog,ale u mnie ani myślał działać.
A tutaj masz przepis na sysloga w SQL:
http://www.rsyslog.com/doc/rsyslog_mysql.html
Co do wymagań policji, to pytaj na policji. :D
Ostatnio edytowany przez Jacekalex (2012-04-17 22:57:30)
Offline
Dyski to nie duży problem, jednak trzeba to gdzieś trzymać. No i tekst ładnie się kompresuje :)
Dlatego właśnie piszę na tym forum o sprawdzeniu/doradzeniu/ew. modyfikacji tych regułek, które wyżej podałem.
Piszesz o logowaniu połączeń tylko nawiązujących, więc myślę, że właśnie --state NEW za to odpowiada?
Iptables + Ulog mnie zadowala, i działa wszędzie bez problemu, więc chciałbym korzystać z niego.
Offline
Mogę liczyć na pomoc?
Offline
Time (s) | Query |
---|---|
0.00008 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00119 | 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.139.108.48' WHERE u.id=1 |
0.00081 | UPDATE punbb_online SET logged=1732459138 WHERE ident='3.139.108.48' |
0.00059 | SELECT * FROM punbb_online WHERE logged<1732458838 |
0.00045 | SELECT topic_id FROM punbb_posts WHERE id=200269 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=21095 ORDER BY posted |
0.00027 | 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=21095 AND t.moved_to IS NULL |
0.00026 | SELECT search_for, replace_with FROM punbb_censoring |
0.00172 | 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=21095 ORDER BY p.id LIMIT 0,25 |
0.00071 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=21095 |
Total query time: 0.00617 s |