Home | Downloads | Fórums | Notícias | Preferências | Galeria | Cadastro | Wiki-BR
 

[ Comunidade Fedora Brasil ]: Forums



Comunidade Fedora Brasil :: Exibir tópico - Bloquear tudo. Liberar apenas o necessário.
 FAQFAQ   PesquisarPesquisar   GruposGrupos   PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   LoginLogin 

Bloquear tudo. Liberar apenas o necessário.

 
Novo Tópico   Responder Mensagem    Comunidade Fedora Brasil - Índice do Fórum -> Firewall
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Alessandromd
Novato
Novato


Registrado em: Oct 18, 2007
Mensagens: 17

MensagemEnviada: Ter Mar 11, 2008 8:11 am    Assunto: Bloquear tudo. Liberar apenas o necessário. Responder com Citação

Pessoal, não tenho muita experiência em Linux, mas já consegui algum sucesso com a ajuda de vocês.
Tenho um pc que é gateway da rede com Linux Fedora 7, iptables e squid transparente funcionando.
O squid funciona bem e o iptables mais ou menos...
Eu quero fechar todas as portas e abrir apenas o necessário, mas tô apanhando um pouco.
Aqui vai parte do meu firewall para analise:

#!/bin/bash

INTRANET="eth0"
INTERNET="eth1"
REDE="192.168.20.0/24"

# Impedindo a troca de pacotes entre as eths...
echo "0" > /proc/sys/net/ipv4/ip_forward

# Limpando as Regras
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

# Primeiro, ativar o mascaramento (nat).
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -o $INTERNET -j MASQUERADE

# Redireciona a porta 80 para 3128 (squid)
iptables -t nat -A PREROUTING -i $INTRANET -p tcp --dport 80 -j REDIRECT --to-port 3128

#"Liga" o forward
echo "1" > /proc/sys/net/ipv4/ip_forward

--------------------------------------------------------------------------
Com esse script minimo ai, funciona bem, mas se eu adiciono os comandos para fechar todas as portas e vir abrindo, nada mais funciona...
Com os comandos para fechar e abrir as portas, ficaria assim:

#Apenas a parte que interesa:

# Limpando as Regras
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

#Liberando portas
iptables -A INPUT -i $INTRANET -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i $INTRANET -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -s $REDE -d 0/0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i $INTRANET -p tcp --dport 3128 -j ACCEPT
iptables -A FORWARD -i $INTRANET -p tcp --dport 3128 -j ACCEPT
iptables -A OUTPUT -s $REDE -d 0/0 -p tcp --dport 3128 -j ACCEPT

#Bloqueando todas as portas
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#Liberando portas
iptables -A INPUT -i $INTRANET -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i $INTRANET -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -s $REDE -d 0/0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i $INTRANET -p tcp --dport 3128 -j ACCEPT
iptables -A FORWARD -i $INTRANET -p tcp --dport 3128 -j ACCEPT
iptables -A OUTPUT -s $REDE -d 0/0 -p tcp --dport 3128 -j ACCEPT

--O restante dos comandos...
FIM.

Notem que eu coloquei os comandos para abrir as portas 80 e 3128 antes e depois do bloqueio, mas não funcionou. A navegação para...

Alguem saberia me dizer o que eu estou fazendo de errado?

Para se fazer o bloqueio geral das portas e liberar apenas o necessário, a liberação das portas deve ficar antes ou depois do bloqueio?

Mais uma coisa, quando se utiliza o comando LOG no iptables/Fedora 7, onde é gravado o log que é gerado?

Obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Alessandromd
Novato
Novato


Registrado em: Oct 18, 2007
Mensagens: 17

MensagemEnviada: Qua Mar 19, 2008 11:43 am    Assunto: Responder com Citação

Ninguém?
Eu sabia que não era muito simples, mas também não seria tão complicado...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
nfeldman
Usuário
Usuário


Registrado em: Nov 12, 2006
Mensagens: 63
Localização: Rio de Janeiro

MensagemEnviada: Qua Mar 19, 2008 1:34 pm    Assunto: Responder com Citação

Olha, já faz bastante tempo que eu não mecho com iptables e estou meio enferrujado, mas vamos lá.

Nesta linha:
iptables -A OUTPUT -s $REDE -d 0/0 -p tcp --dport 80 -j ACCEPT
você está liberando os pacotes que saem da sua rede em em direção à porta 80 (-dport 80). Está certo, pois os servidores web costumam rodar na porta 80.

Mas nessa linha:
iptables -A INPUT -i $INTRANET -p tcp --dport 80 -j ACCEPT
você está liberando os pacotes que vem da internet para a sua rede interna com destino à porta 80 (-dport 80). Isso não está correto, pois o seu browser não utiliza a porta 80. O que me parece ser a forma correta é trocar o dport (destination-port) por sport (source-port).

Mesmo esse jeito não é 100% seguro, e depois posso tentar explicar porque. Mas primeiro veja se consegue fazer a navegação voltar a funcionar ai.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    Comunidade Fedora Brasil - Índice do Fórum -> Firewall Todos os horários são GMT - 3 Hours
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.

Powered by phpBB © 2001, 2005 phpBB Group

Forums ©
_