thiagomgt
(usa Debian)
Enviado em 12/09/2007 - 13:17h
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 da erro de permissão. + se parar o firewall funciona normal.
no meu firewall coloquei a seguinte regra:
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #FTP
(precisa de + alguma para funcionar?)
segue o firewall completo..
###########################
## VARIAVEIS DO SISTEMA ###
###########################
# rede local e internet
WAN="eth0" # internet
LAN="eth1" #local
# Diretorio de arquivos do firewall
DIR="/etc/firewall"
# arquivos do firewall
BLOCKALL="ips_block_all"
ALLOWALL="ips_allow_all"
# Comando CAT
CAT="/bin/cat"
############################
# Iniciar - Valores TCP/IP #
############################
inicio() {
# Filtra Pacotes "Spoofados"
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# Não Aceita Pacotes Redirecionados
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
# Desativa Redirecionamentos
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
# Não Loga Ips Impossiveis
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
# Ignora Pacotes ICMP de Broadcast
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Ignora Pacotes ICMP de Erro
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Tempo Maximo de Espera da Conexao sem Resposta
echo 45 > /proc/sys/net/ipv4/tcp_fin_timeout
# Tempo Maximo de Conexão KeepAlive
echo 90 > /proc/sys/net/ipv4/tcp_keepalive_intvl
# Habilita Redirecionamento de Pacotes (Necessario para NAT)
echo 1 > /proc/sys/net/ipv4/ip_forward
# Protege Contra Ataques Syn Flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
}
####################
# Limpar as regras #
####################
limpa(){
iptables -F # Limpa todas as regras da tabela Filter
iptables -X # Deleta todas as cadeias da tabela Filter
iptables -Z # Zera contador da tablea Filter
iptables -P INPUT ACCEPT # Habilita regra default de entrada de pacotes com ACEITAR
iptables -P FORWARD ACCEPT # Habilita regra default de passagem de pacotes com ACEITAR
iptables -P OUTPUT ACCEPT # Habilita regra default de saida de pacotes com ACEITAR
iptables -t nat -F # Limpa todas as regras da tabela NAT
iptables -t nat -X # Deleta todas as cadeias da tabela NAT
iptables -t nat -Z # Zera os contadores da tabela NAT
}
######################
## REGRAS DE ACESSO ##
######################
firewall_start(){
# liberar portas - conexoes primarias (ACESSAR O SERVIDOR)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #SSH
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #FTP
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 8080 -j ACCEPT # APACHE
# Fim das portas primarias
#############################
# Regra para Bloqueio Total #
#############################
# Laco de repeticao para pegar os ips dos PC com bloq total
for n in `$CAT $DIR/$BLOCKALL`
do
iptables -A FORWARD -s $n -j DROP
iptables -A FORWARD -d $n -j DROP
# Bloq direto no navegador
iptables -A INPUT -s $n -p tcp --dport 3128 -j DROP
done
#############################
## Regra para Acesso Total ##
#############################
# laco de repeticao para pegar os ips dos PC com permissao 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
done
####################################
######## ACESSO A INTERNET #########
####################################
iptables -A INPUT -i $LAN -p tcp --dport 3128 --syn -j ACCEPT # Permitir acesso ao squid
iptables -A INPUT -i $LAN -p tcp --dport 25 -j ACCEPT #SMTP (email)
iptables -A INPUT -i $LAN -p tcp --dport 587 -j ACCEPT #SMTP (locaweb)
iptables -A INPUT -i $LAN -p tcp --dport 110 -j ACCEPT # POP (locaweb)
iptables -A FORWARD -i $LAN -p tcp --dport 443 --syn -j ACCEPT # HTTPS
iptables -A FORWARD -i $LAN -p tcp --dport 80 --syn -j ACCEPT # HTTP
# 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
iptables -A INPUT -p udp --dport 59229 -j DROP
# Bloqueia porta de saida do MENSSENGER, tanto local quanto forward
iptables -A OUTPUT -p tcp --dport 1863 -j DROP
iptables -A FORWARD -p tcp --dport 1863 -j DROP
iptables -A OUTPUT -p udp --dport 1863 -j DROP
iptables -A FORWARD -p udp --dport 1863 -j DROP
######################################
## Redirecinamento para SQUID - NAT ##
######################################
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE
# Esta regra é o coração do firewall
# 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 Firewall está sendo carregado..."
sleep 1
echo "Firewall OK!"
sleep 1
}
###################################
## Comando de inicio do firewall ##
###################################
case "$1" in
"start")
inicio; limpa; firewall_start
;;
"stop")
inicio; limpa
echo "O firewall está sendo desativado"
sleep 2
echo "ok."
;;
"restart")
echo "O firewall está sendo reiniciado"
sleep 1
echo "ok."
inicio; limpa; firewall_start
;;
*)
iptables -L -n
esac