iptables

1. iptables

ubuntu
ubuntu_

(usa Outra)

Enviado em 02/01/2010 - 16:30h

Esse é meu primeiro post aqui no site estou com problemas para aprender iptables.

Estou fazendo tudo na minha máquina em casa

Primeiro limpei todas as regras

iptables -F

agora bloqueio tudo
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

ai vem os problemas. esta tudo bloqueado não acesso nenhum site na internet ok?

suponhamos que eu queira liberar acesso ao google eu faço assim:

iptables -A OUTPUT -d www.google.com -j ACCEPT

mas nao funciona para nada. tudo anda continua bloqueado.

ai começo do zero novamente e dou um ACCEPT para tudo.

ate ai tudo certo acesso qualquer site. Entao eu faço:
iptables -A OUTPUT -d www.google.com -j REJECT ou DROP e esta bloqueado o acesso ai tento liberar novamente
iptables -A OUTPUT -d www.google.com -j ACCEPT
e continua bloqueado. Resumindo tudo que bloqueio nao é desbloqueado. Alguem pode ajudar?



  


2. Re: iptables

kleber galucio
klebrr

(usa Linux Mint)

Enviado em 02/01/2010 - 18:06h

O que vc precisa é de um tutorial basico sobre IPTABLES
não basta apenas dropar tudo e sair liberando, existem modulos a serem carregados,
uma pesquisa rapida aqui no vol vc encontra varios artigos e dicas de iptables.

Para adicionar uma regra contraria, primeiro você tem que remover uma regra já declarada:
iptables -D OUTPUT -d www.google.com -j REJECT
ai sim vc adiciona a regra liberando o acesso ao google.

o ideal é fazer um script de firewall.

confere ai o link:
http://www.vivaolinux.com.br/artigo/Firewall-seguro-com-o-IPTables/
ou
http://www.vivaolinux.com.br/artigo/Firewall-iptables-com-NAT

Tutorial:
http://www.vivaolinux.com.br/artigo/Dominando-o-iptables-%28parte-1%29/

Pesquisa:
http://tinyurl.com/y8th6hc


3. Re: iptables

ubuntu
ubuntu_

(usa Outra)

Enviado em 02/01/2010 - 18:16h

Mas se eu remover a regra que eu criei para bloquear, automaticamente o site vai estar liberado e não é preciso criar outra regra liberando. que nem citei antes:

se eu fizer assim:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

vai estar tudo bloqueado, ou seja nao preciso de regras individuais. ai se eu tentar liberar algo ex.
iptables -A OUTPUT -d www.google.com -j ACCEPT nao funciona ou seja não existe uma regra de bloqueio para esse site para ser excluída. Isso é o que eu não estou conseguindo compreender.


4. Re: iptables

Jefferson Diego
Diede

(usa Debian)

Enviado em 02/01/2010 - 18:18h

ubuntu_, como disse o amigo Kleber acima, caso você queira criar uma regra contrária, apague a atual primeiro começando por "iptables -D" e repetindo o resto da regra.
Quanto a dropar a política padrão na saída, é meio complexo, pois mais atrapalha do que ajuda.
A não ser em casos extremos, é mais fácil permitir toda a saída e bloquear apenas o necessário, mas, de qualquer forma, se sua saída é DROP por padrão (iptables -P OUTPUT DROP), além de liberar um site (iptables -A OUTPUT -d www.google.com -j ACCEPT), tem-se que liberar os pacotes que são relacionados aos que vão para este site (iptables -I OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT).
PS: É mais interesante usar na regra do RELATED,ESTABLISHED o "-I" ao invés do "-A", pois assim você faz a regra ser a primeira.


5. TCP, protocolo orientado a conexão

André Gustavo Neves Lopes
andrelopes.mrx

(usa FreeBSD)

Enviado em 02/01/2010 - 19:22h

boa noite Amigo,

Segue abaixo algumas dicas, que podem te ajudar ANTES de você tentar fazer seu primeiro firewall com iptables (na verdade qualquer firwall)

* Conexões do tipo, client / server, tem 2 caminhos, sempre: ida e volta.

* As chains que você citou acima funcionam da sequinte maneira:
-- INPUT: pacotes que são recebidos e destinados ao próprio host
-- OUTPUT: pacotes que são enviados pelo próprio host
-- FORWARD: pacotes que passam pelo host, mas não são destinados, nem originados por ele.
e vamos colocar aqui "host", como o próprio firewall.

Então usando como cenário, o que você está tentando fazer,

1 - Limpa tudo
2 - Bloqueia tudo (INPUT, OUTPUT e FORWARD)
3 - Libera OUTPUT para google.com

O pacote é enviado, (uma regra de OUTPUT permite isso), e webserver recebe a requisição processa e devolve, mas quando ela chega, é dropada, pois a policy default é DROP, e não existe nenhuma regra dizendo que pacotes vindos de "google.com", podem ser recebidos.

Existem também outras coisas que você deve pensar

- Grandes portais usam Farms de Webservers, ou seja, diferentes servidores (diferentes ip´s), podem responder suas requisições, e não é muito aconselhavam usar resolução de nomes em scripts iptables.

- O iptables é muito poderoso, não se prenda apenas em regras de origem destino, o iptables é statefull você pode criar regras baseada nos status dos pacotes, ou portas, ou protocolos, ou seja, as possibiliades são muitas.

Espero ter contribuído com teu aprendizado.

André Gustavo
blog: http://blog.mrx.com.br
gtalk: andre@mrx.com.br






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts