Criação de Firewall Iptables [RESOLVIDO]

1. Criação de Firewall Iptables [RESOLVIDO]

Daniel Fernandes
volcom

(usa Debian)

Enviado em 23/06/2010 - 15:18h

Pessoal,

Não sou grande conhecedor de Iptables (ainda!)

Normalmente uso/crio firewalls para utilização em Proxys com base em regras que já existem em outros servidores, portanto com FORWARD, OUTPUT, INPUT e tudo mais que temos direito, por exemplo:

# Permite ssh para o firewall
iptables -A INPUT -p tcp -i eth1 -s 192.168.1.0/24 --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -o eth1 -d 192.168.1.0/24 --sport 22 -j ACCEPT
iptables -A FORWARD -p tcp -i eth1 -s 192.168.1.0/24 --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp -o eth1 -d 192.168.1.0/24 --sport 22 -j ACCEPT

Mas como podem ver sempre trabalhando com rede local.

Porem hoje me deparei com um "desafio", pois temos um servidor Debian hospedado nos EUA rodando alguns serviço (FTP, HTTP, POP, SMTP e claro SSH) com somente uma placa de rede.

Minha dúvida (e medo, pois não tenho como remover as regras) é como devem ser as regras para esse firewall levando-se em consideração que preciso bloquear as portas de fora pra dentro sem correr risco de perder contato com o servidor via SSH.

Gostaria de pelo menos um modelo em um desses protocolos/portas para iniciar meus testes. Depois com mais calma restringir esse acesso somente para meus IPs.

Ah, para evitar a perda de contato caso eu faça alguma besteira, pensei em colocar no cron os comandos que limpam as regras do iptables, o que acham? hehe

# Limpa Regras nas tabelas Filters e NAT
iptables -F
iptables -F -t nat

Espero que me ajudem ou me deixem mais seguro pelo menos.

Obrigado!


  


2. Re: Criação de Firewall Iptables [RESOLVIDO]

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 23/06/2010 - 15:28h

é bem simples, aqui mesmo no VOL existem várias receitas para máquinas isoladas (hosts), que é o que essa uma é.

para MINHA facilidade (já me 'expulsei' várias vezes - rs), hj em dia eu tenho um script, no /root, que diz o seguinte:
# temporario.sh
#!/bin/bash
./rc.firewal restart
sleep 60
/etc/init.d/rc.firewal restart
exit 0

ou seja, tenho um rc.firewall em /root (na primeira linha), depois um sleep de 60 segundos e finalmente chamo o rc.firewall original com restart. Assim, se o rc.firewall DAQUI estiver errado, daqui a 60 segundos as coisas voltam a funcionar normalmente.

aqui: http://pastebin.com/pTGsvsqZ eu coloquei um rc.firewall meu que funciona bem, para máquina isolada. Note PRINCIPALMENTE as politicas: é tudo DROP, ou seja, só o OUTPUT é permitido.

as linhas para dhcp estão comentadas porque aqui no trampo não estão em uso (só em casa, que é virtua).

divirta-se.


3. Re: Criação de Firewall Iptables [RESOLVIDO]

Daniel Fernandes
volcom

(usa Debian)

Enviado em 23/06/2010 - 15:43h

Valeu Irado!

Vou estudar e testar e em breve retorno!

Abraço


4. Re: Criação de Firewall Iptables [RESOLVIDO]

Daniel Fernandes
volcom

(usa Debian)

Enviado em 23/06/2010 - 18:43h

Caraca...

Fiz algo errado! kkkkkk
Passei o maior pânico sem acessar o servidor e alguns serviços e não sei por que não executou minha limpeza das regras no cron...tive que abrir um chamado e reiniciar o servidor :(

Veja as regras que usei:

# Limpa Regras nas tabelas Filters e NAT
iptables -F
iptables -F -t nat

# Politica de bloqueio TOTAL
iptables -t filter -P FORWARD DROP
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT ACCEPT

# Libera porta SSH - 22
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

# Libera portas HTTP - 80 e 8080
#iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
#iptables -t filter -A INPUT -p tcp --dport 8080 -j ACCEPT

# Libera portas FTP - 20 e 21
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8080 -j ACCEPT

# Libera porta POP - 110
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT

# Libera porta SMTP - 25
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT

Onde eu errei!?


5. Re: Criação de Firewall Iptables [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 23/06/2010 - 19:58h

Você dropou as pólices padrões mas não especificou aceitar os pacotes com estado RELATED e ESTABLISHED:
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


6. além disso..

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 23/06/2010 - 21:48h

vc, TEIMOSAMENTE, mais teimoso que galinha na horta, não fez como eu sugeri, um script temporário.sh para voltar as coisas para o normal, caso dessem errado. Além disso, no MEU script vc tem as condições para o statefull - QUE VC IGNOROU.

deveria ter tido um pouco mais de humildade e ESTUDADO o script que te passei com mais cuidado ;)

O esperto aprende com os próprios erros. O inteligente, com os êrros alheios ;)

risos.

flames > /dev/null


7. Re: Criação de Firewall Iptables [RESOLVIDO]

Daniel Fernandes
volcom

(usa Debian)

Enviado em 25/06/2010 - 15:31h

Estudarei, porque AQUI a paciência esta RARA!

Grato!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts