andrecanhadas
(usa Debian)
Enviado em 06/02/2012 - 16:21h
andrecanhadas escreveu:
caio.thimons escreveu:
lembrando que o meu firewal esta desativado...
estou usando esse iptables...
quando o sistema reinicia, coloco aquele comando do iptables-restore, nisso ele restora o sistema salvo na pasata /etc/
se vc tiver um scrip melhor eu agradeceria...
Na realidade vc esta salvando as regras e restaurando elas depois.
Vou passar um script basico e vc implementa ele de acordo com sua rede.
baseado em ETH1=Internet e ETH0=Rede local
1 - Crie um arquivo dentro de /usr/local/bin com nome de firewall.sh
2 - Cole o script e salve.
3 - Permissão de executar:
chmod +x usr/local/bin/firewall.sh
4 - edite o arquivo /etc/rc.local e insira a linha:
usr/local/bin/firewall.sh
Assim toda vez que iniciar o servidor ele iniciara o firewall automaticamente ou manualmente digitando firewall.sh
############# Script###########
################################################################################
#################### Inicio Firewall ###########################################
################################################################################
echo"## Limpando as Regras existentes #######"
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -Z
echo"## Definindo politica padrão (Nega entrada e permite saida)"
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
################################################################################
######################## Protege contra ataques diversos #######################
################################################################################
###### Protege contra synflood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
###### Protecao contra ICMP Broadcasting
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
###### Prote.. Contra IP Spoofing
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
###### Protecao diversas contra portscanners, ping of death, ataques DoS, pacotes danificados e etc.
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-reply -m limit --limit 1/s -j DROP
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -N VALID_CHECK
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
################################################################################
############################ Input Rede Interna #################################
################################################################################
## Estabelece relação de confiança entre maquinas da rede local eth0(rede local)
iptables -A INPUT -i eth0 -s 10.0.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state NEW -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
################################################################################
############################ Liberando o INPUT #################################
################################################################################
echo "liberando o INPUT externo"
iptables -A INPUT -i eth1 -p tcp -m multiport --dport 1050,8086,80 -j ACCEPT
################################################################################
############################ Redirecionamentos #################################
################################################################################
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 1050 -j DNAT --to-destination 10.0.0.50:1050
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 8086 -j DNAT --to-destination 10.0.0.153:8086
################################################################################
############################ Drop Input #################################
################################################################################
echo"## Fechando portas não abertas acima ##"
iptables -A INPUT -i eth1 -j REJECT
################################################################################
############################ Compartilhamento Internet #########################
################################################################################
echo"Compartilhando Internet"
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
echo"Firewall Ativo"
################################################################################
######################################## Fim ###################################
################################################################################