Пошук Шелл (shell) на сервері, сайті через ssh

Ідеально захищених сайтів не буває, і іноді трапляється так, що ваш сайт може стати жертвою зловмисників.

Однією з неприємностей може стати присутність так званого шелла (shell - оболонка) на сервері Вашого сайту. Шелл представляють собою шкідливі скрипти, які якимось чином опинилися на сервері і можуть запускатися на виконання. В цьому випадку погана людина може отримати деякі можливості, наприклад, зміна файлів, завантаження власних скриптів і відповідно можливість їх виконання, відправка спаму та інше, та інше. Трапляється це з різних причин, але як правило внаслідок "дірявість" (читай "уразливості") CMS або хостингу.

Опишу декілька простих прикладів, від яких потім можна відштовхуватися.

Пошук тексту "eval" у всіх файлах з розширенням .php із заданою директорії:

find / dir / to / find / -type f -iname "* .php" -exec grep -Him1 'eval' <> \;

Пошук "eval" серед файлів, у яких виставлені права 777

find / dir / to / find / -perm 2 -type f -iname "* .php" -exec grep -Him1 'eval' <> \;

Простий пошук php-скриптів в заданій папці

find / dir / to / find / -perm 2 -type f -iname "* .php"

Пошук .php файлів, створених або змінених за останні 7 днів, мені завжди допомагала саме вона:

find / dir / to / find / -type f -iname "* .php" -mtime -7

Далі пробігає по списку файлів, дивимося їх вміст і, якщо знайдений shell видаляємо його.

Не варто нехтувати безпекою свого сайту. Хай щастить.