Como instalar assinaturas AntiVirus e Malware adicionais para o Clamav no CentOS e CloudLinux

Como instalar assinaturas AntiVirus e Malware adicionais para o Clamav no CentOS e CloudLinux

Este é mais um recurso que utilizamos na HelpSysAdmin nos servidores de nossos clientes de Gerenciamento de Servidor.

O Anti Virus Clamav é bastante utilizado em servidores linux hoje em dia. Possui um mecanismo antivírus eficiente para detectar trojans, vírus, malware e outras ameaças maliciosas.

Como padrão o Clamav disponibiliza algumas assinaturas antivirus que são atualizadas através de seu repositório padrão, porém, principalmente em Servidores Web, com PHP, Python … onde são instalados todo tipo de aplicação, incluindo WordPress, Joomla… ou MailServers que recebem phishing , virus, trojans, nos mais diversos arquivos e formatos, se faz necessário assinaturas adicionais para o Clamav.

Na Web existem vários projetos e sites que oferecem assinaturas grátis ou pagar para o Clamav.

A eXtremeSHOK através do GitHub criou um projeto com nome clamav-unofficial-sigs que reúne várias assinaturas confiáveis, disponíveis na Web para o Clamav, mantendo tudo sempre atualizado .

Além das assinaturas disponíveis pelo projeto, vamos adicionar outras assinaturas que sempre utilizo em meu trabalho com Gerenciamento de Servidores Linux.

Abaixo vou abordar o passo a passo para a correta instalação e configuração do clamav-unofficial-sigs em servidores CentOS e CloudLinux.

Instale o repositorio epel-release

yum -y update
yum -y install epel-release
yum -y update

Antes de começar, verifique em seu firewall e abra se necessário as portas:

rsync: TCP porta 873
wget/curl : TCP porta 443

Instale o Clamav e componentes:

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

Configure o SELinux para permitir o Clamav ( Se Selinux estiver habilitado)

Verifique se o Selinux está habilitado. Se estiver desabilitado pule este passo.

sestatus

Se o resultado for SELinux status: disabled, pule esta etapa.
Se o resultado for enable prossiga:

setsebool -P antivirus_can_scan_system 1
setsebool -P clamd_use_jit 1

Crie o grupo e usuário para o ClamAV

groupadd clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav

Configure o ClamAV

mkdir /var/clamav
chown clamav.clamav /var/clamav
sed -i '/^Example$/d' /etc/clamd.d/scan.conf

Edite o arquivo scan.conf com o nano:

nano /etc/clamd.d/scan.conf

Localize LocalSocket e substitua por:

LocalSocket /var/run/clamd.scan/clamd.sock/g

salve o arquivo e saia do nano (Control + X , digite Y )

A seguir no shell do linux cole o bloco abaixo:

cat << EOF > /etc/tmpfiles.d/clamav.conf
/var/run/clamd.scan 0755 clam clam
EOF
mv /usr/lib/systemd/system/clamd\@scan.service /usr/lib/systemd/system/clamd\@scan.old
cat << EOF > /usr/lib/systemd/system/clamd\@scan.service
# Run the clamd scanner
[Unit]
Description = clamd scanner (%i) daemon
After = syslog.target nss-lookup.target network.target
[Service]
Type = simple
ExecStart = /usr/sbin/clamd --foreground=yes
Restart = on-failure
IOSchedulingPriority = 7
CPUSchedulingPolicy = 5
Nice = 19
PrivateTmp = true
MemoryLimit=500M
CPUQuota=50%
[Install]
WantedBy = multi-user.target
EOF
systemctl daemon-reload

Configurando o FreshClam:

cole o bloco abaixo no shell:

