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?