Firewall com Iptables + Squid
Configuração de um servidor seguro usando iptables e redirecionamento de proxy com Squid.
[ Hits: 55.101 ]
Por: Henrique Augusto em 10/12/2007
Proxy
O proxy é um programa que fica entre a rede interna e a rede mundial controlando a comunicação entre as mesmas.
Squid
Squid é um servidor de proxy e cache de alta performance, suportando HTTP e FTP. Tem como objetivo principal de compartilhar uma conexão com a internet entre vários ou mesmo com todos os usuários de uma rede.
Principais características:
Eficiência e segurança no gerenciamento do tráfego de informações;
Redução do tráfego HTTP e FTP, pois muito do que é frequentemente acessado fica no cache do servidor;
Possibilitar acesso restrito a usuário e sites específicos, com possibilidade de controle de horários permitidos para acesso.
Instalação:
Existem 2 maneiras de se instalar o Squid:
1. Utilizando o pacote rpm (pré-definido):
Arquivo vem junto com a distribuição do
Linux :
# rpm -ivh squid-versão.rpm
2. Utilizando o tar.gz (fonte):
2.1. Download
http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE4.tar.gz
2.2. Descompactar
# tar -zpxvf squid-2.5.STABLE4.tar.gz
2.3. Instalar
Entre no diretório descompactado:
# ./configure --prefix=/etc/squid --enable-err-language=Portuguese
# make all
# make install
Configuração:
Edite o arquivo
/etc/squid/etc/squid.conf .
Opções principais:
http_port (padrão 3128)
Cache_mem (Tamanho da memória a ser utilizado) Ex: cache_mem 32 MB
Cache_dir (Diretório onde arquivos serão armazenados. Ex: cache_dir ufs /var/spool/squid 300 16 256
Cache_access_log (arquivo no qual será gerado log dos acessos ao servidor). Ex: Cache_access_log /var/log/squid/acces.log
Adicione as linhas:
acl all src 192.168.2.0/255.255.255.0
http_access allow all
Salve o arquivo.
Dentro do diretório do squid/bin:
# ./squid -Z (cria o diretório do cache)
Iniciando o Squid:
Com o pacote rpm:
# cd /etc/rc.d/init.d
#./squid start
# ntsysv (habilitar squid)
Com o tar:
# cd /etc/squid/bin
# ./RunCache &
Configuração:
1) Exemplo 01 de regras:
authenticate_program /usr/bin/ncsa_auth /etc/squid/password
acl unit proxy_auth REQUIRED
acl interno src 192.168.2.3
acl interno1 src 192.168.2.5
acl pagina_local dst 200.251.159.0/255.255.255.0
acl interno3 src 192.168.2.10
acl Safe_ports port 8000 #ibict
acl negarend url_regex "/etc/squid/negado"
http_access deny negarend
http_access allow interno unit
http_access deny pagina_local interno1
http_access allow interno3
http_access deny all
2) Exemplo 02 de regras:
authenticate_program /usr/bin/ncsa_auth /etc/squid/senhas
acl interno3 src 200.220.20.1
acl userctl proxy_auth "/usuarios/userctl"
acl ip_permitidos_userctl url_regex "/usuarios/ip_permitidos_userctl"
acl sites_permitidos_userctl dstdomain “/usuarios/sites_permitidos_userctl"
http_access allow userctl sites_permitidos_userctl
http_access allow userctl ip_permitidos_userctl
http_access allow interno3
http_access deny all
Arquivos:
- Criando arquivo de senha:
# httpasswd -c senhas usuario
- userctl
atendimento
recepcao
acristina
- ip_permitidos_userctl
#Setor de Protocolo
192.168.3.188
192.168.3.190
192.168.2.30
- sites_permitidos_userctl
www.uol.com.br
www.terra.com.br
www.globo.com
Página anterior
Páginas do artigo
1.
Introdução
2. Proxy
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada
Monitorando máquinas Windows com o Nagios
O Kerberos não é um cachorro de 3 cabeças!
Remover vírus do Windows usando pendrive com Linux
webCalendar: a agenda e o PAM
NTop - Configurações gerais
Comentários
Superficial, da uma ideia interessante de receitinha de bolo pra iptables..
Mas isso ai nao tem nada de "servidor seguro" :-)
[]s
É mesmo bem superficial, para quem está começando ter uma idéia!!!
[]s
Mensagem
É mesmo bem superficial, para quem está começando ter uma idéia!!!
[]s
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.
Mensagem
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.
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!
Mensagem
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!
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.
Mensagem
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.
Cara.. explica melhor. . o que voce quer fazer.?? É compartilhar a internet?? Dá uma explicada melhor que a gente tenta ajudar..
Mensagem
Cara.. explica melhor. . o que voce quer fazer.?? É compartilhar a internet?? Dá uma explicada melhor que a gente tenta ajudar..
Muito mau Explicado seu artigo.....
Mensagem
Muito mau Explicado seu artigo.....
Faço minhas palavras aos demais .
Mensagem
Faço minhas palavras aos demais .
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.
Mensagem
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.
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).
Mensagem
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).
muito massa esse artigo !!
simples e eficiente, princialmente par usuarios iniciantes no squid !!
legal
Mensagem
muito massa esse artigo !!
simples e eficiente, princialmente par usuarios iniciantes no squid !!
legal
Contribuir com comentário
Enviar