SQUID e as autenticações em NTLM e RADIUS

Vamos aqui fazer uma instalação de um servidor Squid Web Proxy e apresentar duas formas de autenticação, via NTLM e Radius, que são muito utilizadas hoje nos servidores proxy no mundo. Vamos também apresentar um pouco sobre como particionar os discos do servidor para que ele não tenha problemas futuros com a quantidade de logs que são gerados.

[ Hits: 49.217 ]

Por: Everton Godoi em 24/06/2007 | Blog: http://twitter.com/evertongodoi


Configuração do Squid



Agora que já estamos com o Squid instalado, com os discos particionados certinho e com o nosso diretório cache setado, vamos partir para as configurações.

# cd /etc/squid
# vi squid.conf


# http_port - Esta opção seta a Porta que o Squid irá funcionar pode ser 3128
# ou 8080 (no nosso caso será a 3128)
http_port 192.168.1.10:3128

#
# cache_mem - Define a quantidade de memória que o squid
# vai utilizar.
cache_mem 64 MB

#
# cache_swap_low e high - Valor mínimo e máximo para
# reposição dos arquivos armazenados no cache em %
cache_swap_low 90
cache_swap_high 95

#
# maximum_object_size - Tamanho máximo dos armazenamentos no cache
maximum_object_size 32 MB

#
# cache_dir - Diretório onde será armazenado o cache
cache_dir diskd /var/squid 50000 16 256

#
# cache_access_log - Onde serão armazenados os arquivos de log
cache_access_log /var/squid/logs/access.log
cache_store_log /var/squid/logs/store.log
cache_log /var/squid/logs/cache.log



# unlinkd_program
unlinkd_program /usr/lib/squid/unlinkd


# icon_directory - Diretórios que contem os ícones do squid
icon_directory /usr/share/squid/icons


# error_directory - Diretório onde fica as mensagens Web com os erros
# de acesso no Squid
error_directory /usr/share/squid/errors/Portuguese

# cache_effective_user
cache_effective_user squid

# visible_hostname - Colocar o nome do seu servidor da rede.
visible_hostname servidor.dominio.com

Agora vamos criar os arquivos que serão necessários para controle de liberação e bloqueio de IPs e sites.
  • IPProibido - Bloqueia o IP para acesso a internet;
  • DOMINIOProibido - Domínios web proibidos (ex.www.site.com.br);
  • DOMINIOLiberado - Domínios web liberados;
  • PALAVRASProibidas - Bloqueia palavras que contenham em sites.
  • PALAVRASLiberadas - Libera palavras que contenham em sites.

Vamos criar agora algumas ACLs no arquivo /etc/squid/squid.conf:

# vi /etc/squid/squid.conf

acl IPProibido dst "/etc/squid/controlist/IPProibido"
acl DOMINIOProibido dstdomain "/etc/squid/controlist/DOMINIOProibido"
acl DOMINIOLiberado dstdomain "/etc/squid/controlist/DOMINIOLiberado"
acl PALAVRASProibidas url_regex "/etc/squid/controlist/PALAVRASProibidas"
acl PALAVRASLiberadas url_regex "/etc/squid/controlist/PALAVRASLiberadas"

####
# Libera os acessos para sites que possam estar bloqueados
#
http_access allow localnet DOMINIOLiberado passwd
http_access allow localnet PALAVRASLiberadas passwd
#
# Conteúdos PROIBIDOS
http_access deny localnet IPProibido
http_access deny localnet DOMINIOProibido
http_access deny localnet PALAVRASProibidas
Página anterior     Próxima página

Páginas do artigo
   1. Iniciando nossa instalação
   2. Instalação do Squid no Debian Sarg
   3. Configuração do Squid
   4. Autenticações via NTLM e RADIUS
Outros artigos deste autor

Montando RAID manual no Linux

Proxy transparente com Squid 2.6 e FWBuilder

Instalação do Apache, MySQL e PHP

Ligando e abrindo somente uma aplicação no Linux

Detecção de intrusos (IDS), conceitos e implantação do SNORT

Leitura recomendada

Squid + IPtables com dois links de internet

Proxy transparente com Squid, com controle de banda e bloqueio por horários

SQUID: Autenticação em banco de dados MySQL cruzando IP/MAC/USUÁRIO e SENHA

Administrando Squid pelo browser, bloquear e liberar máquinas por IP, login, palavras

Squid + Winbind + Samba no AD - Autenticando por grupos

  
Comentários
[1] Comentário enviado por y2h4ck em 24/06/2007 - 17:56h

Rapaz, conhece algo em linux que autentique uma máquina usando NTLMv2 ??

Valeu.

[2] Comentário enviado por removido em 24/06/2007 - 19:30h

cara, myito legal este artigo!

