Инструкция как в системе freebsd установка anti-virus clamav.
Заказчик попросил перенести сайт с шаред-хостинга на впс из-за частого появления вирусов на сайте.
Сайт на движке joomla 2.5.
Перед тем как перенести, я проверил тремя антивирусами: антивирус касперского 6, eset nod и на самой впске куда перенес сайт установил clamav антивирус, вот о нем я и расскажу сейчас.
Его установить и использовать очень просто.
Сервер у нас под управлением системой FreeBSD 10
Ставим антивирус.
Сперва обновим порты в системе, что бы более свежую версию поставить.
# portsnap fetch extract update # pkg2ng
Теперь ставим сам антивирус.
# cd /usr/ports/security/clamav # make install clean
Готово.
Оповестим систему, что мы антивирус хотим использовать и запускать его после перезагрузки сервера автоматически.
# grep clam /etc/rc.conf # Эта запись нужна, что бы можно было запускать обновления антивирусных баз. clamav_freshclam_enable="YES" # А эта, для самого запуска антивируса. clamav_clamd_enable="YES"
Запускает сам антивирус.
# service clamav-clamd start
Запускаем утилиту обновления баз clamav.
# service clamav-freshclam start
Запустим в ручную обновления баз антивируса.
# freshclam
Сканируем на вирусы.
У меня сайт лежит в корневой вэб директории /usr/local/www
ключ r Означает рекурсивно проверять выбранную директорию, то-есть каждую директорию в ней.
ключ l Положить отчет о проверки в файл /root/clamav_virus
ключ i Вывод информации на экран/консоль.
Если мы хотим, что бы антивирус перемещал зараженные файлы в определенную директорию, то нужно добавить такой ключ —move=/mnt/VIRUS/ , где /mnt/VIRUS/, это та самая директория, в которую и будит наш кламав перемещать зараженные файлы.
Можно конечно сразу, на лету удалять файлы зараженные. для этого добавляем ключ -remove , но я этого не рекомендую делать, а вдруг удалите важное, потом жалеть будете.
# clamscan -r -i -l /root/clamav_virus --move=/mnt/VIRUS/ /usr/local/www
Отчет вы увидите в таком виде.
# cat /root/clamav_virus ------------------------------------------------------------------------------- ----------- SCAN SUMMARY ----------- Known viruses: 3918711 Engine version: 0.98.7 Scanned directories: 4328 Scanned files: 49402 Infected files: 0 Data scanned: 1560.13 MB Data read: 4058.22 MB (ratio 0.38:1) Time: 133.067 sec (2 m 13 s)
В итоге вирусов нет!
Всему виной дыра в компоненте com_adsmanager джумле.
В joomla 2.5.29 компоненте com_adsmanager обнаружена критическая уязвимость, хакер с помощью этой уязвимости может загрузить на сайт веб-шеллы, бэкдоры и т.д.
Для проверки этой уязвимости можно воспользоваться такой сконфигурированной ссылкой.
Все что до com_adsmanager версии 3.10 можно так взломать
http://ваш_сайт/index.php?option=com_adsmanager&task=upload&tmpl=component
если мы видим такое, то уязвимость работает.
"jsonrpc" : "2.0", "error" : {"code": 100, "message": "tempfile."}, "id" : "id"}
В nginx я закрыл так эту уязвимость.
Добавил локейшен.
location ~ ^/tmp/ { return 403; }
В апаче думаю будит достаточно такой записи.
RewriteRule ^tmp/ - [F]
Проверяем
http://ваш_сайт/index.php?option=com_adsmanager&task=upload&tmpl=component {"jsonrpc" : "2.0", "error" : {"code": 100, "message": "Failed to open temp directory."}, "id" : "id"}
И о чудо, доступ закрыт.
Либо в самом коде php.
/usr/local/www/мой_сайт/components/com_adsmanager/controller.php
$fileName = preg_replace('/[^\w\._]+/', '', $fileName);
# Добавляем проверку.
$ext = strrpos($fileName, '.');
$fileName_b = strtolower(substr($fileName, $ext+1));
if (!in_array($fileName_b,array("jpg","jpeg","gif","png"))) {
exit();
}
Проверяем, после, должна открыться пустая страница.
Вот как бы и все, мы только что в freebsd установка anti-virus clamav.