Bloqueando portas com IPtables

Publicado por Pangas Millenium em 25/11/2013

[ Hits: 47.876 ]

 


Bloqueando portas com IPtables



Com as invasões de PCs, máquinas zumbis e outras coisas que podem ser um incômodo (principalmente quando se trata de um servidor), medidas de segurança nunca são demais.

Hoje, eu vou mostrar um simples script que criei para o IPtables. Eu fiz isso no Slackware 14.0, mas você poderá também executar este script em outra distribuição.

Bloqueando portas de entrada:

#!/bin/sh
#Iptables configuração.
#Script criado por Pangas


iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -p tcp --destination-port 80 -j DROP
iptables -A INPUT -p tcp --destination-port 443 -j DROP
iptables -A INPUT -p tcp --destination-port 22 -j DROP
iptables -A INPUT -p tcp --destination-port 1234 -j DROP
iptables -A INPUT -p tcp --destination-port 21 -j DROP
iptables -A INPUT -p tcp --destination-port 12345 -j DROP
iptables -A INPUT -p tcp --destination-port 20 -j DROP

A opção -A INPUT diz que o Firewall deverá bloquear todas as portas de entradas que forem definidas. Nesse caso, eu resolvi criar um script que possa ser usado tanto em computadores domésticos, quanto em servidores.

Podem ver, que eu bloqueei também a porta do X e a porta padrão do NetBus. Pois fiquei sabendo de patches para GNU/Linux. Nenhum sistema operacional é 100% seguro, tanto que, até o Android da Google também é infectado.

A opção -p indica o protocolo. Você pode usar TCP ou UDP.

Já a --destination-port indica a porta de destino. Ou seja, qual serviço deve ser bloqueado ou liberado pelo IPtables. A opção -j DROP indica que a porta será bloqueada. Deve ser definida logo após a porta destino.


Espero que tenha ficado claro!

Abraços! =)

Outras dicas deste autor

Bloqueando o ping (ICMP) com IPtables

Leitura recomendada

Vulnerabilidade na variável PATH

Couldn't load target 'ETH0':/lib/xtables/libipt_ETH0.so

Mac Spoofing em sistemas UNIX, *BSD e Linux

Testando seu firewall

Resetar senha de root no Debian Squeeze

  

Comentários
[1] Comentário enviado por mbrainiac em 25/11/2013 - 12:34h

Olá Panga,

Desculpe a pergunta de iniciante,

Só salvar seu arquivo em /etc/block.sh?

e depois executo, qdo reinicio o servidor:

/etc/#./block.sh

[2] Comentário enviado por Lerub em 26/11/2013 - 04:38h

Se eu entendi a sua pergunta você quer saber se ao salvar o arquivo em /etc/block.sh ele executa na inicialização do sistema. É isso? Se for, você terá que criar o arquivo em /etc/rc.d/nome_do_arquivo e dar a permissão de execução com chmod 777 /etc/rc.d/rc.iptables.

[3] Comentário enviado por thyagobrasileiro em 18/01/2014 - 14:19h

Para Permissao de execução basta um chmod +x. Cuidado ao executar o comando chmod 777.

[4] Comentário enviado por Lerub em 09/02/2014 - 17:31h


[3] Comentário enviado por thyagobrasileiro em 18/01/2014 - 14:19h:

Para Permissao de execução basta um chmod +x. Cuidado ao executar o comando chmod 777.


Bem lembrado. Pois é ele quem seta as permissões de arquivos.

[5] Comentário enviado por caiocpg em 27/10/2014 - 09:51h

Tem como bloquear por acesso externo exemplo: deixar a porta 22 liberado interno e bloqueado externo impedindo que o acesso de fora acesse o interno?

[6] Comentário enviado por Lerub em 27/11/2014 - 09:51h


[5] Comentário enviado por caiocpg em 27/10/2014 - 09:51h:

Tem como bloquear por acesso externo exemplo: deixar a porta 22 liberado interno e bloqueado externo impedindo que o acesso de fora acesse o interno?


Sim. É só fazer isso na configuração do modem ADSL. Pois no host local só é definido localmente.

[7] Comentário enviado por ghoostuser em 12/07/2016 - 17:18h

Não precisa de tudo isso eu acho, é só usar essa linha:

iptables -A INPUT -p tcp --syn -j DROP



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts