Um pouco sobre IPtables
IPtables é um firewall a nível de pacotes e funciona baseado no endereço/porta de origem/destino do pacote, prioridade etc. Ele funciona através da comparação de regras para saber se um pacote tem ou não permissão para passar. Em firewalls mais restritivos, o pacote é bloqueado e registrado para que o administrador do sistema tenha conhecimento sobre o que está acontecendo em seu sistema.
[ Hits: 63.530 ]
Por: Douglas Q. dos Santos em 08/12/2012 | Blog: http://wiki.douglasqsantos.com.br
Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22Como pode ser notado, a nossa regra tem o número 1, agora vamos criar mais uma regra para bloquear o acesso SSH:
Chain INPUT (policy ACCEPT) um target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22Como pode ser notado, a regra de bloqueio recebeu o número 2. Com isso, o acesso vai ser liberado, pois o IPtables sempre vai ler a cadeia por ordem numérica.
The authenticity of host '10.0.0.31 (::1)' can't be established.Como pode ser notado, a segunda regra não adiantou. Vamos refazer o nosso teste, mas antes vamos limpar as regras que já criamos:
RSA key fingerprint is a0:71:05:10:1c:b9:f1:5c:ff:50:c1:30:09:0d:2e:4c.
Are you sure you want to continue connecting (yes/no)?
Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22Então, agora é para o firewall bloquear o acesso à porta 22 de SSH e a segunda regra vai ser ignorada, pois ele sempre vai ler as regras em ordem numérica. Vamos fazer um teste de acesso SSH:
ssh: connect to host 10.0.0.31 port 22: Connection timed outA conexão vai dar timeout, pois o IPtables vai bloquear o acesso.
Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22Como pode ser notado na listagem do IPtables, nossa regra teve o número 1, agora vamos inserir mais uma regra de bloqueio de SSH:
Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22Note onde foi parar a nossa regra de DROP, ela está com o número 1, então, quando utilizarmos a ação "-I", a regra sempre vai ser colocada no início da cadeia.
Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22Como pode ser notado, nós especificamos a posição da nossa regra na cadeia INPUT.
Bind9 em chroot no Debian Lenny
Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Squeeze
IDS com Snort + Guardian + Debian Lenny
Apache em chroot + MySQL + PHP + mod_security + mod_evasive + vsftpd + Fail2ban + Debian Squeeze
Servidor Jabber com Openfire + MySQL + Debian Lenny
IPTables - Desvendando o mistério
Instalação do Layer7 no Debian Etch
Slackware 11 + kernel-2.6.18 + Layer7 + iptables
Controlando 2 links de internet (roteados) em um gateway Linux com SQUID
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal