Enviado em 13/08/2007 - 12:33h
Caros amigos ... estou iniciando agora no iptables, lê bastante sobre firewall procurei saber mais sobre o assunto ... No entanto estou tendo alguns problemas. Bom primeiramente, defini minhas politicas de acesso, coloquei as defesas basica como bloqueio contra spoofing e etc..., configurei os sockets de acesso, e finalmente comecei a liberar as portas que eram do meu interesse, porem quando executo o mesmo tudo bloquei(peça que fica atraz do pc, não esta funcionando bem), se puderem me auxiliar neste configuração eu agradeço, dicas tambem são bem vindas, considerando minha pouca experiência nesta aréa.
Esta firewall protege apenas a maquina local, ou seja nao necessita rotear para nenhum outro micro ou fazer liberações na cadeia forward.
Desde já, obrigado a todos ...
#!/bin/bash
#LIMPANDO REGRAS
/sbin/iptables -F # LIMPA AS CADEIAS DE IMPUT, OUTPUT E FORWARD
/sbin/iptables -F -t nat # LIMPA A TABELA NAT
##### Definição de Policiamento #####
# Tabela filter
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD DROP
# Tabela nat
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING DROP
# Tabela mangle
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
##### Proteção contra IP Spoofing #####
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 >$i
done
##### Ativamos o redirecionamento de pacotes (requerido para NAT) #####
echo "1" >/proc/sys/net/ipv4/ip_forward
# O iptables define automaticamente o número máximo de conexões simultâneas
# com base na memória do sistema. Para 32MB = 2048, 64MB = 4096, 128MB = 8192,
# sendo que são usados 350 bytes de memória residente para controlar
# cada conexão.
# Quando este limite é excedido a seguinte mensagem é mostrada:
# "ip_conntrack: maximum limit of XXX entries exceed"
#
# Como temos uma rede simples, vamos abaixar este limite. Por outro lado isto
# criará uma certa limitação de tráfego para evitar a sobrecarga do servidor.
echo "2048" > /proc/sys/net/ipv4/ip_conntrack_max
##### Tabela Filter
# Aceita trafego vindo de loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# Qualquer outra conexão desconhecida é imediatamente registrada e derrubada
iptables -A INPUT -j LOG #"FIREWALL: INPUT "
iptables -A INPUT -j DROP
# A tentativa de acesso externo a estes serviços serão registrados no syslog
# do sistema e serão bloqueados pela última regra abaixo.
#ftp
iptables -A INPUT -p tcp --dport 23 -j LOG
#smtp
iptables -A INPUT -p tcp --dport 25 -j LOG
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
#dns
iptables -A INPUT -p udp --dport 53 -j LOG
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
#pop
iptables -A INPUT -p tcp --dport 110 -j LOG
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
#iptables -A ppp-input -p tcp --dport 113 -j LOG --log-prefix "FIREWALL: identd "
#rdesktop
#iptables -A INPUT -p udp --dport 111 -j LOG --log-prefix "FIREWALL: rpc"
#iptables -A INPUT -p tcp --dport 111 -j LOG --log-prefix "FIREWALL: rpc"
#Samba
iptables -A INPUT -p tcp --dport 137:139 -j LOG
iptables -A INPUT -p udp --dport 137:139 -j LOG
# Bloqueia qualquer tentativa de nova conexão de fora para esta máquina
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j LOG
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Liberando msn
iptables -A INPUT -p tcp -s 0/0 --dport 1863 -j LOG --log-prefix "FIREWALL: MSN"
iptables -A INPUT -p tcp -s 0/0 --dport 1863 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 --dport 1863 -j ACCEPT
#Liberando internet
iptables -A INPUT -p tcp -s 0/0 --dport 8080 -j LOG
iptables -A INPUT -p tcp -s 0/0 --dport 8080 -j ACCEPT
iptables -A INPUT -p udp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --dport 5050 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 --dport 5050 -j ACCEPT
iptables -A INPUT -p tcp -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p udp -s 127.0.0.1 -j ACCEPT
Esta firewall protege apenas a maquina local, ou seja nao necessita rotear para nenhum outro micro ou fazer liberações na cadeia forward.
Desde já, obrigado a todos ...
#!/bin/bash
#LIMPANDO REGRAS
/sbin/iptables -F # LIMPA AS CADEIAS DE IMPUT, OUTPUT E FORWARD
/sbin/iptables -F -t nat # LIMPA A TABELA NAT
##### Definição de Policiamento #####
# Tabela filter
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD DROP
# Tabela nat
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING DROP
# Tabela mangle
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
##### Proteção contra IP Spoofing #####
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 >$i
done
##### Ativamos o redirecionamento de pacotes (requerido para NAT) #####
echo "1" >/proc/sys/net/ipv4/ip_forward
# O iptables define automaticamente o número máximo de conexões simultâneas
# com base na memória do sistema. Para 32MB = 2048, 64MB = 4096, 128MB = 8192,
# sendo que são usados 350 bytes de memória residente para controlar
# cada conexão.
# Quando este limite é excedido a seguinte mensagem é mostrada:
# "ip_conntrack: maximum limit of XXX entries exceed"
#
# Como temos uma rede simples, vamos abaixar este limite. Por outro lado isto
# criará uma certa limitação de tráfego para evitar a sobrecarga do servidor.
echo "2048" > /proc/sys/net/ipv4/ip_conntrack_max
##### Tabela Filter
# Aceita trafego vindo de loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# Qualquer outra conexão desconhecida é imediatamente registrada e derrubada
iptables -A INPUT -j LOG #"FIREWALL: INPUT "
iptables -A INPUT -j DROP
# A tentativa de acesso externo a estes serviços serão registrados no syslog
# do sistema e serão bloqueados pela última regra abaixo.
#ftp
iptables -A INPUT -p tcp --dport 23 -j LOG
#smtp
iptables -A INPUT -p tcp --dport 25 -j LOG
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
#dns
iptables -A INPUT -p udp --dport 53 -j LOG
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
#pop
iptables -A INPUT -p tcp --dport 110 -j LOG
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
#iptables -A ppp-input -p tcp --dport 113 -j LOG --log-prefix "FIREWALL: identd "
#rdesktop
#iptables -A INPUT -p udp --dport 111 -j LOG --log-prefix "FIREWALL: rpc"
#iptables -A INPUT -p tcp --dport 111 -j LOG --log-prefix "FIREWALL: rpc"
#Samba
iptables -A INPUT -p tcp --dport 137:139 -j LOG
iptables -A INPUT -p udp --dport 137:139 -j LOG
# Bloqueia qualquer tentativa de nova conexão de fora para esta máquina
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j LOG
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Liberando msn
iptables -A INPUT -p tcp -s 0/0 --dport 1863 -j LOG --log-prefix "FIREWALL: MSN"
iptables -A INPUT -p tcp -s 0/0 --dport 1863 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 --dport 1863 -j ACCEPT
#Liberando internet
iptables -A INPUT -p tcp -s 0/0 --dport 8080 -j LOG
iptables -A INPUT -p tcp -s 0/0 --dport 8080 -j ACCEPT
iptables -A INPUT -p udp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --dport 5050 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 --dport 5050 -j ACCEPT
iptables -A INPUT -p tcp -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p udp -s 127.0.0.1 -j ACCEPT