Como forçar o vsftpd a registrar o endereço IP numérico nas tentativas de conexão?

1

Analisando meus arquivos de log, vejo tentativas não autorizadas repetidas de fazer login no meu servidor FTP. O sistema usa o rDNS para me dar um nome de host do usuário remoto, e se o rDNS der uma resposta - até mesmo um nome de host em um TLD inexistente! - então, não registra o endereço IP numérico. Eu estou tentando configurar fail2ban para jail o IP, mas eu não posso prender (por exemplo) hn.kd.ny.adsl porque ele não existe. (Além disso, há a possibilidade óbvia de dano se alguém apontar seu rDNS para algum nome de host FQDN não relacionado que existe.) Idealmente, eu gostaria de registrar o IP e o nome, mas se eu tiver que escolher, devo ter o IP bruto.

Estou no CentOS 6 (no processo de atualização para o CentOS 7). Aqui está o meu vsftpd.conf , omitindo comentários:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
    
por Linc Madison 10.03.2017 / 02:36

1 resposta

0

Isso é chato e não consegui encontrar uma solução simples. Eu acho que o formato xferlog é para compatibilidade com o wu_ftp.

De acordo com o wiki do fail2ban , é isso que você precisa fazer:

Configure o VSFTP para "dual_log_enable = YES" e tenha o fail2ban watch /var/log/vsftpd.log em seu lugar. Este arquivo de log mostra o endereço IP de entrada em vez do nome DNS.

O que me deixa irritado ainda é a latência de procurar o ponteiro inverso, que depende do tempo limite da pesquisa de DNS. Se a transferência de vários milhares de arquivos e você não tiver nenhum ponteiro reverso, ou nenhum servidor DNS definido para o bloco in-addr, cada transferência aguardará o tempo limite do DNS?

    
por 10.03.2017 / 08:38