feliperossi
(usa Debian)
Enviado em 12/05/2008 - 11:19h
GALERA NAO FIZ DE TUDO, TENTEI DE TUDO
NAO TEM MAIS JEITO UEHUEUEH
MEU SERVIDOR DE FIREWALL NAO LIBERA ACESSO A NET
NA REDE, NAO TEM MAIS NDA NO SERVIDOR SOH FIREWALL RODANDO
bom vo explicar certinho tudo q se passa primeiro::
- uma maquina rodando soh firewall
- 2 placas de redes
- na eth0 vem o cabo direto do modem
- na eth1 vai pro switch distribuir na rede
o negocio eh o seguinte a rede nao acessa a net,
nem com reza brava, jah a maquina firewall acessa normal
VO MANDAR AI MEU SCRIPT DE FIREWALL
ME AJUDEM NAO SEI MAIS O Q FAZER E MEU CHEFE TA PELA BOA COMIGO
#!/bin/bash
#
# chkconfig: 2345 03 92
# description: Regras de firewall
#
#######################################
# Define variaveis
#######################################
WAN=eth0
LAN=eth1
REDE=192.168.1.0/24
#http,https,dns,smtp,pop3,ssh,ftp,jabber,jabber/s
SRV_TCP=80,443,53,25,110,22,21,5222,5223
SRV_UDP=53
IPT=/sbin/iptables
case $1 in
start)
echo "iniciando Firewall"
echo 1 > /proc/sys/net/ipv4/ip_forward
#######################################
# Define politicas default
#######################################
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
#######################################
# Limpa todas as regras
#######################################
$IPT -t filter -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -t raw -F
#########################################
# Liberar pacotes pertencentes a conexões
# permitidas
#########################################
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#########################################
# Liberar acessos da rede interna
#########################################
######## opcao 1 ########################
######## negar acesso a alguns servicos
######## e liberar o restante
#########################################
# Liberar tudo p/ o boss
#$IPT -A FORWARD -m mac --mac -source 00:11:D8:E6:5F:D4 -s 192.168.1.25 -j ACCEPT
### Negar acesso ao msn
#$IPT -A FORWARD -p tcp --dport 1863 -j DROP
#$IPT -A FORWARD -p tcp -m string --algo bm --from 40 --to 60 --string VER -j DROP
### Negar acesso ao googletalk
### Liberar primeiro servidor jabber da empresa(200.10.10.1)
#$IPT -A FORWARD -p tcp -m multiport -d 200.10.10.1 --dports 5222,5223 -j ACCEPT
#$IPT -A FORWARD -p tcp -m multiport --dports 5222,5223 -j DROP
### Liberar acessos restritos p/ o povo
#$IPT -A FORWARD -s 192.168.1.0./24 -i $SRV_TCP -j ACCEPT
##############################################
######## opcao 2 #############################
######## liberar acesso a alguns servicos
######## e negar o restante (politica default)
##############################################
$IPT -A FORWARD -s $WAN -p tcp -m multiport --dports 21,22,53,443,80,110 -j ACCEPT
#$IPT -A FORWARD -s $wAN -p udp -m udp --dport 53 -j ACCEPT
#$IPT -A FORWARD -d $wAN -p udp -m udp --sport 53 -j ACCEPT
#############################################
#$IPT -A OUTPUT -p tcp -m multiport --dports 21,25,53,80,110,443 -j ACCEPT
#$IPT -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
#$IPT -A INPUT -p udp -m udp --sport 53 -j ACCEPT
#### Liberar acesso ao proxy (local)
$IPT -A INPUT -s $WAN -i $REDE -p tcp -m tcp --dport 3128 -j ACCEPT
##############################################
# IMPEDIMOS QUE UM ATACANTE POSSA MALICIOSAMENTE ALTAERA ALGUMA ROTA
##############################################
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo "Impedimos alterar alguma rota .......................[ OK ]"
#############################################
#CONTRA TROJANS
#############################################
$IPT -A INPUT -p TCP -i eth0 --dport 21 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 22 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 199 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 443 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 2049 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 53 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 23 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 666 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 4000 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 6000 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 6006 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 16660 -j DROP
#############################################
#PROTECAO CONTRA TRINOO
#############################################
$IPT -A INPUT -p TCP -i eth0 --dport 27444 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 27665 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 31335 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 34555 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 35555 -j DROP
echo "Proteção contra trinoo ............................. [ OK ]"
#############################################
## PROTECAO CONTRA ACESSO EXTERNO SQUID
#############################################
$IPT -A INPUT -p TCP -i eth0 --dport 3128 -j DROP
$IPT -A INPUT -p TCP -i eth0 --dport 8080 -j DROP
echo "Proteção contra squid externo....................... [ OK ]"
#############################################
## PROTECAO CONTRA TELNET
#############################################
$IPT -A INPUT -p TCP -i eth0 --dport telnet -j DROP
echo "Proteção contra telnet ....................... [ OK ]"
#############################################
##CONTRA PORT SCANNERS
#############################################
#$IPT -N SCANNER
#$IPT -A SCANNER -m limit --limit 15/m -j LOG --log-prefix "FIREWALL: port scanner: "
#$IPT -A SCANNER -j DROP
#$IPT -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i eth0 -j SCANNER
#$IPT -A INPUT -p tcp --tcp-flags ALL NONE -i eth0 -j SCANNER
#$IPT -A INPUT -p tcp --tcp-flags ALL ALL -i eth0 -j SCANNER
#$IPT -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i eth0 -j SCANNER
#$IPT -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i eth0 -j SCANNER
#$IPT -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i eth0 -j SCANNER
#$IPT -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i eth0 -j SCANNER
echo "Scaner de Portas ....................................[ OK ]"
#############################################
# DROPA PACOTES TCP INDESEJAVEIS
#############################################
$IPT -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
#############################################
# DROPA PACOTES MAL FORMADOS
#############################################
#$IPT -A INPUT -i eth0 -m unclean -j DROP
#############################################
# PROTECAO CONTRA WORMS
#############################################
$IPT -A FORWARD -p tcp --dport 135 -i eth0 -j REJECT
#############################################
# PROTECAO CONTRA SYN-FLOOD
#############################################
$IPT -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
#############################################
# PROTECAO CONTRA PING DA MORTE
#############################################
$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
echo "Caregando tabela filter ............................ [ OK ]"
#############################################
# CONFIGURANDO A PROTECAO ANTI-SPOOFING
#############################################
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
#for spoofing in /proc/sys/net/ipv4/conf/*/rp_filter; do
# echo "1" > $spoofing
#done
echo "Protecao anti-spoofing ..............................[ OK ]"
###########SETANDO PROTECAO CONTRA ATAQUES
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
for i in /proc/sys/net/ipv4/conf/*; do
echo 0 >$i/accept_redirects
echo 0 >$i/accept_source_route
echo 1 >$i/log_martians
echo 1 >$i/rp_filter;
done
echo "Protecao contra ataques .............................[ OK ]"
#############################################
#############################################
# Liberar acessos aa DMZ
#############################################
$IPT -A FORWARD -p tcp -d $WAN -m multiport --dports $SRV_TCP -j ACCEPT
$IPT -A FORWARD -p udp -d $WAN -m udp --dport $SRV_UDP -j ACCEPT
$IPT -A FORWARD -p udp -s $WAN -m udp --sport $SRV_UDP -j ACCEPT
$IPT -A FORWARD -p udp -s $WAN -m udp --dport $SRV_UDP -j ACCEPT
$IPT -A FORWARD -p udp -d $WAN -m udp --sport $SRV_UDP -j ACCEPT
#############################################
# Liberar pings
#############################################
$IPT -A FORWARD -m limit --limit 5/s -p icmp --icmp-type 0 -j ACCEPT
$IPT -A FORWARD -m limit --limit 5/s -p icmp --icmp-type 3 -j ACCEPT
$IPT -A FORWARD -m limit --limit 5/s -p icmp --icmp-type 5 -j ACCEPT
$IPT -A FORWARD -m limit --limit 5/s -p icmp --icmp-type 8 -j ACCEPT
$IPT -A FORWARD -m limit --limit 5/s -p icmp --icmp-type 11 -j ACCEPT
$IPT -A FORWARD -m limit --limit 5/s -p icmp --icmp-type 12 -j ACCEPT
#############################################
# Fazer masquerade da rede local
#############################################
$IPT -t nat -A POSTROUTING -s $WAN -o $LAN -j MASQUERADE
#############################################
# Fazer proxy transparente (nao funciona com autenticacao)
#############################################
#$IPT -t nat -A PREROUTING -s $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128
;;
stop)
echo "limpando Firewall"
#######################################
# Define politicas default
#######################################
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
#######################################
# Limpa todas as regras
#######################################
$IPT -t filter -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -t raw -F
#########################################
;;
status)
$IPT -L -n
;;
*)
echo "Opcoes validas: (start|stop|status)"
;;
esac