alexmercatto
(usa Debian)
Enviado em 05/04/2015 - 12:09h
Olá pessoal,
criei o script de firewall abaixo em um servidor Linux rodando uma aplicacao, meu intuito é blindar esta maquina e liberar apenas o acesso a quatro diferentes redes remotas;
Queria ouvir dos colegas comentarios no sentido de melhorias ou correcoes.
Segue o Script:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#!/bin/bash
#
# Apagando todas as regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
#
# Mudando a politica - bloqueando tudo
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#
#Variaveis de portas
PORTAS_TCP="22,80,21,23,139,445,443,587"
PORTAS_UDP="53,137,138,30606"
#
# Libera conexões pre-estabelecidas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#
#Abrindo portas especificas
iptables -A INPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
iptables -A FORWARD -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
#
iptables -A INPUT -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT
iptables -A FORWARD -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT
#
#
# Liberar HTTPS -
iptables -A OUTPUT -p tcp -d xx.xx.xx.xx --dport 443 -m state --state NEW -j ACCEPT
#
# Liberar HTTP -
iptables -A OUTPUT -p tcp -d xx.xx.xx.xx --dport 80 -m state --state NEW -j ACCEPT
#
# Liberar DNS
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
#
#liberando acesso das redes de cada escritório (são 4)
iptables -A INPUT -p tcp --syn –s IP_escritorio_1 -j ACCEPT
iptables -A INPUT -p tcp --syn –s IP_escritorio_2 -j ACCEPT
iptables -A INPUT -p tcp --syn –s IP_escritorio_3 -j ACCEPT
iptables -A INPUT -p tcp --syn –s IP_escritorio_4 -j ACCEPT
#
#
iptables -A OUTPUT -p tcp --syn –s IP_escritorio_1 -j ACCEPT
iptables -A OUTPUT -p tcp --syn –s IP_escritorio_2 -j ACCEPT
iptables -A OUTPUT -p tcp --syn –s IP_escritorio_3 -j ACCEPT
iptables -A OUTPUT -p tcp --syn –s IP_escritorio_4 -j ACCEPT
#
#
iptables -A FORWARD -p tcp --syn -s IP_escritorio_1 -j ACCEPT
iptables -A FORWARD -p tcp --syn -s IP_escritorio_2 -j ACCEPT
iptables -A FORWARD -p tcp --syn -s IP_escritorio_3 -j ACCEPT
iptables -A FORWARD -p tcp --syn -s IP_escritorio_4 -j ACCEPT