Как установить clam antivirus (clamav) на vps или сервер с ос centos

2. Manually update the feshclam database

To update the database for the first time we need to run to update the database manually and to check whether the configuration is successfully set:

# freshclam
ClamAV update process started at Tue Nov 6 15:51:59 2018
WARNING: Can't query current.cvd.clamav.net
WARNING: Invalid DNS reply. Falling back to HTTP mode.
Reading CVD header (main.cvd): OK (IMS)
main.cvd is up to date (version: 58, sigs: 4566249, f-level: 60, builder: sigmgr)
Reading CVD header (daily.cvd): OK
Downloading daily-25006.cdiff 
Downloading daily-25092.cdiff 
Downloading daily-25093.cdiff 
Downloading daily-25094.cdiff 
Downloading daily-25095.cdiff 
daily.cld updated (version: 25095, sigs: 2143057, f-level: 63, builder: neo)
Reading CVD header (bytecode.cvd): OK
bytecode.cvd is up to date (version: 327, sigs: 91, f-level: 63, builder: neo)
Database updated (6709397 signatures) from database.clamav.net (IP: 104.16.186.138)

This will add or update the existing database file inside

# ls -l /var/lib/clamav/
total 442156
-rw-r--r-- 1 clamupdate clamupdate    296388 Sep  5 17:16 bytecode.cvd
-rw-r--r-- 1 clamupdate clamupdate 334600704 Sep  5 14:44 daily.cld
-rw-r--r-- 1 clamupdate clamupdate 117859675 Nov 25  2019 main.cvd

Настройка

Программа антивируса

После установки в директории /etc появится файл конфигурации clamd.conf.
В принципе, ничего менять там не надо, за исключением того, что нужно закомментировать (если они раскомментированы, конечно)опции TCPAddr и TCPSocket, и раскомментировать строку LocalSocket /var/run/clamav/clamd.sock
Таким образом укажем антивирусу, что работать он будет только на локальной машине.
Затем запустить сервис clamd:

# service clamd start.

И также поместить его в автозагрузку (в консоли запустить drakxconf, зайти в раздел «службы» и отметить звёздочкой сервис clamd).

Программа обновления баз

Для обновления антивирусных баз используется демон freshclam, которая входит в состав пакета clamav.
Для того, чтобы базы обновлялись два раза в день и при этом в логи записывались результаты обновления,
freshclam нужно установить в файле /etc/freshclam.conf:

checks = 2

С установкой и настройкой clamav все.

clamsmtpd

# cp clamsmtp-1.8.tar.gz /usr/local/src
# cd /usr/local/src
# tar -xvzf clamsmtp-1.8.tar.gz
# cd clamsmtp-1.8
# ./configure  --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec  --datadir=/usr/share \
--sysconfdir=/etc --libdir=/usr/lib --mandir=/usr/share/man
# make
# make install
# cp /usr/local/src/clamsmtp-1.8/doc/clamsmtpd.conf /etc/clamsmtpd.conf

После этого копируем пример конфигурационного файла clamsmtpd.conf из директории с исходниками (находится в подкаталоге doc/)в директорию /etc (именно в этой директории clamsmtpd будет искать свой конфигурационный файл).
После правки этот файл будет выглядеть следующим образом:

# cat /etc/clamsmtpd.conf

OutAddress: 10026
Listen: 0.0.0.0:10025
ClamAddress: /var/lib/clamav/clamd.socket
TempDirectory: /tmp
User: clamav

На самом деле, параметров в этом файле может быть больше, но я указал лишь необходимые.
Для более подробного изучения рекомендую почитать man clamsmtpd.conf.

Для запуска clamsmtpd нужно создать файл /etc/init.d/clamsmtpd сщ следующим содержимым.

#!/bin/sh

###########################################################################
# CONFIGURATION

# Most configuration options are found in the clamsmtpd.conf file.
# For more info see:
#   man clamsmtpd.conf
# chkconfig: 345 17 90
# description: This startup script launches the courier imap daemon

### BEGIN INIT INFO
# Provides: clamsmtpd
# Required-Start: courier-authdaemon
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 345
# Short-Description: clamsmtpd daemon
# Description: This startup script launches the clamsmtpd daemon
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# The prefix clamsmtpd was installed to
prefix=/usr

# The location for pid file
piddir=/var/run/clamav
NAME=clamsmtpd


###########################################################################
# SCRIPT

case $1 in
start)
        mkdir -p $piddir
        $prefix/sbin/clamsmtpd -p $piddir/clamsmtpd.pid
        echo -n "clamsmtpd "
        ;;
stop)
        [ -f $piddir/clamsmtpd.pid ] && kill `cat $piddir/clamsmtpd.pid`
        echo -n "clamsmtpd "
        ;;
*)
        echo "usage: clamsmptd.sh {start|stop}" >&2
        ;;
esac

Далее

# chmod 740 /etc/init.d/clamsmtpd
# chgrp adm /etc/init.d/clamsmtpd

Таким образом clamsmtpd будет открывать 10025-ый порт, на который postfix будет как бы отсылать почту для
проверки антивирусом (соответствующая настройка будет описана ниже), а затем, после проверки, clamsmtpd будет возвращать её обратно postfix’у на порт 10026.

Тестирование

Для проверки работоспособности будем использовать EICAR строку. Создаем файл virus.com со следующим содержанием:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Сохраняем его и выполняем

# clamscan  virus.com
virus.com: Eicar-Test-Signature FOUND

----------- SCAN SUMMARY -----------
Known viruses: 30736
Scanned	directories: 0
Scanned	files: 1
Infected files: 1
Data scanned: 0.00 MB
I/O buffer size: 131072 bytes
Time: 1.356 sec (0 m 1 s)

Если вы видите что то подобное, значит все прошло успешно и ClamAV благополучно установлен на вашем компьютере.

Настраиваем антивирусный фильтр ClamAV

15 марта, 2014 aqis

Антивирусная защита корпоративной сети одна из наиболее актуальных задач для системного администратора. Одним из основных путей проникновения вирусов и прочих вредоносных программ является Интернет, поэтому весьма логично будет проверять проходящий HTTP трафик на наличие вирусов еще на роутере, до того как потенциально опасное ПО попадет во внутреннюю сеть.
Такой подход позволяет существенно повысить безопасность сети, особенно для небольших организаций, где у администратора зачастую нет инструментов централизованного контроля и управления антивирусной защитой на клиентских ПК.

В UNIX-like системах весьма популярен антивирусный сканер ClamAV, во многом благодаря своей бесплатности. Он неплохо подойдет для учебных и некоммерческих организаций, а также при ограниченном бюджете

В иных случаях стоит обратить внимание на коммерческие решения, например от «Лаборатории Касперского», потому что эффективность ClamAV довольно низка, хотя вполне приемлема для бесплатного продукта

В качестве примера будем использовать роутер из нашей тестовой лаборатории, настройку которого мы рассматривали здесь.

Кроме антивируса ClamAV мы будем использовать HAVP — HTTP Antivirus Proxy — специализированный прокси-сервер для антивирусной проверки трафика. Общая схема будет выглядеть следующим образом: клиентский запрос поступает кэширующему прокси-серверу Squid, который либо выдает результат из кэша, либо передает запрос вышестоящему прокси HAVP, тот обрабатывает запрос, проверяет трафик антивирусным сканером и передает его обратно Squid’у который отдает запрос клиенту и помещает его в кэш. Этим достигается высокое быстродействие — кэш Squid’а не проверяется антивирусом. Преимуществами HAVP, по сравнению с редиректорами (squidclamav и т.п.) является более высокая скорость работы и поддержка широкого спектра антивирусных приложений, что дает возможность сменить антивирус без кардинального перестроения всей системы.

Итак, приступим. Установим ClamAV:

Shell

sudo apt-get install clamav

1 sudo apt-getinstall clamav

Приложение в настройке не нуждается. По умолчанию обновление антивирусных баз происходит один раз в час.

Установим HAVP:

sudo apt-get install havp

1 sudo apt-get install havp

HAVP по умолчанию настроен на работу с ClamAV и практически не требует настройки. В первую очередь ограничим только локальными соединениями, это необходимо для того, чтобы клиенты не могли подключаться напрямую к HAVP, явно указав его порт. Для этого в /etc/havp/havp.config найдите и раскомментируйте следующую опцию:

BIND_ADDRESS 127.0.0.1

1 BIND_ADDRESS127.0.0.1

Также раскомментируйте и измените указанным образом опцию:

TEMPLATEPATH /etc/havp/templates/ru

1 TEMPLATEPATHetchavptemplatesru

Это позволит выводить страницы ошибок и сообщений о найденных вирусах на русском языке. Также может потребоваться изменить опцию PORT. По умолчанию HAVP работает на порту 8080, что не всегда приемлемо, данный порт часто бывает занят другими программами (например DansGuardian). Перезапускаем HAVP:

sudo /etc/init.d/havp restart

1 sudoetcinit.dhavp restart

Теперь настроим Squid на использование вышестоящего прокси и сканирование только HTTP трафика. В конец файла /etc/squid/squid.conf добавляем следующие строки:

INI

cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default
cache_peer_access 127.0.0.1 allow all
acl Scan_HTTP proto HTTP
never_direct allow Scan_HTTP

1
2
3
4

cache_peer127.0.0.1parent8080no-queryno-digestno-netdb-exchangedefault

cache_peer_access127.0.0.1allowall

aclScan_HTTPprotoHTTP

never_directallowScan_HTTP

Перезапускаем Squid:

sudo /etc/init.d/squid3 restart

1 sudoetcinit.dsquid3 restart

Теперь с клиентского ПК заходим на страничку http://eicar.org/anti_virus_test_file.htm и пробуем скачать тестовый вирус (не опасен, представляет собой специальную сигнатуру для проверки антивирусного ПО). Если все настроено правильно мы должны увидеть страничку с блокировкой.

Шаблоны страничек выполнены в виде HTML файлов и находятся в /etc/havp/templates/ru, можете отредактировать их на свое усмотрение.

Опубликовано в рубрике *nix Метки: ClamAV, HAVP, proxy, squid, ubuntu, антивирус

Сканирование файлов с помощью антивируса ClamAV

После завершения настроек антивирусной службы, вы можете проверить любую директорию сервера на вирусы (режим сканера). Для ручного запуска проверки указанного каталога на вирусы используйте команду:

С такими параметрами антивирус сразу удалить инфицированные файлы. Если вы хотите переместить подозрительные файлы в отдельный каталог, запустите проверку с параметром —move:

Данная команда проверит указанную директорию со всеми вложениями на вирусы и подозрительные файлы переместит в директорию /tmp/clamscan.

Как видим, инфицированный файл был перенесен в указанную директорию:

Так же, можно добавить параметр —log=/var/log/clamscan.log, чтобы информация о сканировании писалась в указанный лог

Если вы хотите исключить из проверки какую-то из директорий, используйте параметр —exclude-dir:

Для регулярной проверки на вирусы вы можете настроить задание в cron, с нужными вам параметрами.

Существует графическая оболочка для антивируса ClamAV – она называется ClamTk.

5. Configure and start clamd.service

We have an example service file that we need to copy into the system services folder.

I will copy this file to . I hope you are familiar with the different systemd service file locations so you can understand why I preferred this location instead of

# cp -ap /usr/lib/systemd/system/[email protected] /etc/systemd/system/clamd.service

Next replace with from both the Description and options in

Enable and start the service

# # systemctl enable clamd.service --now
Created symlink /etc/systemd/system/multi-user.target.wants/clamd.service → /etc/systemd/system/clamd.service

Check the status to make sure the service is active and running:

clamd service status

6. Configure periodic scan using clamdscan (Optional)

You can follow this step if you wish to configure auto scan of any directory as by default you will have to initiate manual scan.

We will create a new systemd service unit file :

# cat /etc/systemd/system/clamdscan-home.service

Description=ClamAV virus scan
Requires=clamd.service
After=clamd.service


ExecStart=/usr/bin/clamdscan /home
StandardOutput=syslog


WantedBy=multi-user.target

To perform a periodic scan we also need a mapping timer unit file. Here I have added time value of to start the scan:

# cat /etc/systemd/system/clamdscan-home.timer

Description=Scan /home directory using ClamAV


OnCalendar=18:40:00
Persistent=true


WantedBy=timers.target

Next enable and start the timer

# systemctl enable clamdscan-home.timer --now
Created symlink /etc/systemd/system/timers.target.wants/clamdscan-home.timer → /etc/systemd/system/clamdscan-home.timer.

We don’t need to start the service unit file as it will be controlled by the timer file

Now we monitor the logs at PM

Sep 05 18:40:05 server.example.com systemd: Started ClamAV virus scan.
Sep 05 18:40:17 server.example.com clamdscan: /home: OK
Sep 05 18:40:17 server.example.com clamdscan: ----------- SCAN SUMMARY -----------
Sep 05 18:40:17 server.example.com clamdscan: Infected files: 0
Sep 05 18:40:17 server.example.com clamdscan: Time: 11.725 sec (0 m 11 s)

Запуск

Сначала запустим программу обновления антивирусных баз.

# freshclam
ClamAV update process started at Thu Jan 12 17:15:36 2006
WARNING: DNS record is older than 3 hours.
WARNING: Invalid DNS reply. Falling back to HTTP mode.
Reading CVD header (main.cvd): OK
main.cvd is up to date (version: 35, sigs: 41649, f-level: 6, builder: tkojm)
Reading CVD header (daily.cvd): OK
Downloading daily.cvd 
daily.cvd updated (version: 1239, sigs: 474, f-level: 7, builder: diego)
Database updated (42123 signatures) from db.ru.clamav.net (IP: 62.181.41.8)
#

Теперь запустим сам антивирус.

# clamd
#

Убедимся, что был создан socket файл.

# ls -l /var/run/clamav/
total 4
-rw-rw----  1 clamav clamav 4 2006-01-12 17:05 clamd.pid
srwxrwxrwx  1 clamav clamav 0 2006-01-12 17:05 socket
#

Вообщем, антивирус заработал, но ведь Вы не будете каждый раз запускать его вручную. Давайте напишем стартовые скрипты для Slackware Linux. В дистрибутивах, где clamav входит в стандартную поставку этого делать не надо.

Стартовый скрипт

Стартовый скрипт антивируса достаточно простой. Создайте файл rc.clamav.new следующего содержания.

#! /bin/bash

start()
{
    if [ -f /var/run/clamav/clamd.pid ]; then
        if ps xa | grep ^$(head -1 /var/run/clamav/calmd.pid) > /dev/null; then
            echo "ClamAv working!"
        else
            rm -r /var/run/clamav/clamd.pid
        fi
    fi
    echo "Start a ClamAv antivirus"
    clamd

    if [ -f /var/run/clamav/freshclam.pid ]; then
        if ps xa | grep ^$(head -1 /var/run/clamav/freshcalm.pid) > /dev/null; then
            echo "FreshClam working!"
        else
            rm -r /var/run/clamav/freshclam.pid
        fi
    fi
    echo "Start a freshclam"
    freshclam -d
}

stop()
{
    killall clamd
    killall freshclam
}

case $1 in
    start)
        start ;;
    stop)
        stop ;;
    restart)
        stop
        start ;;
    *)
        echo "Usage rc.clamav start|stop|restart"
        exit 88
esac

Нам прийдется внести кое какие изменения в пакет, который мы создавали для Slackware Linux. В нем нет стартовых скриптов. Поэтому создадим директорию rc.d и поместим в нее стартовый скрипт.

# cd /tmp/clamav
# mkdir etc/rc.d
# cp rc.clamav.new etc/rc.d
# chmod a-x etc/rc.d/rc.clamav.new
#

Обратите внимание на то, что мы сбросили бит x в ноль. Это необходимо, что бы скрипт не запускался автоматом при старте системы после установки

Пусть администратор решает надо ему это или нет.

И еще добавим в файл doinst.sh строку:

config etc/rc.d/rc.clamav.new

После этого создадим пакет снова. Теперь у нас правильный пакет.

Внимание!

В стартовых скриптах запуск антивируса необходимо писать в ручную. Например в файле /etc/rc.d/rc.sendmail

Или других скриптах, запускающих другие почтовые серверы.

Внимание!

Антивирус необходимо запускать перед стартом почтового сервера.

1. Install ClamAV packages

To install ClamAV on CentOS 7, we need to install and enable EPEL repository.

# yum install epel-release

You can follow clamav official website to get the details of installing ClamAV on other distributions

Then we can install ClamAV with all its useful tools:

# yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

Below is a snippet from my server after the install was successful.

Below are the list of clamav rpms from my CentOS 7 environment

# rpm -qa | grep -i clamav
clamav-0.102.4-1.el7.x86_64
clamav-data-0.102.4-1.el7.noarch
clamav-filesystem-0.102.4-1.el7.noarch
clamav-update-0.102.4-1.el7.x86_64
clamav-lib-0.102.4-1.el7.x86_64
clamav-devel-0.102.4-1.el7.x86_64

Advertisement

Облако меток

howtoubuntuспортупражнения*nixштангамышцымониторинггруппы мышцанатомияzabbixArduinoменеджментмышцы спинымышцы ногsquidприседпитаниевитаминыдобавкиБЖУтонкая настройкастановаяESP-201ESP8266Wi-FiпсихологияуправлениеHDDспинаzabbix 2.0предплечьеdnsmasqхватлекарстваWindowsедажирITILapacheDNSDHCPногиsquid3proxyдиетаshellapache2растяжкаwordpressphpFritzingIDEzabbix 3.0шаблонNATгрудные мышцыэндоморфinterface31ncduтехникаlightsquidconfigкреатиндобавкаClamAVантивирусHAVPтехника выполненияr57FTPproftpdтяга штанги в наклонеmuninсонбицепсальбуминяйцакистиизометриязавтракRDPбобовыегириомега-3рыбий жиризменениябелоквнедрениевосстановлениеживотмышцы корапресспозвоночникжимкикбоксингшпагатputty

Конфигурация

Конфигурация антивируса заключается в редактировании его конфигурационного файла /etc/clamd.conf.

Строчку со словом Example необходимо удалить.

Параметр LogFile определяет месторасположения файла журнальной регистрации. По умолчанию файл не создается и не используется.

Параметр LogFileMaxSize определяет максимальный размер журнального файла. Значение по умолчанию — 1 Мбайт.

Параметр LogSyslog заставляет программу посылать сообщения в стандартную систему журнальной регистрации Syslog. Это можно делать в том случае, когда предполагается небольшой поток информации. Поскольку у меня не очень нагруженный сервер я буду использовать Syslog.

LogFacility определяет средство, которое будет использоваться при посылке сообщений в Syslog. В моем случае антивирус будет использоваться только с почтовым сервером, поэтому я переопределю значение параметра.

LogFacility LOG_MAIL

Параметр PidFile определяет файл, в котором будет находиться PID процесса. Он нам потребуется для создания стартовых скриптов.

