configuração inicial do Iptables - ajuda

1. configuração inicial do Iptables - ajuda

Bruno Mota da Silva
Bruno Mota

(usa Debian)

Enviado em 01/11/2010 - 16:35h

Boa tarde caros,

Mais uma vez estou aqui buscando ajuda. Comecei a estudar o funcionamento do Iptables do livro de Urubatan Neto e graças a Deus estou conseguindo entender a lógica da coisa... eis que surge as perguntas:

Meu servidor debian já está compartilhando a internet para a rede local depois que digitei os comandos no /bin/rc.local:
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE.

Pelo que li por padrão todas as portas da rede estão abertas pois as tabelas Filter,NAT e MANGER estão configuradas como ACCEPT por padrão correto? Depois que eu realizar o fechamento de todas as portas, ex: na tabela filter: #iptables - P INPUT,FORWARD E OUTPUT (separados em cada linha é claro) DROP:

1 - todas as requisições vinda dos clientes que se refere a pacotes (tabela Filter), ex: msn, pop3,smtp entre outras serão bloqueadas correto?
2 - Bloqueará também meu compartilhamento da internet ou ainda será aceita? Pois nesse caso não estou bloqueando a tabela NAT e ela está liberada por padrão.
3 - Eu posso colocar todas as regras para liberar as portas no caminho /bin/rc.local ou tenho que criar um arquivo dentro do caminho: /bin/meu_arquivo..dá as seguintes permissões, e dentro do caminho /bin/rc.local eu adicionar no final o caminho /bin/meu_arquivo..para toda vez que o servidor carregar subir minha configuração? ficaria então assim:

/bin/rc.local:
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE.
/bin/meu_arquivo

4 - Vamos supor que eu queira liberar a porta 43 para a rede local (POP3)na interface da internet ETH0, ficaria:
iptables -A INPUT -i ETH0 --sport 43 192.168.0.1/24 -j ACCEPT

A regra acima fica "adicione na tabela FILTER uma regra de entrada na interface ETH0 em que qualquer pacote oriundo da porta 43 que chegue na minha rede local 192.168.0./24 seja aceita"

Será que acertei? Kkkkk

Mais uma vez obrigado pela ajuda.


  


2. Re: configuração inicial do Iptables - ajuda

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 01/11/2010 - 17:26h

Se você usa debian vc pode criar um arquivo /usr/lib/firewall.sh ( ou qualquer outro lugar ) com todas as suas regras e chamá-lo no arquivo /etc/init.d/bootmisc.sh

1 - só haverá bloqueio de tudo se o seu FORWARD estiver na política DROP. Que é a chain que faz os bloqueios para as máquinas da sua rede interna.
O INPUT e OUTPUT só fazem bloquei para sua máquina que é o firewall.

Se você quiser liberar o POP3 para sua rede local , então faço o seguinte:

iptables -I FORWARD -p tcp --dport 110 -j ACCEPT
iptables -I FORWARD -p tcp --sport 110 -j ACCEPT

Dica: Procure deixar as portas 53/udp liberada no firewall para resolve os nomes de internet e porta 80/tcp para navegar na internet.

No final basta dar um:

iptables -A FORWARD -j DROP

ou

iptables -P FORWARD DROP


3. Re: configuração inicial do Iptables - ajuda

Jefferson Diego
Diede

(usa Debian)

Enviado em 01/11/2010 - 20:41h

1 - Sim. Suas requisições ainda serão processadas (conntrack), mas ao cair na chain final serão barradas
2 - Sim e não. Apesar de você não estar fazendo "bloqueios" na tabela NAT você o está fazendo na FORWARD da filter.
A ordem que os pacotes das máquinas na rede com destino à internet seguem é:
raw PREROUTING -> mangle PREROUTING -> nat PREROUTING -> mangle FORWARD -> filter FORWARD -> mangle POSTROUTING -> nat POSTROUTING
No seu caso, os pacotes não passariam da "filter FORWARD".
3 - (PS: é /etc/rc.local). A forma como as regras são carregadas não importa. Como disse o amigo acima, uma alternativa é escrever no bootmisc. Ou referenciar um arquivo no rc.local, ou escrever direto no rc.local... não faz diferença.
4 - (Porta 43 é Whois). Bom, sua regra está incompleta.
Se você almeja abranger toda a rede /24, o host deve ser 192.168.0.0 e não 192.168.0.1
Você não especifica se o "192.168.0.1/24" é o source (-s) ou o destino (-d).
Melhor utilizar "eth0" ao invés de ETH0
A regra final muda. Você quer liberar o pacote que venha da 192.168.0.0/24 ou que vá para a 192.168.0.0/24?


4. resposta

Bruno Mota da Silva
bruno mota

(usa Debian)

Enviado em 02/11/2010 - 22:35h

Boa noite,

Preciso estudar muito mais iptables..kkk ....desculpa a demora da resposta..meu login deu um problemazinho... respondendo os comentários de Foxbit3r:

1 - O INPUT/OUTPUT cria regras para a máquina que usa meu firewall né? e caso eu usasse o comando:
iptables - P INPUT/OUTPUT (separados em cada linha é claro) DROP, o bloqueio para as máquina internas também não estariam setados? Pois se as chains INPUT/OUTPUT realizam o bloqueio para a máquina q é o firewall..automaticamente os pacotes não passariam para rede interna..minha lógica está certa?

2 – Referente aos comandos abaixo: vc barrou tanto a saída como a chegada dos pacotes POP3 né?
iptables -I FORWARD -p tcp --dport 110 -j ACCEPT
iptables -I FORWARD -p tcp --sport 110 -j ACCEPT

3 – referente ainda a dúvida 2, qualquer porta que queira bloquear sempre terei que inserir o protocolo utilizado pela porta? Nesse caso o TCP ou UDP?

4 – Um exemplo que peguei do livro:
Pacotes destinados a porta 80 do nosso firewall deverão ser descartados
# iptables – A INPUT -p tcp –dport 80 –j DROP
1 - Os clientes (rede interna) tb não conseguirão receber esses pacotes correto? Já que está sendo barrado na máquina firewall.
2 - Caso eu quisesse liberar essa porta para apenas um micro da rede eu então utilizaria no lugar do INPUT o FORWARD correto? Pois nesse caso ele passaria pelo firewall mais chegaria a apenas uma máquina especificada na minha regra...minha lógica está certa?
Sobre o comando mencionado por vc no final da configuração:
iptables -P FORWARD -j DROP
Esse comando irá barrar tudo o que não estiver listado na regra acima para liberação?

Mais uma vez obrigado.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts