madson0123
(usa Outra)
Enviado em 03/02/2012 - 11:52h
E ae galera,
Fiz alguns testes e cheguei em uma solução temporária/definiva ---->>> POG =].
Depois de estudar um pouco sobre alguns comandos que conhecia pouco, como o sed, awk, pra resolver meu problema, pelo menos por agora, fiz o seguinte:
1º comando:
cat /var/log/syslog | grep "FIREWALL INPUT"| awk '$12 !~ "10.10"{print $12, "\t"}' | sed "s/SRC=/ALL: /g" > /tmp/ips
Com o "cat" ele lista o que tem no syslog, depois, com o "grep", procura pelo log do iptables cujo bloqueio foi feito na chain INPUT, depois com o awk, ele imprime a 12ª coluna ($12) somente se for diferente de 10.10 (minha rede interna) e por último com o "sed", ele substitui todos os registros "SRC=" por "ALL: " e joga no arquivo "/tmp/ips".
2º comando:
Não enviei o resultado direto pro arquivo definitivo, porque tinham muitos registros repetidos, então, peguei esse script do @Gabriel, que por sinal é muito útil:
http://www.vivaolinux.com.br/script/Localizar-e-excluir-linhas-repetidas-em-um-arquivo-texto
Nele fiz algumas modificações pra se adequar às minhas necessidades, como o arquivo onde ele pega as informações é o meu arquivo criado anteriormente "/tmp/ips" e ele joga as informações no "/etc/hosts.deny". Com isso consegui bloquear os ips que tentavam acessar minha rede através de portas bloqueadas.
Depois coloquei no "crontab" para que ele fizesse isso automático pra mim.
É muito provável que tenham diversos programas que já façam isso, como o fail2ban, mas nesse caso, tive algumas dificuldades em configurá-lo, então meti a mão na massa =].
Caso alguém tenha alguma sugestão, estou no aguardo.