Недавно файл моего сайта index.php
был заменен вредоносным кодом JavaScript.
Я действительно не знаю, как это было добавлено на страницу.
Сегодня, когда я попытался загрузить файл через FTP, мой локальный антивирус выдал мне предупреждение. Я предполагаю, что это означает, что он не был загружен с моего компьютера.
Есть ли способ установить антивирусное программное обеспечение на мой VPS (работающий под управлением CentOS 5 и Cpanel/WHM)?
А что такое mod_security
. Будет ли это полезно в будущем?
решение1
Начать можно с нескольких мест:
- Кто был владельцем рассматриваемого файла?
Если файл принадлежит/доступен для записи пользователю Apache, то компромисс может быть в вашем фактическом коде. Если файл не принадлежит/доступен для записи Apache, я бы посмотрел на FTP.
- Вы проверили логи FTP?
Просмотрите журналы и посмотрите, не загрузил ли кто-нибудь ваш файл, а затем повторно загрузил его через несколько секунд (теперь уже с вредоносным содержимым). Это указывает на то, что ваши данные FTP были скомпрометированы. Обычно это происходит либо путем подбора простого пароля, либо путем его перехвата, часто со скомпрометированного локального ПК с Windows, используемого для загрузки файлов.
Стиль атаки, который вы описываете, довольно распространен. Это не продвинутая атака, и обычно она просто использует простую дыру в безопасности вашей системы (небезопасные пароли, плохо написанный код и т. д.).
mod_security
используется для обнаружения вредоносного кода, выполняемого Apache (например, атаки SQL-инъекции). Это не остановит загрузку кода в первую очередь.
И в ответ на ваш вопрос, да, есть антивирусные приложения для Linux. Поищите ClamAV в качестве отправной точки.
решение2
С помощью оператора @inspectFile ModSecurity и modsec-clamscan.pl вы можете проверить содержимое файла с помощью следующего правила:
SecRule FILES_TMPNAMES "@inspectFile /path/to/modsec-clamscan.pl" "phase:2,t:none,deny,log,msg:'Malicious code identified.'"
Посмотри наэтот.