Enviado em 08/05/2019 - 10:45h
Bom dia senhores(a),
Estou iniciando meu conhecimento no assunto de Firewall em geral e estou começando o aprendizado justamente com a ferramenta Netfilter.
Antes de tudo, vou explicar o meu cenário:
Tenho um servidor WEB (apache2) rodando na distro debian9 stretch, no qual está configurado a aplicação de gestão de chamados GLPI, pretendo disponibilizar este acesso WEB para todas as nossas filiais, portanto gostaria de fazer isto de forma segura e eficiente.
Atualmente ainda não tenho um Firewall protegendo a minha borda, portanto estou criando um Firewall especificamente para proteger o servidor web, unica coisa que temos na borda é uma mikrotik que é controlada pelo nosso provedor de internet.
Segue abaixo o código do meu Firewall até o momento:
Este redirecionamento de portas tem que ser feito na borda ou no próprio firewall da aplicação? Exemplo eu poderia solicitar no momento para o meu provedor fazer o redirecionamento das solicitações externas da porta 8080 para um IP Interno, correto? Devo pedir para eles inserirem a porta especifica nesta regra ou é mais seguro eu fazer o redirecionamento de portas com um nat no netfilter conforme abaixo?
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -d $IP_EXT_FILIAL1 --dport 8080 -j DNAT --to $IP_HOST:80
Obs.: Me perdoem se a regra acima está incorreta, ainda não testei a mesma.
Existe mais alguma boa pratica para deixar este firewall mais robusto minimizando problemas de invasões?
Estou iniciando meu conhecimento no assunto de Firewall em geral e estou começando o aprendizado justamente com a ferramenta Netfilter.
Antes de tudo, vou explicar o meu cenário:
Tenho um servidor WEB (apache2) rodando na distro debian9 stretch, no qual está configurado a aplicação de gestão de chamados GLPI, pretendo disponibilizar este acesso WEB para todas as nossas filiais, portanto gostaria de fazer isto de forma segura e eficiente.
Atualmente ainda não tenho um Firewall protegendo a minha borda, portanto estou criando um Firewall especificamente para proteger o servidor web, unica coisa que temos na borda é uma mikrotik que é controlada pelo nosso provedor de internet.
Segue abaixo o código do meu Firewall até o momento:
Estive lendo sobre o assunto e identifiquei que o correto quando disponibilizado um acesso externo, o correto é disponibilizar uma porta de acesso alta e redirecionar para uma porta baixa, contudo, estou com algumas dúvidas.
#!/bin/bash
## Limpando as tabelas
iptables -F
iptables -t nat -F
iptables -t mangle -F
## Fechando as Políticas
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
## Liberando LoopBack
iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -d 127.0.0.1 -j ACCEPT
#Criar LOG de entrada de pacotes no Firewall
iptables -A INPUT -p tcp --dport 8080 -j LOG --log-prefix "Firewall.: Acesso HTTP:"
# Linha abaixo evita ataques Denial of Service (DoS)
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#Permitir conexões de entrada estabelecidas
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Liberando acesso a rede interna nas portas necessárias:
iptables -A INPUT -p tcp -s $_REDE_INTERNA --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -s $_REDE_INTERNA --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s $_REDE_INTERNA --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -s $_REDE_INTERNA --dport 3306 -j ACCEPT
#Liberando acesso a filial 1 nas portas necessárias
iptables -A INPUT -p tcp -s $IP_EXT_FILIAL1 --dport 8080 -j ACCEPT
Este redirecionamento de portas tem que ser feito na borda ou no próprio firewall da aplicação? Exemplo eu poderia solicitar no momento para o meu provedor fazer o redirecionamento das solicitações externas da porta 8080 para um IP Interno, correto? Devo pedir para eles inserirem a porta especifica nesta regra ou é mais seguro eu fazer o redirecionamento de portas com um nat no netfilter conforme abaixo?
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -d $IP_EXT_FILIAL1 --dport 8080 -j DNAT --to $IP_HOST:80
Existe mais alguma boa pratica para deixar este firewall mais robusto minimizando problemas de invasões?