Faça com que o iptables execute o comando / script na nova tentativa de conexão [duplicado]

1

Como o iptables pode executar um comando ou script em uma nova tentativa de conexão?

Requisito:

Pacote externo para (interface do servidor eth0) --- > Tabela de entrada (Server interface eth0) detecta novo pacote recebido na porta 22 - > iptables executa um comando ou script

Me pensa, até agora, por exemplo:

iptables -A INPUT -i eth0 -p tcp --dport 22 -s xxx.xxx.xxx.xxx/24 -d xxx.xxx.xxx.xxx/32 -m state --state NEW (then do something here like run a script or command (but how?) ) -j ACCEPT

Leitura adicional de uma pergunta semelhante com duas respostas:

Execute o shell script baseado na tentativa de acesso à porta IPTABLES

    
por Yellow Bellied Brave 11.10.2015 / 21:58

1 resposta

6

Eu não acho que iptables tenha essa capacidade. Eu acho que sua melhor aposta é:

  1. configure o log especial para iptables ( -j LOG --log-prefix "NEW_CONN_ATTEMPT " )
  2. monitor log com tail
  3. execute seu comando quando uma correspondência for encontrada

Para 2 e 3, um oneliner como este faria o truque:

tail -f /var/log/firewall.log | awk '/NEW_CONN_ATTEMPT/ {system("/usr/local/bin/script.sh")}'
    
por 11.10.2015 / 22:15

Tags