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: 51.281 ]

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


Autenticações via NTLM e RADIUS



Autenticação via NTLM

A autenticação básica do Squid é a msnt_auth, o arquivo de configuração fica em /etc/squid/msntauth.conf. É somente necessário fazer alteração em 2 linhas para o servidor já começar a autenticar.
  • PDCSERVER - é o nome do controlador primário de domínio;
  • BDCSERVER - é o nome do controlador secundário de domínio;
  • DOMÍNIO - é o nome do domínio a que os usuários pertencem.

Deve-se incluir o controlador de domínio no arquivo /etc/hosts:

server    PDCSERVER           BDCSERVER          DOMÍNIO
server    other_PDC           other_BDC          otherdomain

Autenticação via Radius

Primeiro temos que instalar um módulo de autenticação Perl (Authen::Radius), basta executar o comando abaixo para instalá-lo:

# perl -MCPAN -e shell
cpan> install Authen::Radius

Agora vamos fazer a configuração para autenticar os usuários via radius, que é toda feita no arquivo /etc/squid/squid.conf. É bem simples para ser feito, abaixo vamos mostrar um exemplo de como fazer:

auth_param basic program /usr/lib/squid/radius
auth_param basic children 5
auth_param basic realm EMPRESA - Login \xe0 Internet
auth_param basic credentialsttl 2 hours
authenticate_cache_garbage_interval 1 hour
authenticate_ttl 1 hour
authenticate_ip_ttl 0 seconds

Vamos criar um script Perl para que seja feita essa autenticação dentro da pasta /usr/lib/squid/radius, vamos adicionar os comandos como mostra abaixo:

# vi /usr/lib/squid/radius

#!/usr/bin/perl
$|=1;
BEGIN {;}
END {print "ERR" unless $RAD{loaded};}
$RAD{loaded} = 0;
$RAD{hostname} = "servidorRadius:1812";
$RAD{key} = "senha";
main();
sub main {
   local(@info,$radius);
   use Authen::Radius;
   $RAD{loaded} = 1;
   while (<STDIN>) {
     chop($_);
     @aux = split(/ / , $_);
     $user = @aux[0];
     $passwd = @aux[1];
     $radius = new Authen::Radius(Host => $RAD{hostname}, Secret => $RAD{key});
     print $radius->check_pwd($user, $passwd) ? "OK\n" : "ERR\n";
   }
}

Agora depois de escolher seu método de autenticação e estiver tudo finalizado, vamos iniciar o nosso servidor SQUID WEB PROXY.

# /etc/init.d/squid start

Espero ter ajudado quem tinha dúvidas sobre o assunto, aí está, se alguém ainda tiver dúvida e não tenha conseguido fazer a instalação, deixe mensagens ou me envie email que assim que tiver tempo estarei respondendo a todos.

Obrigado a todos - SEJA LIVRE, USE LINUX.
Everton Godoi - evertongodoi@hotmail.com

Página anterior    

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

Ligando e abrindo somente uma aplicação no Linux

Instalação do Apache, MySQL e PHP

Proxy transparente com Squid 2.6 e FWBuilder

Montando RAID manual no Linux

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

Leitura recomendada

Thunder Cache - Cache inteligente

Bloqueando o Messenger com iptables e Squid

Manual traduzido do Squid - Parte 3

Liberando vídeos específicos do YouTube com e2guardian + Squid utilizando interceptação SSL

DansGuardian versões 2.9.3.0 e superiores em Debian 5.01

  
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 é hackmanbomb@yahoo.com.br.
ó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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts