Для этого можно использовать сканеры, например Lynis
# cd /opt/
# wget https://downloads.cisofy.com/lynis/lynis-2.6.6.tar.gz
# tar xvzf lynis-2.6.6.tar.gz
# mv lynis /usr/local/
# ln -s /usr/local/lynis/lynis /usr/local/bin/lynis
, затем использовать
lynis audit system
Для сканирования сервера
Вы также можете использовать chkrootkit
# yum update
# yum install wget gcc-c++ glibc-static
# wget -c ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
# tar –xzf chkrootkit.tar.gz
# mkdir /usr/local/chkrootkit
# mv chkrootkit-0.52/* /usr/local/chkrootkit
# cd /usr/local/chkrootkit
# make sense
Затем вы делаете это, чтобы начать сканирование
sudo chkrootkit
Вероятно, стоит упомянуть и Rkhunter
# yum install epel-release
# yum install rkhunter
Затем
rkhunter -c
Для сканирования
Вы также можете посмотреть этот проект здесь. https://github.com/jvoisin/php-malware-finder
Он обнаруживает много запутанного / хитрого кода.
Есть и другие, такие как ClamAV и LMD, но любой из перечисленных выше обнаружит большинство вирусов. Но ничто не сравнится с человеческим глазом ;-) Хорошая практика - следить за процессами сервера и новыми добавленными файлами. Если вам не нужен base64, вы всегда можете добавить это в PHP .ini как заблокированную функцию.
Имейте в виду, что хакеры всегда будут иметь преимущество в запутывании из-за творческих возможностей, которые предлагает современное кодирование ... Вы ничего не можете с этим поделать, кроме как использовать несколько инструментов и держать себя в руках.
У меня есть 4 автоматических сканирования на каждом из моих серверов, и я также отслеживаю изменения файла и загрузки файла. Если вы надеетесь, что все найдет код для поиска одной строки, разочаровайтесь. Это кошмар, с которым сталкиваются все эксперты по безопасности. Лучший способ борьбы с вирусами - убедиться, что они не могут быть загружены в первую очередь.