sobota, 28 kwietnia 2012

Masz zawirusowane forum? Co robić

W tym artykule przedstawimy metodę postępowania w przypadku zawirusowanej strony ale tak, żeby nie stracić wszystkich postów i nie instalować skryptu od zera.

W tym przykładzie posłużymy się forum phpBB wersja 2.0.22. Jak wiadomo, obecnie dostępna jest najnowsza wersja forum phpBB, a mianowicie 3.0.10 EN.

Jak wygląda zawirusowanie forum?
Zawirusowanie wygląda tak, że przez dziurę w serwerze do wszystkich plików php dopisał się zakodowany kod, zwykle przekierowujący na inne strony albo wysyłający spam z serwera. Zarządzający botnetem wysyła odpowiednie komendy do zainfekowanych serwerów, a te stają się maszynami zombie i posłusznie wykonują polecenia.

Przykładowy zawirusowany kod wygląda jak poniżej.


Jak usunąć zawirusowaną wstawkę z kodu php?
Wstawka ta stanowi niejako tylną furtkę do naszego serwera. O tym, że koniecznie i pilnie należy usunąć ten kod chyba nie muszę nikogo przekonywać. W innym przypadku czeka nas pewnie zablokowanie konta hostingowego, ze względu na wysyłanie spamu lub nadmierne zużycie zasobów serwera współdzielonego.

Ktoś powie, że wystarczy wczytać do edytora tekstowego zawirusowany plik, usunąć wstawkę backdoora, która zwykle znajduje się na początku kodu php, a potem zapisać plik i wgrać go na serwer. Opisana metoda jest poprawna, aczkolwiek kroki te trzeba powtórzyć dla wszystkich plików php. Forum phpBB w wersji 2.0.22 zawiera 21 folderów i 302 pliki. Wróżę tu więc ponad godzinę roboty dla doświadczonego administratora. Jak to zrobić szybciej ?

Forum phpBB używa bazy danych jako magazynu danych. Tak więc można zainstalować na nowo forum, stare skasować, a do nowego zaimportować bazę danych lub podłączyć się do istniejącej. Czynność ta musi być jednak przeprowadzona przez doświadczonego administratora, początkujący użytkownicy mogą wiele zepsuć. Jest jeszcze jedna wada takiego rozwiązania, a mianowicie na nowo trzeba będzie wgrać szablon forum. Choć czynność ta zajmuje zwykle do 15 minut.

Ja natomiast zalecam coś innego. Zalecam pobranie dokładnie takiej samej czystej instalacji forum, jaką mamy na serwerze. Później robimy kopię plików konfiguracyjnych z serwera, a mianowicie config.php i common.php. Następnie nadpisujemy wszystkie pliki php znajdujące się na serwerze plikami z czystej wersji instalacyjnej. Po zakończeniu tej instalacji podmieniamy jedynie plik config.php i common.php na te, z zachowanej kopii. Ewentualnie możemy usunąć katalog install, jeśli istnieje jeszcze na serwerze. Kolejną czynnością którą należy przeprowadzić jest nadanie chmodu tylko do odczytu dla pliku config.php, a więc 444. To wszystko! Od tej chwili cieszycie się działającym i niezawirusowanym forum.


0 komentarzy:

Prześlij komentarz