- Problemas com iptables
+ Responder ao Tópico
-
Problemas com iptables
Pessoal,
Estou criando regras iptables no meu gateway (RedHat 9) e estou com uma dificuldade.
Quando uso a politica iptables -P OUTPUT DROP, não consigo mais aceso a internet as outras estão OK.
Estou direcionando tudo que vem de tcp p/ porta 80 da eth1 p/ o squid.
Liberei a porta 80 p/ eth0 e mesmo assim, não consigo acesso.
Quais portas tenho que liberar p/ usar a politica iptables -P OUTPUT DROP e os clientes tenham acesso a net?
-
Problemas com iptables
tipo num e mais facil ir bloqueando os serviços q vc não quer na rede tipo msn irc etc etc etc...???
do q bloquear tudo ?? e ir liberando
tipo acessa essa pagina e da uma olhada
http://iptables.under-linux.org/
vai te ajudar bastante
-
Problemas com iptables
outro detalhe o seu modem ta em modo bridge ?? se tiver em router nem rola os bloqueios tem q ser dados no modem
-
Problemas com iptables
pq bloquear a porta output deixa ele aberta
se vc quizer fachar vc vai ter que abrir a 53 80 21 25 110 142 443 e mais outras
-
Problemas com iptables
Bom , eu sou a favor de bloquear tudo e ir liberando so que acessam.
Mas o OUTPUT deixo liberado.
-
firewall
Eu também sou a favor de bloquear tudo e liberar só o necessário!
eu peguei um firewall do Hugo Cisneiros muito bom e fiz algumas modificações veja abixo e modifique ao seu modo:
Espero que ajude.
############################################
#!/bin/bash
#
# Limpa a tela
clear
#
# Define as variaveis
#
ipt=/usr/sbin/iptables
rede=eth0
lan=10.0.0.0/255.0.0.0
modem=ppp+
lo=lo
localhost=127.0.0.1
#
# Carregando os modulos necessarios
modprobe ip_tables
modprobe iptable_nat
modprobe iptable_filter
modprobe iptable_mangle
modprobe ipt_conntrack
modprobe ipt_unclean
modprobe ipt_limit
modprobe ipt_REDIRECT
modprobe ipt_TOS
modprobe ipt_MASQUERADE
#
# Apagando e definindo as politicas padroes do firewall
$ipt -t filter -F
$ipt -t filter -X
$ipt -t filter -Z
$ipt -t nat -F
$ipt -t nat -X
$ipt -t nat -Z
$ipt -t filter -P INPUT DROP
$ipt -t filter -P OUTPUT ACCEPT
$ipt -t filter -P FORWARD DROP
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P POSTROUTING DROP
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P OUTPUT ACCEPT
#
# Anti-spoofing
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 >$i
done
#
# Ativa o redirecionamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
#
# Define o máximo de conexões para evitar sobrecarga do servidor
echo 4096 > /proc/sys/net/ipv4/ip_conntrack_max
#
###################### Tabela filter ###############################
#### Chain INPUT ######
#
# Criamos uma nova chain para tratamento da internet
#
$ipt -N ppp-input
#
# Aceita todo o tráfego vindo do loopback e indo para o loopback
#
$ipt -A INPUT -i $lo -j ACCEPT
# Todo o tráfego da rede interna também é aceito
$ipt -A INPUT -s $lan -i $rede -j ACCEPT
#
# Libera a porta do VNC
$ipt -A INPUT -p tcp --syn --dport 5800:5910 -j ACCEPT
# Libera a porta do SSH
$ipt -A INPUT -p tcp --syn --dport 22 -j ACCEPT
# Libera a porta FTP
$ipt -A INPUT -p tcp --syn --dport 20:21 -j ACCEPT
# Conexões vindas da interface ppp0 são tratadas pela chain ppp-input
$ipt -A INPUT -i $modem -j ppp-input
# Qualquer outra conexão desconhecida é imediatamente logada e derrubada
$ipt -A INPUT -j LOG --log-prefix "Firewall: Input-derrubado"
$ipt -A INPUT -j DROP
#
#### Chain FORWARD ######
#
# Permite o redirecionamento de conexões entre as interfaces locais
# Qualquer tráfego indo e vindo para outras interfaces será bloqueado
#
$ipt -A FORWARD -d $lan -i $modem -o $rede -j ACCEPT
$ipt -A FORWARD -s $lan -i $rede -o $modem -j ACCEPT
$ipt -A FORWARD -j LOG --log-prefix "Firewall: FORWARD negado"
$ipt -A FORWARD -j DROP
#
#### Chain ppp-input ######
#
# Aceita pings vindos da internet com certa limitação
$ipt -A ppp-input -p icmp -m limit --limit 2/s -j ACCEPT
# Aceitamos o tráfego vindo da internet para o serviço www (porta 80)
$ipt -A ppp-input -p tcp --dport 80 -j ACCEPT
#
# Tentativas de acesso aos serviços listados abaixo serão registrado
#
$ipt -A ppp-input -p tcp --dport 21 -j LOG --log-prefix "Firewall: FTP "
$ipt -A ppp-input -p tcp --dport 22 -j LOG --log-prefix "Firewall: SSH "
$ipt -A ppp-input -p tcp --dport 25 -j LOG --log-prefix "Firewall: SMTP "
$ipt -A ppp-input -p udp --dport 53 -j LOG --log-prefix "Firewall: DNS "
$ipt -A ppp-input -p tcp --dport 110 -j LOG --log-prefix "Firewall: POP3 "
$ipt -A ppp-input -p tcp --dport 113 -j LOG --log-prefix "Firewall: IDENTD "
$ipt -A ppp-input -p tcp --dport 111 -j LOG --log-prefix "Firewall: RPC "
$ipt -A ppp-input -p udp --dport 111 -j LOG --log-prefix "Firewall: RPC "
$ipt -A ppp-input -p tcp --dport 137:139 -j LOG --log-prefix "Firewall: SMB "
$ipt -A ppp-input -p udp --dport 137:139 -j LOG --log-prefix "Firewall: SMB "
#
# Bloqueia qualquer conexão de fora para esta máquina
#
$ipt -A ppp-input -m state --state ! ESTABLISHED,RELATED -j LOG --log-prefix "Firewall: ppp-in "
$ipt -A ppp-input -m state --state ! ESTABLISHED,RELATED -j DROP
# Qualquer outro tipo de tráfego é aceito
$ipt -A ppp-input -j ACCEPT
#
########################## Tabela nat #################################
##### Chain POSTROUTING ######
# Permite qualquer conexão vinda com destino a lo e rede local para placa
# de rede da rede interna ( ethx )
$ipt -t nat -A POSTROUTING -o $lo -j ACCEPT
$ipt -t nat -A POSTROUTING -s $lan -o $rede -j ACCEPT
#
#
# Todas as requisicoes de e-mail pop3 serao redirecionadas para a porta 8110
# do antivirus p3vscan
#$ipt -t nat -A PREROUTING -i $rede -p tcp --dport 110 -j REDIRECT --to-port 8110
# Não queremos que os usuários tenham acesso externo aos serviços listados
# abaixo usaremos o squid para controle
# Redireciona as con. da porta 80 p/ 3120 do squid
$ipt -t nat -A PREROUTING -i $rede -p tcp --dport 80 -j REDIRECT --to-port 3120
# Registramos as tentativas de conexões diretas a estes serviços
$ipt -t nat -A POSTROUTING -s $lan -o $modem -p tcp --dport 80 -j LOG --log-prefix "Firewall: SNAT-www "
$ipt -t nat -A POSTROUTING -s $lan -o $modem -p tcp --dport 25 -j LOG --log-prefix "Firewall: SNAT-smtp "
#$ipt -t nat -A POSTROUTING -s $lan -o $modem -p tcp --dport 25 -j DROP
#$ipt -t nat -A POSTROUTING -s $lan -o $modem -p tcp --dport 80 -j DROP
#
# É feito o masquerading dos outros serviços da rede interna indo para a
# interface ppp+
$ipt -t nat -A POSTROUTING -s $lan -o $modem -j MASQUERADE
# Qualquer outra origem de tráfego desconhecida indo para a placa de rede
# da rede interna (ethx)
$ipt -t nat -A POSTROUTING -o $rede -d $lan -j LOG --log-prefix "Firewall: SNAT-unknow "
$ipt -t nat -A POSTROUTING -o $rede -d $lan -j DROP
# Não bloquearemos a conexão ppp+
$ipt -t nat -A POSTROUTING -o $modem -j ACCEPT
# Registra e bloqueia qualquer outro tipo de tráfego desconhecido
$ipt -t nat -A POSTROUTING -j LOG --log-prefix "Firewall: SNAT "
$ipt -t nat -A POSTROUTING -j DROP
#
######## Tabela mangle ##################################################
#### Chain OUTPUT ######
#
# prioriza o FTP
$ipt -t mangle -A OUTPUT -o $modem -p tcp --dport 20:21 -j TOS --set-tos 0x10
# prioriza o DNS
$ipt -t mangle -A OUTPUT -o $modem -p udp --dport 53 -j TOS --set-tos 0x10
# prioriza o SSH
$ipt -t mangle -A OUTPUT -o $modem -p tcp --dport 22 -j TOS --set-tos 0x10
#
# Precaução
#
$ipt -A INPUT -p tcp --syn -j DROP
#############################################
#fim
-
Problemas com iptables
É... pelo jeito é mais fácil liberar o OUTPUT mesmo...
Valeu pela ajuda galera!