Ver Resposta Única
Antigo 02-07-2008, 18:31   #38 (permalink)
Padrão

Citação:
Postado Originalmente por Magnun Ver Post
Aeee.... Não conheço esse comando, mas se ele for igual ao uptate-rc.d ele põe esse script pra ser rodado em todos os rcs. Provavelmente tem alguma diferença de serviços do rc entre Debian e OpenSuSe...

Ok, fiz esse script ontem de noite bem rápido. Ele não é perfeito nem o mais seguro, mas já é alguma coisa! Como disse fiz ele correndo, podem haver algum erro... Mas qualquer coisa agente resolve...

Código:
#!/bin/bash 
eth_ext=
eth_int=
rede_interna=
#################################
######### Inicialização #########
#################################
 
# limpando as tabelas
iptables -F 
iptables -t nat -F 
iptables -t mangle -F 
 
# Ativando o roteamento 
echo 1 > /proc/sys/net/ipv4/ip_forward 
 
#################################
#########  Proteções ############
#################################
 
# Protege contra os "Ping of Death" 
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT 
 
# Protege contra os ataques do tipo "Syn-flood, DoS, etc" 
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT 
 
# Protege contra port scanners
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT 
 
# Mascarando a rede 
iptables -t nat -A POSTROUTING -s 10.83.96.0/24 -o eth0 -j MASQUERADE 
 
# libera acesso interno da rede 
iptables -A INPUT -p tcp --syn -i eth1 -j ACCEPT 
iptables -A OUTPUT -p tcp --syn -i eth1 -j ACCEPT 
iptables -A FORWARD -p tcp --syn -i eth1 -j ACCEPT 
 
# Políticas Padrões
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
 
 
#################################
#####  Regras de filtragem ######
#################################
 
#### Chain INPUT ####
# Libera interface de loopback
iptables -A INPUT  -i lo -j ACCEPT
 
# Libera entrada de pacotes de conexões estabelecidas
iptables -A INPUT -i $eth_ext -m state --state ESTABLISHED,RELATED -j ACCEPT
 
# Libera entrada de pacotes de novas conexões
iptables -A INPUT -i $eth_int -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
 
# Todo tráfego vindo da rede interna também é aceito
iptables -A INPUT -s $rede_interna -i $eth_int -j ACCEPT
 
#### Chain OUTPUT ####
 
#### Chain FORWARD ####
#Libera forwarding da rede interna pra internet
iptables -A FORWARD -s $rede_interna -i eth_int -o eth_ext -j ACCEPT
 
#Libera forwarding da internet pra rede interna 
iptables -A FORWARD -d $rede_interna -i eth_ext -o eth_int -j ACCEPT
 
 
#################################
######## Regras de NAT ##########
#################################
 
#### Chain PREROUTING ####
 
 
#### Chain POSTROUTING ####
#Bloqueia acessos à web que não sejam atraves do Squid
iptables -t nat -A POSTROUTING -s $rede_interna -o eth_ext -p tcp --dport 80 -j DROP
 
#Regra de NAT
iptables -t nat -A POSTROUTING -s $rede_interna -o eth_ext -j MASQUERADE
 
#### Chain OUTPUT ####
Só preenche as variáveis do início, por exemplo:
eth_ext=eth1
eth_int=eth0
rede_interna=192.168.1.0/24

Qualquer coisa posta ai...
Se alguém tiver alguma crítica ou sugestão ao script posta também!

Tenho que trabalhar... Fui...
Obrigadão magnun, coloquei esse script que você montou ai, agora estou com uma dúvida nessa linha que coloquei em vermelho ai no seu post, esse IP eh da rede interna????

Se for já mudei pra minha rede, vou fazer uns testes aqui e posto o resultado!!!

Grato!!!
__________________
Todo homem tem 4 grandes sonhos:
1 - ser tão bonito quanto a mãe acha que ele é.
2 - ter tanto dinheiro quanto o filho dele acha que ele tem.
3 - ter tantas mulheres quanto a mulher dele acha que ele tem.
E...
4 - ser tão bom de cama como ele acha que é.

xD
maverickv12
 
Avatar de maverickv12
 
Registrado em: Oct 2007
Localização: Minas Gerais
Posts: 76
Agradeceu: 28
Agradecido 1 vez em 1 Post
Reputação: 22 maverickv12
maverickv12 está offline