PROFTPD x FIREWALL

1. PROFTPD x FIREWALL

Thiago Araujo
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





  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts