iptables não registra nada

1

Estou tentando defender meu servidor (Ubuntu Lucid 10.04) de alguns ataques ssh de força bruta configurando o iptables. Eu quero registrar as correspondências para as regras DROP, mas não estava funcionando, então eu tentei o básico:

iptables -A INPUT -p tcp --dport 22 -j LOG --log-level info --log-prefix "TEST: "

Mas não registra nada! Eu tentei mudar o nível de log: debug ou 7 e adicionando kern.=debug -/var/log/firewall to /etc/syslog.conf , mas nada é gravado em /var/log/messages ou /var/log/firewall

A regra recebe algumas correspondências:

$ iptables -L -v
pkts bytes target     prot opt in     out     source               destination
44  5543 LOG        tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh LOG level debug prefix 'TEST: '

O registro do iptables não funciona tem uma solução para atualizar o rsyslog para uma versão mais recente. No entanto, de acordo com esta fonte < em> "esta solução está mexendo com o sistema de log padrão"

Alguém conhece uma solução melhor?

Se não, eu poderia tentar atualizar o rsyslog (compilar a partir do código-fonte), mas como eu posso reverter para o rsyslog padrão se ele bagunçar tudo?

EDITAR: o rsyslog descarta seus privilégios, portanto não é possível ler / proc / kmesg. Isso deve ser resolvido em novos kernels, mas infelizmente estou preso no 2.6.18.

"o fato de não ler o kmsg em kernels mais antigos é DELIBERATE e não será corrigido. "

Eu tentei deixar o rsyslog manter seus privilégios de root, alterando /etc/rsyslogd.conf

$PrivDropToUser root
$PrivDropToGroup root

Mas isso também não funciona, o que me confunde. Por que esse processo raiz não pode ler um arquivo raiz?

    
por floorish 05.06.2011 / 14:08

2 respostas

1

Você pode instalar o fail2ban e configurar a cadeia ssh para banir automaticamente os endereços IP que estão atacando o seu servidor baseado nas mensagens que o sshd coloca nos logs. Esta é uma maneira bastante padrão de fazer o que você quer.

Se você ainda não o fez, deve desativar os logins root via ssh, bem como ativar e usar a autenticação baseada em chaves.

    
por 05.06.2011 / 18:46
0

Você está definindo informações no nível do log, mas a configuração do syslog está gerando a depuração no nível do log. Altere o syslog para a saída kern.info ou sua regra do iptables para gerar uma saída para o nível de log de depuração para corresponder à sua configuração do conjunto de regras.

    
por 05.06.2011 / 14:19