Ajuda com iptables

1. Ajuda com iptables

Rodrigo Oliveira
dragaorov

(usa Fedora)

Enviado em 24/09/2009 - 10:56h

Ola
Bom dia a todos sou meio novo no campo linux e gostaria de estar aprendendo sobre o mesmo.
Como a grande maioria gostaria de fazer um firewall li algumas apostilas e vi alguns scripts e fui pegando uns pedacinhos de cada para montar esse e gostaria que me ajudassem a melhora-lo.
A distribuicao q eu uso e a FEDORA 11.

Muito Obrigado a todos

#!/bin/bash

# Definindo as variaveis
IPTABLES="/sbin/iptables"
SITES="sites.txt"
DIRETORES="diretores.txt"
ENT="ppp+"

# Definição da rede interna
REDEINT="192.168.1.0/24"

# carregando os modulos
modprobe ip_tables
modprobe iptable_nat

# limpando tabela NAT
$IPTABLES -t nat -F
$IPTABLES -t nat -X
$IPTABLES -t nat -Z
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -F PREROUTING

# limpando regras
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD

# setando politicas
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

# Redireciona Proxy
$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

# libera acesso interno da rede
$IPTABLES -A INPUT -p tcp --syn -s $REDEINT -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --syn -s $REDEINT -j ACCEPT
$IPTABLES -A FORWARD -p tcp --syn -s $REDEINT -j ACCEPT

# compartilha a web na rede interna
$IPTABLES -t nat -A POSTROUTING -s $REDEINT -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# liberar os seguintes ips
$IPTABLES -A FORWARD -p tcp -d $DIRETORES -j ACCEPT
$IPTABLES -A INPUT -p tcp -d $DIRETORES -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $DIRETORES -j ACCEPT

# liberar portas de email
$IPTABLES -A FORWARD -p tcp --dport 25,110 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 25,110 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 25,110 -j ACCEPT

# liberar os seguintes sites
$IPTABLES -A FORWARD -p tcp -d $SITES -j ACCEPT
$IPTABLES -A INPUT -p tcp -d $SITES -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $SITES -j ACCEPT

# Protege contra os "Ping of Death"
$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# Protege contra os ataques do tipo "Syn-flood, DoS, etc"
$IPTABLES -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

# Protege contra port scanners avançados (Ex.: nmap)
$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

# Proteção contra tronjan
$IPTABLES -A INPUT -p TCP -i eth0 --dport 666 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 4000 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 6000 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 6006 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 16660 -j DROP

# Proteção contra worms
$IPTABLES -A FORWARD -p TCP -i eth0 --dport 135 -j DROP

# Proteção contra trinoo
$IPTABLES -A INPUT -p TCP -i eth0 --dport 27444 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 27665 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 31335 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 34555 -j DROP
$IPTABLES -A INPUT -p TCP -i eth0 --dport 35555 -j DROP

# Bloqueando tracertroute
$IPTABLES -A INPUT -p udp -s 0/0 -i $ENT --dport 33435:33525 -j DROP

# bloqueia ping
echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all

echo "firewall.................[OK]"



  


2. Re: Ajuda com iptables

Genesco Sousa
gesousa

(usa Ubuntu)

Enviado em 24/09/2009 - 19:23h

sobre:

# Protege contra os ataques do tipo "Syn-flood, DoS, etc"
$IPTABLES -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

leia o artigo do elgio

http://www.vivaolinux.com.br/artigo/Iptables-protege-contra-SYN-FLOOD

mas especificamente aqui:

http://www.vivaolinux.com.br/artigo/Iptables-protege-contra-SYN-FLOOD?pagina=6




3. Re: Ajuda com iptables

Rodrigo Oliveira
dragaorov

(usa Fedora)

Enviado em 24/09/2009 - 21:42h

Obrigado pela dica.
Voce acha q tem q acresentar + alguma coisa?
Pois e o primeiro que eu faço entao estou na duvida se esta bom.
Outra coisa gostaria de estar limitando o horario para entrar em determinados sites como faco isso?

Muito Obrigado


4. Re: Ajuda com iptables

Genesco Sousa
gesousa

(usa Ubuntu)

Enviado em 24/09/2009 - 21:55h

A questão dos horários seria no squid por acl.

ex:
acl almoco time MTWHS 12:00-14:00

http_access Bloqueados !almoco







5. Re: Ajuda com iptables

Rodrigo Oliveira
dragaorov

(usa Fedora)

Enviado em 25/09/2009 - 08:40h

Com esse procedimento eu ja consigo liberar os sites no horario de almoco, sem nenhum comando no iptables?
ex liberar orkut 12:00 a 13:00 hs.

Muito Obrigado


6. Re: Ajuda com iptables

Genesco Sousa
gesousa

(usa Ubuntu)

Enviado em 25/09/2009 - 15:52h

sim, o filtro de site é todo feito pelo squid, não há necessidade de se mexer no iptables.


7. Re: Ajuda com iptables

Rodrigo Oliveira
dragaorov

(usa Fedora)

Enviado em 08/10/2009 - 11:26h

Pessoal implementei esse script no fedora 11 e esta dando erro sera q estou fazendo algo de errado.

Procedimentos tomados

criei uma pasta com o nome de Firewall
coloquei os arquivos la um com o nome de firewall com a estensao sh
e os outros 2 (sites e diretores)
dei permisao para execucao com o comando #chmod a+x /firewall/firewall.sh
criei um link na pasta bin #ln -s /firewall/firewall.sh /bin
mas qndo coloco o comando para funcionar falar que o arquivo nao foi encontrado
como se estivesse fazendo os comandos do script mas nao tivesse achando os aquivos em questao ou o comando em questao
entao do um iptables -L
e nao tem nada em execucao
o q sera q pode estar dando errado

Muito Obrigado pela ajuda






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts