Como bloquear tudo com o iptables e liberar somente alguns sites

1. Como bloquear tudo com o iptables e liberar somente alguns sites

Robson
robson.xrc

(usa Debian)

Enviado em 06/08/2010 - 17:52h

Gostaria de saber como posso fazer para bloquear tudo com o iptables e liberar somente alguns sites. Estou pensando em algo assim:

#Bloqueando tudo
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#Liberando um site
iptables -A INPUT -d www.caixa.gov.br -j ACCEPT

Estou no caminho certo?


  


2. Re: Como bloquear tudo com o iptables e liberar somente alguns sites

Perfil removido
removido

(usa Nenhuma)

Enviado em 06/08/2010 - 19:32h

A linha de pensamento e esta , mas faltam algumas regras para que tudo funcione. Estude sobre STATEFULL no iptables para voce entender como funciona. Um exemplo de uma regra para statefull seria:

iptables -t filter -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Trabalhe também com o conceito de tabelas especificando a tabela em que a regra digitada será anexada para ficar mais organizado tendo também uma visão melhor do fluxo de conexões do firewall.


3. Re: Como bloquear tudo com o iptables e liberar somente alguns sites

Robson
robson.xrc

(usa Debian)

Enviado em 09/08/2010 - 17:31h

ok! obrigado!


4. não, não está.

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 09/08/2010 - 21:32h

quero dizer, está, mas parcialmente. Quanto às politicas, estão certas, DROP pra input/fwd. Output (que é saída) liberada.

mas o conceito que vc colocou o INPUT está equivocado. Em pequeno questionamento:

o site da caixa está AQUI, na sua máquina? não, não está, está alhures, lá fora, na internet.

então, é FORWARD (vc faz o pacote avançar, mas NÃO ficar AQUI, na sua máquina). Depois temos o postrouting, que é fazer o nat.

então, INPUT é apenas para aquilo que sua máquina está preparada para oferecer serviço (ssh, por ex).

Todo o resto (provávelmente) é FORWARD com posterior POSTROUTING (nat).

selecione aqui no VOL alguns tutoriais, pra ficar mais claro.

divirta-se.


5. Re: Como bloquear tudo com o iptables e liberar somente alguns sites

Robson
robson.xrc

(usa Debian)

Enviado em 10/08/2010 - 09:28h

Ok!

Mais então se eu dropar tudo, entrada, saida e repasse.

Posso pegar o artigo do Eliseu conforme link abaixo e fazer a liberação somente dos sites em cima desse firewall adicionando a linha abaixo:

iptables -t nat -I POSTROUTING -p ALL -s 0/0 -d www.caixa.gov.br -j MASQUERADE

artigo:

http://www.vivaolinux.com.br/artigo/Firewall-para-o-dia-a-dia/?pagina=2

Este é o caminho?



6. médio

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 10/08/2010 - 10:37h

quase isso mas não é bem isso. Olhando lá no link que vc menciona, acho o script razoável, EXCETO pelo seguinte:

se as politicas são DROP, nada justifica um montão de DROP nas regras. SE não vai passar de qualquer forma (e não vai, dada a politica) tudo o mais que vc faça é "encheção de linguiça". Tem chefe que gosta, enche os olhos (não serve pra po**a nenhuma, mas fica bonitinho pro chefe).

esta regra # PROTEÇÃO CONTRA PING DA MORTE # é útil, embora a minha seja levemente diferente:

iptables -t filter -A INPUT -p icmp -m icmp --icmp-type echo-request -m limit --limit 5/sec --limit-burst 5 -j ACCEPT

e, finalmente, a sua regra de postrouting poderia ser mais genérica, fazendo-se o controle pelo forwarding ;)

a regra msn (última regra) jamais será vista porque a regra # ATIVA O MASCARAMENTO DE SAÍDA # vai ser "vista" primeiro.

as regras iptables são lidas sequencialmente, a primeira a ser atingida é atendida e o resto.. ignorado.

ah, sua regra de postrouting poderia ser bem genérica, fazendo-se o controle pelas regras de forwarding; se vc nao tem um forwarding, não adianta ter postrouting ;)

divirta-se :)



7. Re: Como bloquear tudo com o iptables e liberar somente alguns sites

Robson
robson.xrc

(usa Debian)

Enviado em 10/08/2010 - 11:26h

Ok, então vamos fazer um merge de regras colocando algumas, modificando e removendo outras. Meu forward ficaria algo parecido com isso:

iptables -I FORWARD -d 0/0 -s www.caixa.gov.br -j ACCEPT

Caso vc tenha algum exemplo de boas regras, praticas para o firewall, por favor post um link.

valeu!


8. equivocado

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 10/08/2010 - 11:43h

"iptables -I FORWARD -d 0/0 -s www.caixa.gov.br -j ACCEPT"

essa regra é o inverso do que vc pretende.

-d significa DESTINO
-s significa ORIGEM

como, naturalmente, sua rede não hospeda a caixa, essa regra não vai funcionar.

deve ser isto:

iptables -I FORWARD -s sua.rede/24 -d www.caixa.gov.br -j ACCEPT

para EXCELENTES artigos sobre o iptables, aqui no VOL mesmo:

http://www.google.com.br/custom?domains=www.vivaolinux.com.br&sitesearch=www.vivaolinux.com.br&a...



9. Re: Como bloquear tudo com o iptables e liberar somente alguns sites

Robson
robson.xrc

(usa Debian)

Enviado em 10/08/2010 - 11:49h

Putz, essa foi falta de atenção, eu troquei as letras rsrsrs....

Tranquilo, então vou estudar mais algumas coisas e testar essas regras.

Obrigado









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts