Fiz um malabarismo aqui.

Estou usando o BruteBlock como antispammer

Para quem não conhece o BruteBlock, ele é um programa que está nos ports
feito para trabalhar com o syslogd. O syslogd passa para ele alguns dos logs,
e ele analisa segundo uma expressão regular. Se bater com a expressão, ele
armazena o IP (que é pego como parte da expressão regular), e se aparecer
mais que algumas vezes em um certo prazo de tempo, o que é configurável,
ele coloca o IP em uma table do IPFW. Ele foi concebido para bloquear quem
tenta força bruta no ssh e no ftp.

Eu tive uma sacada diferente. Com o IPFW pode-se fazer regras que gerem
log, mesmo que seja a de contagem. Então puz uma destas. Configurei o
syslogd para repassar os logs do firewall, e configurei o bruteblock para as
regras de firewall. Depois de 20 conexões de envio de e-mail em um minuto
eu coloco o IP em  uma lista negra. Claro que os parâmetros são configuráveis.

Abaixo vão os detalhes de configuração:

Coloque a seguinte linha no syslogd.conf:

security.* | exec /usr/local/sbin/bruteblock -f
/usr/local/etc/bruteblock/spam.conf

Atenção, eu coloquei logo depois da linha:

security.*                                      /var/log/security

E tem que ser antes de qualquer !programa.

O arquivo /usr/local/etc/bruteblock/spam.conf vai abaixo:

"
regexp          = kernel. ipfw. .* Count TCP
(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):.*:25


# Number of mail connections attempts within time before we block
max_count       = 20

# Time in seconds in which all attempts must occur
within_time     = 60

# Time in seconds to block ip in firewall

# 4 Hours
reset_ip       = 14400

# IPFW table number to add spammers users
ipfw2_table_no = 0

"

E agora vem a parte de detecção. Coloque a seguinte regra no seu firewall,
na interface que lida com os usuários internos, e com o número adequado.

ipfw add <n> count log logamount 10000 tcp from any to any dst-port 25 setup

Não pode esquecer a flag setup, pois isto terá conseqüências desastrosas, e
tem que colocar uma regra para dar deny na tabela que você está jogando os
spammers da sua rede.

Periodicamente você terá que dar um resetlog, ou zerar os contadores, da
regra de contagem mostrada acima.


Abraços,
    João Rocha.


-- 
"Sempre se apanha mais com as menores besteiras. Experiência própria."

[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://www.goffredo.eti.br
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

Responder a