Ostatnio w logach serwera apache zauważyłem częste próby odgadnięcia ścieżki, pod którą znajduje się phpMyAdmin. Postanowiłem przyjrzeć się problemowi i skonfigurować swój prosty system IPS do reagowania na takie incydenty.
Podczas analizy tego typu zdarzeń zauważyłem faktyczną potrzebę rozszerzenia możliwości mojego skryptu o obsługę wyrażeń regularnych, a dokładnie chodzi o współpracę z AWK.
Tak mogą wyglądać przykładowe logi świadczące o ataku:
Kod:60.174.109.133
Często słyszy się o tym, że jakiś serwer okazuje się być podatnym na atak typu buffer overflow i wymaga zaktualizowania. Jak działa metoda buffer overflow? Przyjrzyjmy się przykładowemu programowi.
Tak na marginesie to trzeba mieć talent, aby takie coś napisać. Musiałem przerobić mój przykład tak, aby atak się udał ponieważ pierwotnie nie było to możliwe.
Program działa prosto, oczekuje jako parametru hasła. Poprawnym
Około dwa tygodnie temu stałem się posiadaczem powyższego laptopa z preinstalowanym systemem SLED 11. Pierwsze wrażenie z użytkowania były trochę rozczarowujące, zwłaszcza to, że NetworkManager zrywał mi połączenie bezprzewodowe z siecią. To oraz architektura i568 i brak wpływu na układ partycji - na swap zabrał ok 7GB - wystarczyło, aby pod wpływem negatywnych emocji rozpocząć testowanie innych systemów linuksowych. Niestety na żadnym nie udało mi się zmusić touchpada
Wiele osób pyta jak skonfigurować zaporę na komputerze domowym, często jest to podobna konfiguracja więc dlaczego nie stworzyć pewnego wzorca?
Przygotowałem taki wzorzec, nie sprawdzałem go pod każdym kątem więc może coś nie działać, zwłaszcza na desktopie, dlaczego? Ponieważ to właśnie na nim więcej jest oprogramowania, lub jak kto woli bajerów np. komunikatory itp. itd.. Tak więc postawiłem za cel sobie napisanie takiej zapory, aby tworzyła najlepszy kompromis
Parę dni temu otrzymałem prywatną wiadomość z prośbą o pomoc w ustawianiu mojego IPS-a do poprawnego wykrywania logu:
Skrypt opisałem na moim blogu.imapd: LOGIN FAILED, user=***@***, ip=[::ffff:adres_ip]
Przypomnę składnię:
W tym przypadku poprawna reguła powinna wyglądać następująco:Kod:name;;find1,find2,NULL;;key1,between1,between2;key2,between1,between2;;iptables rule param param;1,2;N;time
Kod:imapd_auth;;imapd,LOGIN FAILED,NULL;;ip=[::ffff