Potrzebuję pomocy. Mam wykupiony w nazwa.pl serwer wirtualny. Mam na nim kilka stronek. Większość z nich jest postawiona na silniku WordPress - sklepy na WordPress + WooCommerce. Wszystko przez lata działało wyśmienicie. Po jakimś czasie dostałem info, że z mojego serwera jest wysyłany spam i funkcja mail() została zablokowana.

Jak się dostał złośliwy skrypt?

  1. Miałem jedną stronkę postawioną na Joomla, stara wersja, nie aktualizowana, wywalona z innego serwera bo zawierała wirusy. Ja ją przed umieszczeniem u siebie naprawiłem i wyczyściłem, ale dalej byłą to stara wersja 1.6 bodajże. Teraz już jej nie ma.
  2. Kolega "wprowadził się na serwer", bardzo możliwe, że ze sobą przyniósł jakiś skrypty.
  3. Trochę zaniechałem kwestię aktualizacji wtyczek i samego WordPress'a.

Osoba, która uzyskała dostep do serwera, może dosłownie wszystko. Koduje skrypty w base64, po odkodowaniu są zakodowane jego prywatnym szyfrem. Po odkodowaniu niektórych skryptów udało mi się postawić jego backdoor'a. Jest to panel administracyjny serwera czyli usuwanie, dodawanie, wywoływanie, dostęp do baz - WSZYSTKO.

Nie zdawałem sobie sprawy jak słabym rozwiązaniem są gotowe, otwarte silniki. Teraz już wiem, że można szybko coś stworzyć, ale potem potrzeba więcej czasu, żeby to obsługiwać. Ze względu na to, że przez lata wszystko było w porządku, dalej wierzę w te technologie i chciałbym wrócić do normalnej sytuacji.

Aktualnie jestem na etapie czyszczenia. Ograniczyłem dostęp do serwera tylko na Polskę. BOT'y atakują głównie z Ukrainy i Rosji. To od czego chciałbym się bronić po usunięciu wszyskich śmieci to:

  1. Zmiana zawartości pliku na serwerze.
  2. Dodanie nowego pliku na serwerze.

Brzmi jak REPO i pomyślałem, że właśnie tak mógłbym to zrobić. Nie wiem czy się da, ale napisałbym skrypt, który w przypadku dodania/zmiany wyśle mi powiadomienie, ja sprawdzę na repo poprawną wersję z aktualną, w razie potrzeby przywrócę. Mając wszystkie dane, będę również w stanie przeanalizować atak i sprawdzić jego źródło w logach serwera. Na co dzień zajmuje się programowaniem i administrowaniem w technologii .NET. Temat .php jest mi obcy, jeżeli chodzi o takie zaawansowane podejście do sprawy.