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

1

Existe uma maneira no Linux (RHEL 5-6) usando IPTABLES, que se alguém tentou acessar a porta 21, como um usuário de FTP, para registrar o nome de usuário que eles estão tentando autenticar como e, adicionalmente, executar um script de shell passando esse nome de usuário como o primeiro arg para o script? O que eu quero fazer idealmente é o e-mail com o ID do usuário informando o novo método de acesso a esse servidor, que é o SFTP apenas agora.

    
por Gregg Leventhal 11.02.2014 / 20:32

2 respostas

0

Você pode usar o knockd para ouvir a porta 21 e executar um comando quando uma única conexão for tentada.

Em seguida, a configuração seria algo como isto

[openSSH]
    sequence    = 21
    seq_timeout = 5
    command     = /path/to/script
    tcpflags    = syn

O script precisaria obter o ID do usuário do arquivo de log do servidor ftp.

    
por 12.02.2014 / 02:22
0

O que o iptables faz é não aceitar os segmentos (pacotes de dados enviados pela rede) pedindo a abertura de uma conexão, então não há como perguntar quem está do outro lado. O pacote tcpwrappers foi usado para fazer tais travessuras (registrar a origem das conexões, perguntar quem está do outro lado,. ..) juntamente com inetd , mas a maior parte de sua funcionalidade foi absorvida em substituições como xinetd(8) . Deve ser possível configurar algo, mas provavelmente você não encontrará pacotes pré-compilados (não está presente no Fedora 19, por exemplo).

Mas tenha cuidado com o que você está tentando fazer, a outra extremidade da conexão está (por definição) completamente fora de seu controle, eles podem mentir através de seus dentes sem que você tenha nenhuma maneira de descobrir.

    
por 12.02.2014 / 02:44