[3] Comentário enviado por gui_kaneto em 25/06/2007 - 08:28h

y2h4ck, veja o meu tutorial, que está disponível em :
http://www.culminisconnections.com/sites/MCPDx/Shared%20Documents/Autenticando%20o%20SQUID%20no%20AD...

Abraços
Gui

[4] Comentário enviado por linus black em 25/06/2007 - 18:23h

muito bom nota 1000000
mas se ouver algo com o knoppix 5.0 envie para mim

[5] Comentário enviado por coffani em 26/06/2007 - 21:15h

Parabens pelo artigo, muito bem explicado...

[6] Comentário enviado por rodrigosalmeida em 07/01/2008 - 00:46h

Muito util seu artigo...valeu...jah está em meus favoritos...

[7] Comentário enviado por carlosleonardo em 06/03/2008 - 22:01h

boa noite irmao ainda nao consegui fazer funcionar com o radius com ntlm nem tentei pois quero usar o radius depois tento o outro. da q a paginanaopode ser exibida ja tinha o squid funcionando so acrescentei o restante do tutorial nomeu squid.conf. topostando meu squid para avaliação e melhor poder me ajudar. se der manda tb como crio aquele perl do tutorial q tenho duvida sou novatomanda um passo a passo pr favor.......

http_port 3128
visible_hostname tm41

cache_mem 32 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#auth_param basic program /usr/lib/squid/radius
#auth_param basic children 5
#auth_param basic realm tm41 - Login \xe0 Internet
#auth_param basic credentialsttl 2 hours
#authenticate_cache_garbage_interval 1 hour
#authenticate_ttl 1 hour
#authenticate_ip_ttl 0 seconds

#auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
#acl autenticados proxy_auth REQUIRED
#http_access allow autenticados

#Clientes acesso total e restrito
acl acesso_total src "/etc/squid/acesso_total"
acl acesso_restrito src "/etc/squid/acesso_restrito"
acl liberado url_regex -i "/etc/squid/liberado"
acl bloqueado url_regex -i "/etc/squid/bloqueado"


http_access allow acesso_total
http_access allow liberado
http_access deny bloqueado
http_access allow acesso_restrito
http_access deny all

#auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
#acl autenticados proxy_auth REQUIRED
#http_access allow autenticados

acl redelocal src 192.168.0.0/24
http_access allow localhost
http_access allow redelocal

http_access deny all


[8] Comentário enviado por lopeston em 28/04/2008 - 21:38h

Amigo, por favor, estou precisando usar uma autenticação por senha urgente em meu servidor. Tenho um servidor de internet wireless, onde não estou usando nenhum tipo de criptografia e autentiação, está muito vulnerável.
Pois gostaria de continuar usando proxy transparente, pois tenho uma banda de 4mb, um cache me ajuda bastante, gostaria de implementar a autentiação.
Agradeço se puder me ajudar,
meu msn é [email protected]
ótimo aritog, parabéns !
abraços

[9] Comentário enviado por leo1973 em 18/02/2009 - 17:49h

ola amigo meu nome é carlos leonardo estou postando novamente a pergunta pois coloquei meu squid e agora estou retornando os estudos com o linux .. fiz novamente a configuração do squid para autenticar com o radius mas ainda nao consegui ver a tela de autenticação tenho milhoes de duvidas pois com o squid consigo queria saber se a tela q aparecera nos micros clientes e diferente da do squid autenticando deste modo. e se posso mudar o nome do titulo da janela.

agora fiz tudo certinho mas nao sei ocmo fica no firewall...

se der posta ai

como disse meu squid ta ai se der repara ele para eu ver onde errei mas o squid ja nao da mas erro nenhum..


no micro cliente q ta como 98 se eu consigo pingar o gateway q e 192.168.0.1 consigo pingar sites www.bol.com.br

mas na hora de abrir o internet explorer nao aparece nada. acredito q ta faltando alguma coisinha ou ate q tenha digitado algo errado pois to sem impressora e escrevo tudo na mao e depois vou no linux e digito tudo pode ser q tenha feito algo errado. na digitação;;;

bem pingo sites gateway etc
mas na hora de abrir o navegador nao consigo navegar o q pode ser da uma dica ai..
ja rodei o perl como vc disse ja baixei enfima cho q ta tudo certo mas nao sei pq nao autentica no navegador..

coloco proxy no navegador 192.168.0.1 porta 3128

mas nao sei como fica no firewall.. posta ai o firewaal como é.. obrigadao

[10] Comentário enviado por leo1973 em 19/02/2009 - 15:45h

amigao ja ocnsegui e o carlos leonardo so nao sei como mudar aquela janelinha q vem escrito firewall: 192.168.0.1 queria colocar outro nome no lugar no ip.......


Contribuir com comentário