sed -i '/^Example$/d' /etc/freshclam.conf
sed -i '/REMOVE ME/d' /etc/sysconfig/freshclam
cat << EOF > /usr/lib/systemd/system/clam-freshclam.service
# Run the freshclam as daemon
[Unit]
Description = freshclam scanner
After = network.target
[Service]
Type = forking
ExecStart = /usr/bin/freshclam -d
Restart = on-failure
IOSchedulingPriority = 7
CPUSchedulingPolicy = 5
Nice = 19
PrivateTmp = true
[Install]
WantedBy = multi-user.target
EOF
systemctl daemon-reload
freshclam
systemctl enable clam-freshclam.service
systemctl start clam-freshclam.service

Habilitar, Iniciar e verificar se está tudo ok com status:

systemctl enable clamd@scan
systemctl start clamd@scan
systemctl status clamd@scan

Instalando Dependências

yum -y install bind-utils rsync

Instalação do clamav-unofficial-sigs:

mkdir -p /usr/local/sbin/
wget https://raw.githubusercontent.com/extremeshok/clamav-unofficial-sigs/master/clamav-unofficial-sigs.sh -O /usr/local/sbin/clamav-unofficial-sigs.sh;  chmod 755 /usr/local/sbin/clamav-unofficial-sigs.sh
mkdir -p /etc/clamav-unofficial-sigs/
wget https://raw.githubusercontent.com/extremeshok/clamav-unofficial-sigs/master/config/master.conf -O /etc/clamav-unofficial-sigs/master.conf
wget https://raw.githubusercontent.com/extremeshok/clamav-unofficial-sigs/master/config/user.conf -O /etc/clamav-unofficial-sigs/user.conf

Se sua distribuição linux é CentOS 7 ou CloudLinux 7 copie e cole as instruções abaixo:

os_conf="os.centos7-atomic.conf"
wget "https://raw.githubusercontent.com/extremeshok/clamav-unofficial-sigs/master/config/os/${os_conf}" -O /etc/clamav-unofficial-sigs/os.conf


Nota: para outras distro Linux acesse o link abaixo, e em “Operating System Specific Install” , selecione a melhor opção para seu Linux.
https://github.com/extremeshok/clamav-unofficial-sigs

Antes de seguirmos para o próximo passo, vamos nos cadastrar em dois sites que oferecem excelentes assinaturas para o Clamav.

1 – MalwarePatrol Free
Crie sua conta grátis em : https://www.malwarepatrol.net/free-guard-upgrade-option/
Será exibido em seu browser “Password/Receipt:”
Guarde esta informação, precisaremos dela no próximo passo.

2 – SecuriteInfo Free
Crie sua conta grátis em : https://www.securiteinfo.com/clients/customers/signup
Você receberá um e-mail com um link para ativar sua conta, após a ativação , receberá outro email com seu usuário e senha para login no site.
Faça login e acesse : https://www.securiteinfo.com/clients/customers/account
Clique na aba Setup, verá uma URL a frente de DatabaseCustomURL
Precisamos localizar seu identificador individual que é composto por uma sequencia de 128 caracteres.
Na url a frente de DatabaseCustomURL copie a sequencia após
https://www.securiteinfo.com/get/signatures/
até “/”

Guarde esta informação, vamos utilizá-la no próximo passo.


Os outros repositórios disponíveis utilizados pelo clamav-unofficial-sigs não necessitam de cadastro, apenas para conhecimento, irei citá-los abaixo:

Yara Rules: https://github.com/Yara-Rules/rules
Urlhaus: https://urlhaus.abuse.ch/
Linux Malware Detect Assinaturas: https://www.rfxn.com/projects/linux-malware-detect/
*Veja o artigo: Como instalar e utilizar o Linux Malware Detect

** Existem na web muitas assinaturas grátis para o Clamav, porém muitas geram falso positivos na detecção do Virus/Malware.

Vamos adicionar no arquivo de configuração que iremos abordar a seguir, dois novos repositórios adicionais de assinaturas para o ClamAV.

MailOrder: https://www.mailborder.com/
MalwareExpert: https://malware.expert/


Configuração das assinaturas para o Clamav:

Edite o arquivo user.conf :

nano /etc/clamav-unofficial-sigs/user.conf

Localize e remova o # das seguintes linhas:

malwarepatrol_free="yes"
malwarepatrol_list="clamav_basic" # clamav_basic or clamav_ext
malwarepatrol_product_code="8"
malwarepatrol_receipt_code="YOUR-RECEIPT-NUMBER"

Substitua YOUR-RECEIPT-NUMBER pelo código que guardou ao seguir os passos acima em MalwarePatrol Free .

Localize e remova # da linha:

securiteinfo_authorisation_signature="YOUR-SIGNATURE-NUMBER"

Substitua YOUR-SIGNATURE-NUMBER pelo código com 128 caracteres que guardou ao seguir os passos acima em SecuriteInfo Free

Agora, vamos adicionar as assinaturas adicionais.
localize e remova o # das linhas:

#declare -a additional_dbs=(
#ftp://ftp.example.net/pub/sigs.ndb
#http://www.example.org/sigs.ldb</strong>
#)

apague as linhas em negrito acima e cole no lugar :

http://cdn.malware.expert/malware.expert.ndb
http://cdn.malware.expert/malware.expert.hdb
http://cdn.malware.expert/malware.expert.ldb
http://cdn.malware.expert/malware.expert.fp
http://sigs.mailborder.com/sigwhitelist.ign2
http://sigs.mailborder.com/sanesecurity.ftm
http://sigs.mailborder.com/junk.ndb
http://sigs.mailborder.com/jurlbl.ndb
http://sigs.mailborder.com/phish.ndb
http://sigs.mailborder.com/rogue.hdb
http://sigs.mailborder.com/scam.ndb
http://sigs.mailborder.com/spamimg.hdb
http://sigs.mailborder.com/spamattach.hdb
http://sigs.mailborder.com/blurl.ndb
http://sigs.mailborder.com/foxhole_generic.cdb
http://sigs.mailborder.com/foxhole_filename.cdb
http://sigs.mailborder.com/malwarehash.hsb
http://sigs.mailborder.com/hackingteam.hsb
http://sigs.mailborder.com/winnow_malware.hdb
http://sigs.mailborder.com/winnow_malware_links.ndb
http://sigs.mailborder.com/winnow_extended_malware.hdb
http://sigs.mailborder.com/winnow.attachments.hdb
http://sigs.mailborder.com/winnow_bad_cw.hdb
http://sigs.mailborder.com/bofhland_cracked_URL.ndb
http://sigs.mailborder.com/bofhland_malware_URL.ndb
http://sigs.mailborder.com/bofhland_phishing_URL.ndb
http://sigs.mailborder.com/bofhland_malware_attach.hdb
http://sigs.mailborder.com/crdfam.clamav.hdb
http://sigs.mailborder.com/porcupine.ndb
http://sigs.mailborder.com/porcupine.hsb
http://sigs.mailborder.com/spam.ldb
http://sigs.mailborder.com/spear.ndb
http://sigs.mailborder.com/spearl.ndb
http://sigs.mailborder.com/foxhole_js.cdb

Salve o arquivo e saia do nano : Ctrl + x e Y

Execute o Script abaixo para baixar pela primeira vez todas as assinaturas e finalizar algumas configurações. Este processo pode demorar um pouco na primeira vez, aguarde até o final .

/usr/local/sbin/clamav-unofficial-sigs.sh --force

O Script a seguir irá instalar algumas configurações relativas ao clamav-unofficial-sigs para o logrotate:

/usr/local/sbin/clamav-unofficial-sigs.sh --install-logrotate
/usr/local/sbin/clamav-unofficial-sigs.sh --install-man

O Script a seguir irá configurar o cron para atualizar suas assinaturas diariamente:

/usr/local/sbin/clamav-unofficial-sigs.sh --install-cron

Com estas novas assinaturas, a detecção de Virus, Malware, Trojan, Phishing … em seu servidor será muito mais eficiente.

1 comentário até agora

Renato Publicado em12:56 - 2 de novembro de 2020

Muito bacana. Agora o clamav ficou poderoso no meu servidor.

Deixe uma resposta