thiagomgt
(usa Debian)
Enviado em 30/07/2008 - 14:20h
Boa tarde galera, + uma duvida qye gostaria de contar com a ajuda de vcs..
configurei corretamento o ftp (proftpd), e está funcionando normal, porem qndo rodo o meu firewall, ao digitar o endereço do ftp (que é na mesma maq onde está o firewall), aparece a tela de login, porem ao colocar o login e a senha fica carregando, carregando e nada. Se eu parar o firewall passa rapidinho.
FIREWALL
#!/bin/bash
#########################
# Variaveis do firewall #
#########################
LAN="eth0"
WAN="eth1"
DIR="/etc/firewall"
CAT="/bin/cat"
ECHO="/bin/echo"
BLOCKALL="ips_block_all"
ALLOWALL="ips_allow_all"
###########################
### INICIO DO FIREWALL ####
###########################
firewall_start(){
# Bloq de MSN
iptables -A FORWARD -s 192.168.0.0/255.255.255.0 -p tcp --dport 1863 -j LOG --log-prefix "FIREWALL MSN: "
iptables -A FORWARD -s 192.168.0.0/255.255.255.0 -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -p tcp --dport 1080 -j DROP
iptables -A FORWARD -s 192.168.0.0/255.255.255.0 -p tcp --dport 1080 -j REJECT
# ACESSO SSH
iptables -A INPUT -p tcp --syn --dport 22 -j LOG --log-prefix "FIREWALL SSH: "
iptables -A INPUT -p tcp --syn --dport 22 -j ACCEPT
###############################
## REGRA PARA BLOQUEIO TOTAL ##
###############################
for n in `$CAT $DIR/$BLOCKALL`
do
iptables -A FORWARD -s $n -j DROP
iptables -A FORWARD -d $n -j DROP
done
## Fim bloq. Total ##
########################
## REGRA ACESSO TOTAL ##
########################
for n in `$CAT $DIR/$ALLOWALL`
do
iptables -A FORWARD -s $n -m state --state NEW -j ACCEPT
iptables -A FORWARD -d $n -m state --state NEW -j ACCEPT
iptables -I FORWARD -s $n -p tcp --dport 1863 -j ACCEPT
iptables -I FORWARD -s $n -p tcp --dport 1080 -j ACCEPT
done
## Fim acesso total ##
# Apenas as conexoes para o site da caixa n passam pelo SQUID
iptables -t nat -I PREROUTING -i $LAN -p tcp -d 200.201.0.0/16 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -i $LAN -d ! 200.201.0.0/16 -p tcp --dport 80 -j REDIRECT --to-ports 3128
#### ACESSOS PRIMARIOS #######
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #SSH
iptables -A INPUT -p tcp --dport 53 -j ACCEPT #DNS
iptables -A INPUT -p udp --dport 53 -j ACCEPT #DNS
iptables -A INPUT -p tcp --dport 587 -j ACCEPT #SMTP
iptables -A INPUT -p tcp --dport 110 -j ACCEPT #POP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT # FTP
iptables -A INPUT -p tcp --dport 20 -j ACCEPT # FTP
###### ACESSO DA LAN ##############
iptables -A INPUT -i $LAN -p tcp --dport 3128 --syn -j ACCEPT #SQUID
iptables -A INPUT -i $LAN -p tcp --dport 25 -j ACCEPT #EMAIL
iptables -A INPUT -i $LAN -p tcp --dport 587 -j ACCEPT #localweb
iptables -A INPUT -i $LAN -p tcp --dport 110 -j ACCEPT #localweb
iptables -A INPUT -i $LAN -p tcp --dport 8080 -j ACCEPT #apache
iptables -A INPUT -i $LAN -p tcp --dport 443 -j ACCEPT #HTTPS
iptables -A INPUT -i $LAN -p tcp --dport 22 -j ACCEPT #SSH
iptables -A INPUT -i $LAN -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -i $LAN -p tcp --dport 20 -j ACCEPT
# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Proteção contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
# Protege contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# Proteção contra ICMP Broadcasting
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Bloqueia traceroute
iptables -A INPUT -p udp --dport 33435:33525 -j DROP
# Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
iptables -A INPUT -m state --state INVALID -j DROP
# Abre para a interface de loopback.
# Esta regra é essencial para o KDE e outros programas gráficos funcionarem adequadamente.
iptables -A INPUT -i lo -j ACCEPT
# Fecha as portas udp de 1 a 1024
iptables -A INPUT -p udp --dport 1:1024 -j DROP
# Esta regra é o coração do firewall do Kurumin,
# ela bloqueia qualquer conexão que não tenha sido permitida acima, justamente por isso ela é a última da cadeia.
iptables -A INPUT -p tcp --syn -j DROP
echo "O Kurumin Firewall está sendo carregado..."
sleep 1
echo "Tudo pronto!"
sleep 1
}
firewall_stop(){
iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
}
case "$1" in
"start")
firewall_start
;;
"stop")
firewall_stop
echo "O kurumin-firewall está sendo desativado"
sleep 2
echo "ok."
;;
"restart")
echo "O kurumin-firewall está sendo desativado"
sleep 1
echo "ok."
firewall_stop; firewall_start
;;
*)
iptables -L -n
esac