Estou montando um servidor rodando o Debian Jessie com alguns aplicativos como o iptables firewall, o fail2ban, o openvpn, o apache, ...
O firewall iptables é configurado no caminho, que registra todos os pacotes que são descartados. Um pequeno trecho da configuração do iptables:
...
-A INPUT -m comment --comment "003 accept related established rules IPv4" -m state --state RELATED,ESTABLISHED -j ACCEPT
...
-A INPUT -p tcp -m multiport --dports 1194 -m comment --comment "303 allow incoming OpenVPN" -m state --state NEW -j ACCEPT
...
-A INPUT -m comment --comment "900 IPv4 log dropped input chain" -j LOG --log-prefix "[IPTABLES INPUT IPv4] DROP " --log-level 6
-A INPUT -m comment --comment "910 IPv4 deny all other input requests" -j DROP
O OpenVPN (que usa a porta 1194) funciona bem. Posso conectar, usar a conexão e trabalhar por horas, até o momento em que preciso transferir uma quantidade maior de dados. Neste ponto, algumas linhas como as seguintes aparecem no log:
Mar 02 20:39:27 rs3 kernel: [IPTABLES INPUT IPv4] DROP IN=eth0 OUT= MAC=ae:12:7b:9b:5d:e4:00:15:c7:c9:45:80:08:00 SRC=<MyIPAddress> DST=<ServerIPAddress> LEN=40 TOS=0x00 PREC=0x00 TTL=55 ID=20713 DF PROTO=TCP SPT=61941 DPT=1194 WINDOW=3040 RES=0x00 ACK URGP=0
Mar 02 20:39:27 rs3 kernel: [IPTABLES INPUT IPv4] DROP IN=eth0 OUT= MAC=ae:12:7b:9b:5d:e4:00:15:c7:c9:45:80:08:00 SRC=<MyIPAddress> DST=<ServerIPAddress> LEN=40 TOS=0x00 PREC=0x00 TTL=55 ID=20718 DF PROTO=TCP SPT=61941 DPT=1194 WINDOW=3040 RES=0x00 ACK URGP=0
Mar 02 20:39:27 rs3 kernel: [IPTABLES INPUT IPv4] DROP IN=eth0 OUT= MAC=ae:12:7b:9b:5d:e4:00:15:c7:c9:45:80:08:00 SRC=<MyIPAddress> DST=<ServerIPAddress> LEN=40 TOS=0x00 PREC=0x00 TTL=55 ID=20719 DF PROTO=TCP SPT=61941 DPT=1194 WINDOW=3040 RES=0x00 ACK URGP=0
[Esses logs são coletados do fail2ban e o servidor fecha a conexão com meu computador local.]
P: Por que esses pacotes são descartados (e registrados)? Isso significa: por que esses pacotes não são processados pela regra 'RELATED, ESTABLISHED'?
O que eu fiz até agora: ler documentação, pensar sobre o problema ;-), verificar as regras várias vezes, pesquisei na Internet - mas sem nenhum resultado.
Editar: talvez isso seja importante: a lista DROP criada pelo fail2ban tem cerca de 500 entradas.
Edit: Eu quero saber o motivo (é por isso que estou usando 'Por que' na minha pergunta). Não estou interessado em soluções alternativas.
Editar: Esse comportamento não está limitado ao OpenVPN, usar outros protocolos (por exemplo, ssh) tem o mesmo problema.
Editar: Para dar uma impressão, dê uma olhada na captura de tela do wireshark: o pacote em destaque foi descartado / registrado - todos os outros pacotes da captura de tela não.
Aqui está o log apropriado:
Mar 03 10:16:23 rs3 kernel: [IPTABLES INPUT IPv4] DROP IN=eth0 OUT= MAC=ae:12:7b:9b:5d:e4:00:15:c7:c9:45:80:08:00 SRC=<MyIPAddress>.117 DST=<ServerIPAddress>.116 LEN=40 TOS=0x00 PREC=0x00 TTL=55 ID=11550 DF PROTO=TCP SPT=63526 DPT=1194 WINDOW=32038 RES=0x00 ACK URGP=0
Eu usei o ID do IP (11550) para encontrar o pacote no wireshark. E este é o único pacote IP com este ID.
Editar: o IP do servidor é um IP fixo. Meu endereço IP atribuído dinamicamente não foi alterado durante o teste. As conexões são iniciadas pelo computador local em direção ao servidor. A configuração é a seguinte:
================= =================== ===============
| LocalComputer | ---- | NAT Router .117 | ---- | Server .116 |
================= =================== ===============
Private IP Dynam. Assigned Fixed IP
but fixed during test