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