paulogordom
(usa Outra)
Enviado em 01/06/2013 - 13:45h
Ai galera!
To fazendo um trab. de Faculdade e queria saber se esse scrip esta config certinho.
Script Pronto!
#!/bin/bash
#Definição das variaveis
#Caminho executaveis do iptables
IPTABLES="/usr/sbin/iptables"
#Caminho dos Modulos do iptables
MODPROBE="/sbin/modprobe"
INTERNA = "10.1.0.0/24" #ETH0 10.1.0.1
DMZ="10.0.1.0/24" #ETH1 10.0.1.254
INTERNET="200.20.20.1" #ETH2
ROTEADOR="200.20.20.2"
case "$1" in
start)
echo -e 'Iniciando Firewall Pessoal..\n'
# Precisamos carregar todos os modulos do Iptables
$MODPROBE ip_tables
$MODPROBE iptable_nat
$MODPROBE iptable_filter
$MODPROBE iptable_mangle
$MODPROBE ipt_LOG
$MODPROBE ipt_MASQUERADE
$MODPROBE ip_nat_ftp
$MODPROBE ip_conntrack_ftp
$MODPROBE ipt_REDIRECT
#Habilitando o Forward no kernel do linux
echo “1” > /proc/sys/net/ipv4/ip_forward
# Para Limpar as regras F remove as regras da tabela X Remove as chains
$IPTABLES -F
$IPTABLES -X
#Permitir a localhost acesso a tudo
$IPTABLES -A INPUT -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -j ACCEPT
#Acessar web pela rede interna na porta 8080
$IPTABLES -A INPUT -p tcp - -dport 8080 -i $INTERNA -j ACCEPT
#Acesso da rede externa para a dmz acessando serviços na porta 80
$IPTABLES -t nat -A PREROUTING -i $INTERNET -p tcp - -dport 80 -j DNAT - -to $DMZ
# Libera o acesso à Internet para Rede Interna
$IPTABLES -t nat -A POSTROUTING -s $INTERNA -o $INTERNET -j SNAT - -to $ROTEADOR
#acesso por meio do protocolo udp apenas para DNS
$IPTABLES -A INPUT -p udp -s $INTERNET -j ACCEPT
#Permitir todas conexões tcp estabelecidas e já relacionadas a alguma conexão para a máquina
$IPTABLES -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
#Negar todas as novos conexões tcp a partir de máquinas remotas, registrando as tentativas.
$IPTABLES -A INPUT -p tcp -m state --state NEW -j LOG
$IPTABLES -A INPUT -p tcp -m state --state NEW -j DROP
# Negar tudo que nao se enquadrar nas regras anteriores
$IPTABLES -A INPUT -j DROP
$IPTABLES -A FORWARD -j DROP
echo -e 'Firewall Pessoal Iniciado ..\n'
;;
stop)
echo -e 'Parando Firewall Pessoal ..\n'
# Limpando regras
$IPTABLES -F
$IPTABLES -X
;;
*)
echo "Sintaxe: $0 [ start | stop | restart ]"
;;
esac