konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Witam,
w ostatnich kilku dniach usługa /usr/bin/php niespodziewanie zaczęła przeciążać mój serwer. Procesor jest użyty w 100%, a w logach mam co chwilę następujące wpisy.
Co 20-40sek:
[Fri Jun  3 01:29:00 2011] [error] (12)Cannot allocate memory: exec of /usr/local/cpanel/cgi-sys//php5 failed


Raz na 4h:

[Sun Jun 5 13:02:36 2011] [notice] SIGUSR1 received. Doing graceful restart
[Sun Jun 5 13:02:39 2011] [notice] Apache/1.3.42 (Unix) PHP/4.4.8 mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_ssl/2.8.31 OpenSSL/0.9.7a configured -- resuming normal operations
[Sun Jun 5 13:02:39 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/local/apache/bin/suexec)
[Sun Jun 5 13:02:39 2011] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Sun Jun 5 13:02:40 2011] [warn] long lost child came home! (pid 16011)

Problem w tym, że pojawia się on średnio raz na 3-4h.
(jak rozumiem jest to restart serwera www)

I dwa (jak domyślam się) ataki po 3 minuty: (~2730 żądań/min)
[Sun Jun  5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/db/phpMyAdmin-2.6.0-alpha2/main.php
[Sun Jun 5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/administrator/phpMyAdmin-3.0.4/main.php
[Sun Jun 5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/administrator/phpMyAdmin-3.0.5/main.php
[Sun Jun 5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/admin/pma/read_dump.phpmain.php
[Sun Jun 5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/administrator/phpMyAdmin-3.0.5/main.php
[Sun Jun 5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/db/phpMyAdmin-2.6.0-beta1/main.php
[Sun Jun 5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/administrator/phpMyAdmin-3.0.6/main.php
[Sun Jun 5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/admin/pma2005/main.php
[Sun Jun 5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/administrator/phpMyAdmin-3.0.6/main.php
[Sun Jun 5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/db/phpMyAdmin-2.6.0-beta2/main.php
[Sun Jun 5 02:55:22 2011] [error] [client 92.68.228.174] File does not exist: /usr/local/apache/htdocs/administrator/phpMyAdmin-3.0.7/main.php


Jak można rozwiązać ten problem?

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Odnośnie punktu 2. Jako root.

iptables -I INPUT -s 92.68.228.174 -j DROP

Co do problemów z pamięcią to może być powiązanie ale nie musi

PS A co to za serwer w ogóle?Bartosz Mazurkiewicz edytował(a) ten post dnia 06.06.11 o godzinie 13:07
Stanisław P.

Stanisław P. Software designer

Temat: Interpretacja logów i rozwiązanie problemu

Jeśli chcesz coś bardziej dynamicznego do blokowania tych ataków, to jest też fail2ban http://www.fail2ban.org/wiki/index.php/Main_Page

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Bartosz Mazurkiewicz:
PS A co to za serwer w ogóle?

Podobne objawy miałem pomagając przy VPS hostowanym na OpenVZ. OVZ nie ogarnia partycji swap i jak cały ram był zajęty to proces fork cannot allocate memory.
W związku z tym warto monitorować użycie ramu i swapu.

Fai2ban jak najbardziej słuszna wskazówka.Arkadiusz Z. edytował(a) ten post dnia 06.06.11 o godzinie 13:23

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Po dokładniejszej analizie okazało się, że administrator tego serwera (nie jestem nim ;) ) nie zabezpieczył go odpowiednio i nastąpiło włamanie. W skutek włamania większość skryptów index.php znajdujących się na nim, została zarażona funkcjami include'ującymi zewnętrzne serwisy - głównie pornograficzne.

Na chwilę obecną jedynym wyjściem jest pełny backup i format... :/

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Bartosz Mazurkiewicz:
PS A co to za serwer w ogóle?

jest to serwer VPS od http://www.solidhost.com/

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Janusz P.:
Na chwilę obecną jedynym wyjściem jest pełny backup i format... :/

Tak z czystej ciekawości zapytam - gdzie jest backup, z którego możnaby odtworzyć serwis? Teraz robić backup po włamie? Po co?

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Arkadiusz Z.:
Janusz P.:
Na chwilę obecną jedynym wyjściem jest pełny backup i format... :/

Tak z czystej ciekawości zapytam - gdzie jest backup, z którego możnaby odtworzyć serwis? Teraz robić backup po włamie? Po co?
Serwisy nie były backup'owane więc jedynym wyjściem na obecną chwilę jest spakowanie ich, postawienie od nowa systemu i przywracanie powoli tych serwisów... Oczywiście analizując ich kod.

Jeśli widzisz lepsze wyjście to chętnie poznam je ;) z pewnością zaoszczędziło by mi wiele pracy.
Michał Błaszczak

Michał Błaszczak Pentester / Linux
Administrator / VoIP
/ Blockchain /
Cry...

Temat: Interpretacja logów i rozwiązanie problemu

skrypt do analizy kodu i usuwania includow do porno ;))

Janusz - powodzenia z analizą :)

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Michał Błaszczak:
skrypt do analizy kodu i usuwania includow do porno ;))

Dokładnie. Do skryptu sed powinien pomóc.

Format to nie lek. Pomyliło Ci się z Windows :P.
Co ma cały O/S do zmodyfikowanych skryptów w php?

No i nauczka na przyszłość rób backup bo nie znasz dnia ani godziny ;). Nawet prosty jednolinijkowiec, który by odkładał co trzeba z użyciem tar w innym miejscu uratowałby wam teraz skórę ;).

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Arkadiusz Z.:
Michał Błaszczak:
skrypt do analizy kodu i usuwania includow do porno ;))

Dokładnie. Do skryptu sed powinien pomóc.

Format to nie lek. Pomyliło Ci się z Windows :P.
Co ma cały O/S do zmodyfikowanych skryptów w php?

No i nauczka na przyszłość rób backup bo nie znasz dnia ani godziny ;). Nawet prosty jednolinijkowiec, który by odkładał co trzeba z użyciem tar w innym miejscu uratowałby wam teraz skórę ;).


Niestety system jest dość poniszczony...
Nie działają takie polecenia jak yum (bo to CentOS), masa portów pootwieranych, tysiące "nieładnych" pliczków w różnych miejscach...

Co do backup'ów to na moich serwerach (a mam ich kilka) wszystkie tworzą kopie zapasowe na drugim dysku, jak i wysyłają do osobnej maszyny zajmującej się tylko backup'em.

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Arkadiusz Z.:
Format to nie lek. Pomyliło Ci się z Windows :P.
Co ma cały O/S do zmodyfikowanych skryptów w php?

Zostawiłbyś system po włamie? Nawet po wnikliwej analizie nie ma 100% pewności, że został jakiś backdoor albo nie podrzucono innych binarek.

Po włamaniu konieczna jest analiza, żeby dowiedzieć się co poszło nie tak. Potem reinstalacja i przywrócenie backupów (ewentualnie reinstalacja i restore na innej maszynie równolegle, żeby przywrócić serwisy do życia).

Nigdy nie powinno się zostawiać systemu po włamie do dalszej normalnej pracy ;)

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Bartłomiej K.:
Arkadiusz Z.:
Format to nie lek. Pomyliło Ci się z Windows :P.
Co ma cały O/S do zmodyfikowanych skryptów w php?

Zostawiłbyś system po włamie? Nawet po wnikliwej analizie nie ma 100% pewności, że został jakiś backdoor albo nie podrzucono innych binarek.

Po włamaniu konieczna jest analiza, żeby dowiedzieć się co poszło nie tak. Potem reinstalacja i przywrócenie backupów (ewentualnie reinstalacja i restore na innej maszynie równolegle, żeby przywrócić serwisy do życia).

Nigdy nie powinno się zostawiać systemu po włamie do dalszej normalnej pracy ;)

Dlatego też uparcie pozostaję przy swoim, aby dokonać reinstalacji systemu.
Drugą sprawą jest kwestia włamania. Była to wina dziurawego skryptu i braku aktualizacji systemu. Krótko mówiąc poprzedni administrator nie robił tam zbyt wiele...

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Bartłomiej K.:
Arkadiusz Z.:
Format to nie lek. Pomyliło Ci się z Windows :P.
Co ma cały O/S do zmodyfikowanych skryptów w php?

Zostawiłbyś system po włamie? Nawet po wnikliwej analizie nie ma 100% pewności, że został jakiś backdoor albo nie podrzucono innych binarek.

Po włamaniu konieczna jest analiza, żeby dowiedzieć się co poszło nie tak. Potem reinstalacja i przywrócenie backupów (ewentualnie reinstalacja i restore na innej maszynie równolegle, żeby przywrócić serwisy do życia).

Nigdy nie powinno się zostawiać systemu po włamie do dalszej normalnej pracy ;)

Powinno się mieć backup, z którego da się system odtworzyć do zdrowego stanu.
Z tego co czytam to jest to system produkcyjny gdzie tym bardziej brak backupu jest dla mnie kompletnie niezrozumiały. Janusz jest tylko programistą więc to nie jego działka ale admin po prostu dał ciała.

Jeśli system z tego co pisze Janusz nie był aktualizowany to może faktycznie lepiej będzie zainstalować aktualną wersję systemu i odtworzyć niestety z palca serwis.

Co do samego włamania - można przywrócić serwis produkcyjny do działania bez reinstalacji. Po określeniu jak się włamali lukę załatać, odtworzyć zdrową kopię serwisu, wykonać analizę powłamaniową w poszukiwaniu ewentualnych luk i zmian, zmienić wszystkie hasła do kont użytkowników, roota, baz danych itp.
Jeśli serwer nie był zabezpieczony już na etapie wdrażania go to teraz jest 3 razy więcej roboty. Takie proste sprawy jak wspomniany fail2ban znacznie ułatwiają, a takich narzędzi jest więcej.

Jakbym każdemu klientowi po włamie zalecał format to by mnie z security przekierowali do serwisu komputerów pracowników, a nie do pomocy klientom ;).

Na koniec zaś - admin powinien zdrowo po uszach dostać za całą sytuację.Arkadiusz Z. edytował(a) ten post dnia 07.06.11 o godzinie 10:33

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

@Arkadiusz Z: Jaką masz pewność, że znalazłeś wszystkie backdoory, keyloggery i inne śmieci? Przypomnę, że mówimy o zaniedbanym serwerze, a nie takim z hashami każdej binarki i modułu dla porównania (coś jak veriexec), monitorowaniem procesów itp.

Gdybyś po włamie nie sugerował przynajmniej klientom jak powinno się zrobić (analiza, poprawki i bare metal recovery) a nie jak się rzeczywiście robi (łatanie luk, recovery samego serwisu i nadzieja, że nic więcej nie podrzucono - bo czas goni, albo komuś się nie chce) to również nie jest to postawa godna pochwały.

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Bartłomiej K.:
@Arkadiusz Z: Jaką masz pewność, że znalazłeś wszystkie backdoory, keyloggery i inne śmieci? Przypomnę, że mówimy o zaniedbanym serwerze, a nie takim z hashami każdej binarki i modułu dla porównania (coś jak veriexec), monitorowaniem procesów itp.
Ufam swojej wiedzy i umiejętnościom.
Chyba czytasz nie mój post "Jeśli system z tego co pisze Janusz nie był aktualizowany to może faktycznie lepiej będzie zainstalować aktualną wersję systemu i odtworzyć niestety z palca serwis."
Skoro napisałem, że to nieaktualizowany, a więc pewnie na równi zaśmiecony serwer to lepiej go po prostu przeinstalować.
Gdybyś po włamie nie sugerował przynajmniej klientom jak powinno się zrobić (analiza, poprawki i bare metal recovery) a nie jak się rzeczywiście robi (łatanie luk, recovery samego serwisu i nadzieja, że nic więcej nie podrzucono - bo czas goni, albo komuś się nie chce) to również nie jest to postawa godna pochwały.

Nie wkładaj mi w usta słów, których nie powiedziałem.
"Po określeniu jak się włamali lukę załatać, odtworzyć zdrową kopię serwisu, wykonać analizę powłamaniową w poszukiwaniu ewentualnych luk i zmian, zmienić wszystkie hasła do kont użytkowników, roota, baz danych itp."

Kolejność podana wyżej to nie kolejność realizowania operacji, a po prostu lista co trzeba zrobić.
Skoro wykonuję analizę powłamaniową i analizuję cały serwer to nie wmawiaj mi, że oddaję usługę klientom z nadzieją, że nic więcej nie podrzucono. Czas mnie nigdy nie goni. Mam zawsze tak czas wyceniony, że zdążyłbym to zrobić dwa razy i jeszcze raz po sobie sprawdzić.
Może Ty pracujesz z serwerami, które możesz sobie od tak przy byle okazji formatować i stawiać od zera bo ani ja ani klienci, których obsługujemy takich fajnych serwerów nie mamy.

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Panowie, nie ma co się kłócić ;)
Serwer został tymczasowo lekko załatany, aby cokolwiek działało.
Jest mała szansa, że jednak jakąś kopię będzie miała firma dostarczająca usługę VPS, chociaż na Holendrów nie liczyłbym...

Niebawem aplikacja będzie przepisana i całość przeniesiona na mój serwer produkcyjny.

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Janusz P.:
Panowie, nie ma co się kłócić ;)
Racja :).
Serwer został tymczasowo lekko załatany, aby cokolwiek działało.
Dorzuć wspomnianego fail2ban, monitoruj ruch wychodzący z serwera czy coś nie jest od Ciebie wysyłane w świat. Coś co nie powinno ofkoz.
Jest mała szansa, że jednak jakąś kopię będzie miała firma dostarczająca usługę VPS, chociaż na Holendrów nie liczyłbym...
Kto ich tam wie ;). Mam dwa różne VPSy i backup całej maszyny mam w zestawie więc nadzieja zawsze jest.Arkadiusz Z. edytował(a) ten post dnia 07.06.11 o godzinie 12:49

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Arkadiusz Z.:
Serwer został tymczasowo lekko załatany, aby cokolwiek działało.
Dorzuć wspomnianego fail2ban, monitoruj ruch wychodzący z serwera czy coś nie jest od Ciebie wysyłane w świat. Coś co nie powinno ofkoz.
Dokładnie zrobione jest to co mówisz + wyłączona część nisko-priorytetowych serwisów.
Jest mała szansa, że jednak jakąś kopię będzie miała firma dostarczająca usługę VPS, chociaż na Holendrów nie liczyłbym...
Kto ich tam wie ;). Mam dwa różne VPSy i backup całej maszyny mam w zestawie więc nadzieja zawsze jest.
Holandia to Holandia upalony ziołem admin może nie pamiętać o backup'ie... żart oczywiście ;)

[EDIT]
Właśnie otrzymałem informację, iż posiadają tylko kopie całych węzłów i nie są w stanie przekazać mi kopii maszyny, ani przywrócić jej do stanu sprzed włamania...Janusz P. edytował(a) ten post dnia 07.06.11 o godzinie 13:04

konto usunięte

Temat: Interpretacja logów i rozwiązanie problemu

Janusz P.:
Holandia to Holandia
wiem jaka jest byłem tam 10 miesięcy ;).

Jak mają tylko backupy węzłów to klops.

Następna dyskusja:

interpretacja iostat




Wyślij zaproszenie do