PidFile /var/run/clamav/clamd.pid

DatabaseDirectory определяет директорию в которой будут находиться антивирусные базы данных. Укажем директорию которая будет использоваться в Slackware.

DatabaseDirectory /usr/share/clamav

Параметр LocalSocket определяет файл типа socket, через который программы могут посылать данные на проверку антивирусом.

LocalSocket /var/run/clamav/socket

При помощи параметра TCPSocket можно указать номер порта, на котором программа будет слушать запросы от клиентов. Поскольку в нашем случае антивирус и почтовый сервер находятся на одной машине, лучше применять файл типа socket. Поэтому мы не будем явно определять этот параметр.

Параметр User определяет пользователя с правами которого будет выполняться программа.

User clamav

Параметр ArchiveMaxFileSize позволит указать максимальный размер архива, который будет сканироваться на вирусы. Значение по умолчанию — 10Мбайт.

ClamAV

ClamAV — это бесплатный, кроссплатформенный антивирус с открытым исходным кодом, в состав которого входит сканер, который может работать из командной строки, также модуль обновления антивирусных записей. Приложение было разработано для Unix-подобных систем, но позже были созданы версии для таких ОС: Windows, Linux, OS X, BSD и Solaris.

Установка ClamAV

для РЕД ОС версии 7.1 или 7.2:

$ sudo yum update

для РЕД ОС версии 7.3 и старше:

$ sudo dnf update

После успешного обновления пакетов, начинаем процесс установки:
для РЕД ОС версии 7.1 или 7.2:

$ sudo yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

для РЕД ОС версии 7.3 и старше:

$ sudo dnf -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

Для того, чтобы обновить антивирусную базу, введите следующую команду в терминале:

$ sudo freshclam

Для автоматического обновления антивирусных баз включите автозапуск соответствующей службы командой:

$ sudo systemctl enable clamav-freshclam --now

Чтобы настроить конфигурацию антивируса ClamAV, нужно удалить конфигурацию по умолчанию в файле /etc/clam.d/scan.conf.

$ sudo  sed -i -e "s/^Example/#Example/" /etc/clamd.d/scan.conf

После чего перейдем к самой настройке. Откройте файл конфигурации:

$ sudo nano /etc/clamd.d/scan.conf

И раскомментируйте следующую строку:

LocalSocket /run/clamd.scan/clamd.sock

Создадим сервис для самого ClamAV. Конфигурационный файл уже существует, но нужно изменить его название:

$ sudo mv /usr/lib/systemd/system/[email protected] /usr/lib/systemd/system/clamd.service

Откройте файл, приведите строку конфигурационного файла к данному виду:

$ sudo nano /usr/lib/systemd/system/clamd.service

Приведите строку конфигурационного файла к данному виду:

ExecStart = /usr/sbin/clamd -c /etc/clamd.d/scan.conf

Можно запускать сервис антивируса и добавлять его в автозагрузку:

$ sudo systemctl start clamd.service
$ sudo systemctl enable clamd.service

Сканирование системы с помощью ClamAV

Чтобы проверить на вирусы все файлы на вашем компьютере, воспользуйтесь следующей командой:

$ sudo clamscan / -r

Для автоматического удаления инфицированных файлов добавьте параметр , или можете использовать > для перемещения их в карантин.

$ sudo clamscan /etc --remove
$ sudo clamscan /etc --move=/etc 

Удаление ClamAV

Если вы по каким-либо причинам хотите удалить антивирус ClamAV, то воспользуйтесь командой:
для РЕД ОС версии 7.1 или 7.2:

$ sudo yum remove clamav clamav-daemon

для РЕД ОС версии 7.3 и старше:

$ sudo dnf remove clamav clamav-daemon

Однако будьте очень внимательны, данная команда может удалить зависимые пакеты, поэтому очень внимательно читайте, какие пакеты повлияют на удаление антивируса.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: