Aqui falaremos sobre os procedimentos que utilizamos para instalar o ASSP sobre o CentOS (sugerimos que leiam nosso artigo sobre nossa Instalação Padrão do CentOS 7, disponível também nas referências abaixo). Antes de iniciar esse procedimento, recomendamos uma lida em nosso artigo (neste link, ou nas referências abaixo) comparando algumas soluções AntiSpam, para lhe ajudar a decidir se esta solução é a melhor para seu caso.

Lembre-se de alterar as partes em cinza para o padrão de sua empresa.

Após o SO instalado, para poder conectar via ssh e executar os commandos mínimos execute como root:

yum install gcc vim open-vm-tools unzip ntp net-tools wget telnet rsync -y
  • Criar o Servidor. Estes procedimentos foram baseados na versão ASSP 2.6.1, caso queira usar outra versão, acesse https://sourceforge.net/projects/assp/ e use a versão desejada. Lembre-se de verificar o nome DNS que será usado e adaptar a este manual (que aqui será usado como: antispam.suaempresa.com.br), caso o endereço seja diferente altere em todos os locais com o mesmo realce de cor cinza.
  • Instalando o antivírus ClamAV. Para instalar, configurar e colocar sua inicialização automática, execute:
yum install clamav clamav-devel clamav-scanner-systemd clamav-server clamav-server-systemd clamav-update --enablerepo=fedora-source -y

cp /usr/share/clamav/template/clamd.conf /etc/clamd.conf
sed -i '/^Example/d' /etc/clamd.conf
sed -i 's/User <USER>/User root/g' /etc/clamd.conf
sed -i 's/\#LocalSocket \/var\/run\/clamd.<SERVICE>\/clamd.sock/LocalSocket \/var\/run\/clamd\/clamd.sock/g' /etc/clamd.conf
sed -i 's/\#PidFile \/var\/run\/clamd.<SERVICE>\/clamd.pid/PidFile \/var\/run\/clamd\/clamd.pid/g' /etc/clamd.conf
sed -i 's/\#LogFileMaxSize 2M/LogFileMaxSize 2M g' /etc/clamd.conf
sed -i 's/\#LogRotate yes/#LogRotate yes/g' /etc/clamd.conf
sed -i 's/\#TemporaryDirectory \/var\/tmp/TemporaryDirectory \/tmp/g' /etc/clamd.conf
sed -i 's/\#IdleTimeout 60/IdleTimeout 60/g' /etc/clamd.conf
sed -i '/^Example/d' /etc/freshclam.conf
sed -i 's/#LogFileMaxSize 2M/LogFileMaxSize 2M/g' /etc/freshclam.conf
sed -i 's/#LogRotate yes/LogRotate yes/g' /etc/freshclam.conf

vim /usr/lib/systemd/system/clam-freshclam.service

Aperte a tecla INSERT do teclado para entrar em modo de edição e deixa-lo da seguinte forma:

# Run the freshclam as daemon
[Unit]
Description = freshclam scanner
After = network.target[Service]
Type = forking
ExecStart = /usr/bin/freshclam -d -c 4
Restart = on-failure
PrivateTmp = true

[Install]
WantedBy=multi-user.target

Ao final, pressionar a tecla ESC para sair do modo de edição, digitar :wq! e pressionar ENTER para sair e salvar. Em seguida, execute:

systemctl enable clam-freshclam.service
systemctl start clam-freshclam.service

echo "[Unit]" > /usr/lib/systemd/system/clamd.service
echo "Description = clamd scanner daemon" >> /usr/lib/systemd/system/clamd.service
echo "After = syslog.target nss-lookup.target network.target" >> /usr/lib/systemd/system/clamd.service
echo "" >> /usr/lib/systemd/system/clamd.service
echo " [Service] " >> /usr/lib/systemd/system/clamd.service
echo "Type = simple" >> /usr/lib/systemd/system/clamd.service
echo "ExecStart = /usr/sbin/clamd -c /etc/clamd.conf" >> /usr/lib/systemd/system/clamd.service
echo "Restart = on-failure" >> /usr/lib/systemd/system/clamd.service
echo "PrivateTmp = true" >> /usr/lib/systemd/system/clamd.service
echo "" >> /usr/lib/systemd/system/clamd.service
echo " [Install] " >> /usr/lib/systemd/system/clamd.service
echo "WantedBy=multi-user.target" >> /usr/lib/systemd/system/clamd.service

sed -i "s/clamd@.service/clamd.service/g" /usr/lib/systemd/system/clamd@scan.service

systemctl enable clamd.service
systemctl enable clamd@scan.service

systemctl start clamd.service
systemctl start clamd@scan.service
  • Instalando os requisitos do ASSP. Para instalar, execute:
yum install deltarpm openssl-devel perl-CPAN -y 

cpan -i Archive::Extract Archive::Tar Archive::Zip Authen::SASL BerkeleyDB Compress::Zlib Convert::Scalar Convert::TNEF Crypt::CBC Crypt::OpenSSL::AES Digest::MD5 Digest::SHA1 Email::MIME Email::MIME::Modifier Email::Send Email::Valid File::ReadBackwards File::Scan::ClamAV File::Scan::ClamAV IO::Socket::SSL IO::Socket::INET6 IO::Socket::SSL Lingua::Identify Lingua::Stem::Snowball LWP::Simple Mail::DKIM::Verifier Mail::SPF Mail::SPF::Query Mail::SRS MIME::Types Net::CIDR::Lite Net::DNS Net::IP Net::IP::Match::Regexp Net::LDAP Net::SenderBase Net::SMTP::SSL Net::Syslog Number::Compare PerlIO::scalar Regexp::Optimizer Schedule::Cron Schedule::Cron::Events Sys::CpuAffinity Sys::MemInfo Sys::Syslog Text::Glob Text::Unidecode Thread::Queue Thread::State threads threads::shared Tie::DBI Time::HiRes Unicode::GCString

cpan -i Net::SNMP

yum install net-snmp-perl --enablerepo=fedora-source -y

cpan -i NetSNMP::agent
  • Instalando o ASSP: Para instalar o ASSP, baixe a versão mais recente e salve na pasta /tmp. Sem seguida, execute:
cd /tmp/
unzip ASSP*.zip

mv assp /usr/local/
mkdir -p /usr/local/assp/spam
mkdir -p / usr/local/assp/notspam
mkdir -p /usr/local/assp/errors/spam
mkdir -p /usr/local/assp/errors/notspam

perl /usr/local/assp/assp.pl

Acesse o assp http://IP_SERVER:55555, (usuário root e senha nospam4me) configure o seguinte:

– Na seção General Server Setup alterar a opção Run ASSP as a Daemon para Yes – Externally Controlled. Em seguida clique no botão inferior Apply Changes;
– Na seção Network Setup for Incoming Mail and Authentication Network Flow, alterar a opção SMTP Destination para o IP do servidor Exchange na porta 25, em caso de múltiplos servidores devem ser separados por um pipe (por exemplo 3.0.40:25|seu_IP:25);
– Na seção TestModes and SPAM Tagging, habilite todos os módulos;
– Na seção SNMP Configuration, alterar para enable;
– Em seguida clique no botão inferior Apply Changes e execute o comando:

vim /etc/systemd/system/assp.service

Aperte a tecla INSERT do teclado para entrar em modo de edição e deixa-lo da seguinte forma:

[Unit]
Description=AntiSpam SMTP Proxy
After=network.target[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/perl /usr/local/assp/assp.pl /usr/local/assp/
ExecStop=/usr/bin/kill `ps -aux | grep “/usr/bin/perl /usr/local/assp/assp.pl” | grep -v grep | awk ‘{ print $2
}’`

[Install]
WantedBy=multi-user.target

Ao final, pressionar a tecla ESC para sair do modo de edição, digitar :wq! e pressionar ENTER para sair e salvar. Em seguida, execute:

systemctl enable assp.service
systemctl start assp.service
  • Configurando o Postfix: A aplicação ASSP tem a necessidade realizar o envio de notificações de e-mail. Para configurar este serviço siga as etapas abaixo:
sed -i "s/smtp      inet  n       -       n       -       -       smtpd/localhost:125 inet  n       -       n       -       -       smtpd/g" /etc/postfix/master.cf

cp -R /etc/postfix/main.cf /etc/postfix/main.cf.bkp

echo "# CONFIGURACAO PADRAO" >> /etc/postfix/main.cf
echo "" >> /etc/postfix/main.cf
echo "biff = no" >> /etc/postfix/main.cf
echo "append_dot_mydomain = no" >> /etc/postfix/main.cf
echo "readme_directory = no" >> /etc/postfix/main.cf
echo "myhostname = antispam.suaempresa.com.br" >> /etc/postfix/main.cf
echo "mydomain = suaempresa.com.br" >> /etc/postfix/main.cf
echo "myorigin = $mydomain" >> /etc/postfix/main.cf
echo "mydestination = `echo hostname | tr 'A-Z' 'a-z'`, localhost.suaempresa.com.br, localhost" >> /etc/postfix/main.cf
echo "relayhost = antispam.suaempresa.com.br" >> /etc/postfix/main.cf
echo "mynetworks = 127.0.0.0/8 seu_IP" >> /etc/postfix/main.cf
echo "mailbox_command = procmail -a \"$EXTENSION\"" >> /etc/postfix/main.cf
echo "recipient_delimiter = +" >> /etc/postfix/main.cf

Fontes/Referências

NVLAN – Comparativo Soluções Mail Gateway/Antispam OpenSource (gratuitas)
NVLAN – Instalação padrão do CentOS7

Mais Informações

Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.

Entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria