Segurança no Iptables

Publicado por Diego Silva em 16/09/2004

[ Hits: 20.368 ]

Blog: http://www.diegosilva.net

 


Segurança no Iptables



Olá galera VOL!

Após ver várias e várias dicas de como deixar seu Linux mais seguro, resolvi mandar essa dica para vocês, que é um pouquinho mais completa que as outra que vemos por aí. Isso não vai garantir 100% de segurança, mas com certeza será muito útil, afinal, segurança nunca é demais.

Vamos bloquear pessoas que tentarem enviar qualquer pacotes com IPs locais, como se fossem de uma rede interna.

iptables -A INPUT -s 10.0.0.0/255.0.0.0 -j DROP
iptables -A INPUT -s 172.0.0.0/255.0.0.0 -j DROP
iptables -A INPUT -s 192.0.0.0/255.0.0.0 -j DROP

(Esse código não é recomendado para pessoas que utilizem rede local)

Vamos anular agora os famosos pacotes ICMP (Ping):

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Proteção contra ICMP Broadcasting:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

Protege contra synflood:

echo "1" > /proc/sys/net/ipv4/tcp_syncookies

Proteções diversas contra portscanners, ping of death, ataques DoS, etc:

iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
iptables -A FORWARD -m unclean -j DROP

Algumas boas idéias retiradas do Arno's iptables firewall:

iptables -N VALID_CHECK
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP

Bem amigos, por enquanto é só, essas são algumas proteções muito úteis e funcionais para nosso Linux, assim que descobrir mais postarei aqui para vocês.

Um forte abraço e boa segurança ;)

Outras dicas deste autor

Mantendo sua data e hora sempre corretas

O comando uname

Enganando sites com o Lynx

Hora certa no Debian

Recuperar senha de root do MySQL

Leitura recomendada

Criando diretório no git via browser

Proxy Lusca no Ubuntu Server 10.04

Redirecionando portas com IP dinâmico

Traduzir o Firefox 20 para português

MAC + IP direto no SQUID

  

Comentários
[1] Comentário enviado por naoexistemais em 18/09/2004 - 23:02h

Outros exemplos de regra:

#iptables -A INPUT -P icmp -j DROP

Acima, um exemplo que cria uma regra que nega todos os pacotes ICMP vindos do servidor, em que se encontra o firewall

#iptables -D INPUT -p icmp -j DROP

Isto apaga a regra setada acima

#iptables -A INPUT -s 200.204.120.0/24 -j DROP

A regra acima faz com que todos os pacotes vindos de qualquer endereço da classe de ip 200.204.120.0

#iptables -A OUTPUT -p icmp -d ! 200.201.120.0/ 24 -j ACCEPT

Esta regra só permitirá pacotes icmp para máquinas que estejam em qualquer endereço ip, menos no citado acima.

Configurando o firewall contra ataques

Abaixo, um exemplo de configuração de um firewall contra os ataques mais constantes realizados pelos hackers em servidores da Web. Setando essas configurações, o servidor configurado dificilmente será atacado, veja:

Proteção contra Syn-floods:

Ataques do tipo DoS - um usuário envia um grande número de pacotes SYN ao servidor, que não suportará a grande carga de pacotes enviados e cairá. Setando a configuração abaixo, isso poderá ser evitado:

# iptables -A FORWARD -p tcp -syn -m limit - limit 1/s -j ACCEPT

Port scanners ocultos

Os famosos port scanners estão à solta. A configuração abaixo impede conexões executadas pelos port scanners:

# iptables -A FORWARD -p tcp -tcp-flags SYN,ACK,FIN,RST RST -m zlimit -limit 1/s -j ACCEPT Pings

Evita alguns tipos maliciosos de pacotes que podem ser enviados ao seu servidor:

# iptables -A FORWARD -p icmp -icmp-type echo-request -m limit -limit 1/s -j ACCEPT

[2] Comentário enviado por pools em 18/10/2004 - 22:29h

No meu iptables, quando tento executar a linha:
iptables -A FORWARD -m unclean -j DROP

Dá esse problema:
iptables: No chain/target/match by that name

Uso o slackware, iptables versão v1.2.11

Alguem teve esse problema também?
É importante salientar que em algumas versões pode não funcionar.

[3] Comentário enviado por flipe em 25/02/2005 - 10:07h

quando coloco o '-m unclean'.. aq da o mesmo erro!!!

naum ta faltano nada na regra naum?

[4] Comentário enviado por spikey em 09/10/2005 - 14:59h

amigo, você precisa especificar uma chain.

[5] Comentário enviado por spikey em 09/10/2005 - 15:01h

Veja esse exemplo para bloquear pings.
iptables -t filter -N ping-chain
iptables -t filter -A ping-chain -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

a chain especificada é ping chain, esse no caso é o exemplo postado neste artigo.

[6] Comentário enviado por Ecator em 27/03/2006 - 22:36h

pessoal, eu sou iniciante no linux.. uso o Fedora Core 4 com o "iptables v1.3.0"... para eu setar estas confs no iptables existe algum comando previo, ou posterior do tiso "save" ou algo assim ou basta eu digitar os comandos acima ?

[7] Comentário enviado por thiagoanselmo em 05/07/2006 - 21:31h

Olha amigo eu tbm sou um iniciante e uso a distribuicao slackware e ppara salvar basta vc por em uma pasta que seje inicializavel.

/etc/rc.d/rc.local seria esta no slackware.

Espero te ajudado.

[8] Comentário enviado por mudblur em 16/02/2007 - 02:06h

Caro amigo,

No Slackware se você criar um script chamado "rc.firewall" dentro de "/etc/rc.d/" e dar a permissão de execução, o Slackware executará o script. Recomendo por ser mais "profissional" do que simplismente encher o rc.local com regras do iptables.

Abraços.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts