Pular para o conteúdo

iptables (iptables)

Este arquivo (/etc/sysconfig/iptables no Fedora Core 3) bloqueia o acesso á sua máquina na rede, inclusive para SSH inicialmente. Para acessar é necessário um port knocking (bater na porta) na porta 1600 (que será descatado - DROP), que pode ser feito com um simples telnet para que a porta 22 se abra. Após a conexão via SSH outro knocking na porta 1599 ou 1601 torna a fechar (sem desconectar o cliente já logado).

Este método é ótimo para evitar port scanners (já que o método DROP evita qualquer envio de informações da máquina, ao contrário de um REJECT) e já que a porta que abrirá o SSH fica entre duas que fecham  qualquer port scan incremental/decremental vai tornar a fechar a porta após abrí-la.

(Este conf NÃO É DE MINHA AUTORIA, encontrei-o na Internet algum tempo atrás, em site que não mais recordo. Estou colocando-o aqui por ser um lugar seguro e sempre acessível a outros usuários.)
Gustavo Vasconcelos Tango
Hits: 13.056 Categoria: Segurança
  • Download
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Download iptables
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -s 10.0.0.0/24 -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -m recent --rcheck --name SSH -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1599 -m recent --name SSH --remove -j DROP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1600 -m recent --name SSH --set -j DROP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1601 -m recent --name SSH --remove -j DROP
-A RH-Firewall-1-INPUT -j DROP
COMMIT
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Xorg (xorg.conf)

ALSA (.asoundrc)

IP-Tables (rc.firewall)

Proxy Squid (squid.conf)

sudo (sudoers)

backup-manager (backup-manager.conf)

squid (squid.conf)

#1 Comentário enviado por isaacson em 01/05/2005 - 18:06h
é muito bom vou configurar na minha maquina para fazer os testes ok
#2 Comentário enviado por y2h4ck em 02/05/2005 - 09:54h
Caro Tango, estou tentando realizar alguns testes com essa configuraçao para
tenta coloca-la em desenvolvimento. Porem meus testes nao estão tendo muita produtividade. Sera que poderiamos conversar para que eu possa analisar algumas impressoes melhores sobre este script ?

Agradeço
#3 Comentário enviado por Tango em 02/05/2005 - 11:03h
Olá Anderson, claro que podemos. Aqui mesmo ou por algum IM de sua preferência. O email disponível no meu perfil também é meu username no MSN Messenger.

De antemão, porém, digo que não sou especialista em IPTables, e que apesar de entender seus arquivos de configuração não tenho aptidão para escrever um do zero. Como expliquei, este conf foi encontrado na iNet alguns meses atrás, e coloquei aqui por ser útil e para que nãoi "se perdesse" na rede.
#4 Comentário enviado por agk em 03/05/2005 - 21:35h
Realmente muito interessante essa dica, está de parabéns por tê-la compartilhado conosco.
Vou fazer alguns testes e se funcionar dentro do esperado vou começar a utilizar esse conceito.
Pelo parece precisa ter o módulo recent do iptables compilado.
Vlw.
#5 Comentário enviado por cvs em 06/05/2005 - 21:54h
<karnagge> isso inibe newbies que querem ser hackers
<karnagge> mais e se eu fizesse um script que fisesse assim
<karnagge> mandava um pacote e checava
<karnagge> em cada porta
<karnagge> e me desse um relatório?
<karnagge> entendeu?
<karnagge> eu mandaria na 1000 e checava todas as portas
<karnagge> ae mandaria na 1001 e checaria todas as portas
<karnagge> e ae eu tivesse esse relatorio :D
<karnagge> pronto resolvido
<karnagge> descobriria seu esquema :D
<karnagge> certo mano?
#6 Comentário enviado por Tango em 07/05/2005 - 01:07h
Okay, então você quer checar TODAS as portas após enviar um pacote para CADA UMA delas? Sim, é possível que isso acabe abrindo a porta do SSH e que seja possível acessá-la desta forma, mas se seu sistema está passível de um hacking neste nível (que dificilmente será executado por um bot) então é bom também implementar um sistema IDS e colocá-lo atrás de um roteador.

Além do que se você mudar a porta do SSH e colocar várias outras portas em DROP seu computador vai parecer invisível na rede, e o "script" teria que esperar o timeout para poder se certificar de que o pacote não foi rejeitado ou aceito.

Isso faria com que o tempo de verificar estas portas fosse extraordinariamente grande, tornando inviável este método.
#7 Comentário enviado por luizquovadis em 19/05/2005 - 06:52h
Caramba, essa configuração é 10. Fiz aqui e deu tudo certinho, na mais perfeita ordem. Esse Tango realmente bota muito quente. Valeu cara.

Contribuir com comentário

Entre na sua conta para comentar.