Pular para o conteúdo

Firewall com Iptables + Squid

Configuração de um servidor seguro usando iptables e redirecionamento de proxy com Squid.
Henrique Augusto rickordeb
Hits: 56.276 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Introdução

Configuração de um servidor seguro usando iptables e redirecionamento de proxy com Squid.

Objetivos:
  • Noções sobre firewall;
  • Como utilizar o firewall iptables;
  • Como instalar e configurar o proxy Squid;

Firewall

O Firewall é um programa que tem como objetivo proteger a máquina contra acessos e tráfegos indesejáveis, proteger serviços que esteja rodando e bloquear a passagem de pacotes que não se queiram receber.

Iptables

É um firewall a nível de pacote e funciona baseado no endereço/porta de origem/destino do pacote. Funciona através da comparação de regras para saber se um pacote tem ou não permissão para passar.

Características:
  • Trabalha com a especificação de portas/endereços de origem/destino;
  • Suporte a protocolos TCP/UDP/ICMP;
  • Suporte a interfaces de origem/destino;
  • Manipula serviços de proxy na rede;
  • Tratamento de tráfego divido em chains;
  • Muito rápido, estável e seguro;
  • Permite enviar alertas personalizados ao syslog;
  • Suporte a SNAT e DNAT
  • Permite especificar prioridade para determinados tipos de pacotes.

Regras:

São comandos passados ao iptables para que ele realize uma determinada ação de acordo com o endereço/porta de origem/destino, interface de origem/destino. Exemplo:

# iptables -A INPUT -s 192.168.2.1 -j DROP

As opções passadas ao iptables para manipular as regras são sempre em maiúsculas.

Opções:

1) Adicionado regras (-A):

# iptables -A INPUT -s 127.0.0.1 -j DROP

2) Listando regras (-L):

Opções principais : -v, -n

# iptables -L INPUT
   Chain	INPUT	(policy ACCEPT)	
   Target	prot	opt	source	 	destination
   DROP	       all	  --	 anywhere       localhost

3) Apagando regras (-D):

# iptables -D INPUT 1
# iptables -D INPUT -s 127.0.0.1 -j DROP


4) Inserindo uma regra (-I):

# iptables -I INPUT 1 -s 192.168.2.1 -d 127.0.0.1 -j ACCEPT

5) Substituindo uma regra (-R):

# iptables -R INPUT 2 -d 127.0.0.1 -p icmp -j DROP

Exemplo de regras:

Limpando todas as regras:

# iptables -F

Bloqueia o tráfego vindo da rede 200.200.200.*:

# iptables -A INPUT -s 200.200.200.0/24 -j DROP

Bloqueia conexões com o destino 192.128.2.5:

# iptables -A OUTPUT -d 192.168.2.5 -j DROP

Bloqueia o tráfego da máquina www.dominio.com.br a rede 200.251.159.3:

# iptables -A INPUT -s www.dominio.com.br -d 200.251.159.3 -j DROP

Bloqueia o acesso externo ao serviço de SMTP:

# iptables -A INPUT -p tcp -dport 25 -j DROP

Exemplo de um firewall:

Regras para uma intranet onde o administrador rejeitou todos os tipos de serviços exceto o www e a porta 1521 (Oracle) para sua rede interna.

#!/bin/sh
iptables -F
iptables -P INPUT DROP
iptables -t nat -F
iptables -P FORWARD LOG
iptables -P FORWARD DROP
iptables -A INPUT -p tcp --dport 80 -s 200.251.159.8 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -s 200.251.159.47 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/255.255.0.0 -i eth1 -j ACCEPT
iptables -A INPUT -p tcp --dport 4711 -s 200.251.159.49 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 4711 -s 200.251.159.5 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp -s 200.251.159.15 -i eth0 -j ACCEPT
iptables -A FORWARD -p tcp --dport 1521 -s 0/0 -d 0/0 -i eth0 -j LOG
iptables -A FORWARD -p tcp --dport 1521 -s 0/0 -d 0/0 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp -s 200.251.159.6 -i eth0 -j ACCEPT
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Proxy
Nenhum artigo encontrado.

Nessus Portscanner

Instalação do ClamAV com DazukoFS

Hidden Service - Disponibilizando seu site na Deep Web através do Tor

Um dia depois da inundação

Código Aberto já não é uma questão de gosto

#1 Comentário enviado por y2h4ck em 10/12/2007 - 11:01h
Superficial, da uma ideia interessante de receitinha de bolo pra iptables..

Mas isso ai nao tem nada de "servidor seguro" :-)

[]s
#2 Comentário enviado por rickordeb em 10/12/2007 - 11:07h
É mesmo bem superficial, para quem está começando ter uma idéia!!!

[]s
#3 Comentário enviado por elgio em 10/12/2007 - 11:34h
Achei um erro de sintaxe;

iptables -P FORWARD LOG

A política LOG não pode ser a padrão. Logo após esta regra tu coloca DROP como padrão.
#4 Comentário enviado por rickordeb em 10/12/2007 - 12:21h
OK
#5 Comentário enviado por removido em 10/12/2007 - 15:15h
Olha, não está "O PRIMOR" do firewall, mas as regras estão com uma explicação legal, e satisfatória para quem quer começar a aprender.

Eu recomendo (e muito) o guia foca, eu lí apenas a parte de iptables (por enquanto) e foi o divisor de águas!

#6 Comentário enviado por petrucius em 10/12/2007 - 15:51h
Ja que vcs. querem ajudar com comentarios, por favor HELLP-me pois gostaria que enviassem um modelo mais simples porem que funcione de verdade pois so consigo colocar o servidor para rodar na internet...to todo enrolado. to usando a eth0 para internet e eth1 para rede interna.
gostaria de um modelo sem muitos flus..flus...quero somente fazer a minha rede rodar na internet atraves do iptable e squid. Ja tentei de tudo, e sei que deve ser um pequeno detalhe. mas nao encontro..por favor mim ajudem.
#7 Comentário enviado por professordavid em 10/12/2007 - 16:04h
Cara.. explica melhor. . o que voce quer fazer.?? É compartilhar a internet?? Dá uma explicada melhor que a gente tenta ajudar..
#8 Comentário enviado por jotapedesp em 10/12/2007 - 17:40h
Muito mau Explicado seu artigo.....
#9 Comentário enviado por adrianoturbo em 11/12/2007 - 08:47h
Faço minhas palavras aos demais .
#10 Comentário enviado por fjbvn em 11/12/2007 - 21:13h
Cara, sendo sincero.

Apesar de até hoje não ter tido tempo para produzir nada para a comunidade, tenho que fazer minhas as palavras de alguns colegas...

Mais amigo, encare como crítica construtiva, para vc vim e criar outro artigo melhor.
#11 Comentário enviado por nil_anderson em 18/12/2007 - 21:34h
Sinceramente, concordo com o último comentário...
O objetivo não é criticar para "ofender", mas sim, que sirva como insentivo para poder melhorar seus artigos e trazer mais informações interessantes.

Estes comentários/criticas são frequentes, devemos aprender a aceitá-las, ok?

Achei muito insuficiente/superficial este artigo (minha opinião).
#12 Comentário enviado por Jeremias Costa em 05/01/2008 - 15:20h
muito massa esse artigo !!
simples e eficiente, princialmente par usuarios iniciantes no squid !!
legal

Contribuir com comentário

Entre na sua conta para comentar.