Meu servidor de aplicativos está em uma rede protegida por um firewall de toda a organização e meu servidor também está usando fail2ban
. Dito isso, gostaria de configurar uma camada adicional de proteção com iptables
. Estou tendo um pequeno problema com minha configuração - especificamente acessando conteúdo externo do servidor de aplicativos.
Requisitos:
- Negar acesso a todos e permitir um intervalo de IP específico (4.3.2. *)
- Capacidade de recuperar conteúdo externo do servidor de aplicativos
Knowns:
- O IP do servidor de aplicativos é 1.2.3.4
- O IP estático do meu laptop é 4.3.2.1
O que eu tentei:
Começando com uma baunilha iptables
config que permite o tráfego pelas portas 22, 80 e 443, adicionei o seguinte.
# allow traffic from a specific IP range
iptables -A INPUT -s 4.3.2.0/24 -j ACCEPT
# allow traffic over LDAP port
iptables -A INPUT -p tcp --dport 636 -j ACCEPT
# keep existing traffic
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# deny all traffic
iptables --policy INPUT DROP
Salvei essa configuração usando service iptables save
e reinicie o serviço.
Aqui está iptables -L -v -n --line-numbers
Chain INPUT (policy DROP 461 packets, 81259 bytes)
num pkts bytes target prot opt in out source destination
1 11835 1095K fail2ban-SSH tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
2 2972K 1083M ACCEPT all -- * * 4.3.2.0/24 0.0.0.0/0
3 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:636
4 3747K 436M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 89676 packets, 26M bytes)
num pkts bytes target prot opt in out source destination
Chain fail2ban-SSH (1 references)
num pkts bytes target prot opt in out source destination
1 11776 1092K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Problema:
Não consigo acessar o conteúdo externo com o conjunto de regras acima. A política padrão de OUTPUT é ACCEPT, então não tenho certeza de qual poderia ser o problema. Eu testei isso a partir do próprio aplicativo e simplesmente indo para o comando e usando o link do Lynx. Se eu alterar a política INPUT padrão para ACCEPT, o lynx poderá acessar o conteúdo. E quanto à política INPUT está impedindo o conteúdo de carregar?