[FUG-BR] Squid 3 autenticando no AD em Windows 2008R2

Saul Figueiredo saulfelipecf em gmail.com
Quarta Março 13 08:48:45 BRT 2013


Em 12 de março de 2013 10:03, Ricardo Carlini Sperandio
<rcarlini em gmail.com> escreveu:
> Enviado pelo Motorola Razr
> Em 12/03/2013 09:14, "Saul Figueiredo" <saulfelipecf em gmail.com> escreveu:
>>
>> Em 11 de março de 2013 16:59, Patryck Ramos Martins
>> <patryckrm em gmail.com> escreveu:
>> > Em 2008 eu estava com essa dúvida e segui o "manual" do Sérgio Ferreira.
>> >
>> > Segue o email dele logo abaixo:
>> >
>> > #####################################################################
>> > ## How-TO para autenticação de usuário do SQUID no Active Directory
>> > ##
>> > ##  By, Sérgio Ferreira
>> > ##
>> > ##  sergio em wgo.com.br - WGO Telecom
>> > ##  sergioferreira em mmcb.com.br - Mitsubishi Motors
>> > ##
>> > #####
>> >
>> > squid autenticando no AD via winbind.
>> >
>> > Neste tipo de autenticação, não aparecerá a janela pedindo
>> > usuário e senha se o usuário já estiver autenticado no AD.
>> >
>> >
>> > ***  preparar o ambiente -
>> >
>> > Compilar o kernel do freebsd com essas opções :
>> >
>> > # Recursos de memoria para o SQUID
>> > options         MSGMNB=16384 # max # of bytes in a queue
>> > options         MSGMNI=64 # number of message queue identifiers
>> > options         MSGSEG=512 # number of message segments per queue
>> > options         MSGSSZ=64 # size of a message segment
>> > options         MSGTQL=2048 # max messages in system
>> >
>> > options         SHMSEG=16 # max shared mem id's per process
>> > options         SHMMNI=32 # max shared mem id's per system
>> > options         SHMMAX=2097152 # max shared memory segment size (bytes)
>> > options         SHMALL=4096 # max amount of shared memory (pages)
>> >
>> >
>> > *** instalar o Samba
>> > samba 3.0.x
>> > ./configure --with-winbind
>> >
>> >
>> >
>> > configurar o samba - smb.conf
>> >
>> > [global]
>> >         workgroup = _NOME_DOMINIO_  // nome NETBIOS
>> >         os level = 2
>> >         unix extensions = yes
>> >         map to guest = no
>> >         debug level = 1
>> >         socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY
>> >         wins server = 172.30.32.15
>> >         veto files = /*.eml/*.nws/riched20.dll/*.{*}/
>> >         netbios name = PROXY01
>> >         security = domain
>> >         realm = MMCB.INTRANET
>> >         password server = 172.30.32.15, 172.30.32.95
>> >         encrypt passwords = yes
>> >
>> >         server string = proxycat - Samba Server
>> >
>> >         allow trusted domains = yes
>> >         winbind uid = 10000-20000
>> >         winbind gid = 10000-20000
>> >         winbind use default domain = yes
>> >         winbind enum users = yes
>> >         winbind enum groups = yes
>> >         winbind nested groups = Yes
>> >         winbind separator = \\
>> >
>> >         hosts allow =  172.30. 172.26. 172.28.
>> >
>> >         # This tells samba to write log files per machine.
>> >         log file = /var/log/samba/samba.log
>> >
>> >         # This sets an alternate log level. Default is 2.
>> >         log level = 3
>> >         max log size = 50
>> >
>> >         interfaces = 172.30.32.80/255.255.255.0
>> >
>> >
>> > ## Agora, tem que juntar o servidor ao dominio do AD
>> >
>> > #>/usr/local/samba/bin/net rpc join -S __NOME_DOMINIO__ -tmn -U
>> > Administrator
>> > password :  ( forneça a senha do Administrador do AD )
>> >
>> > Joined domain __NOME_DOMINIO__
>> >
>> >
>> > Agora é iniciar o serviço do WinBind :
>> >
>> >
>> > #>/usr/local/samba/sbin/winbindd
>> >
>> >
>> > ## Se tudo estiver certo, poderá usar os comandos :
>> >
>> > #>wbinfo -t
>> > checking the trust secret via RPC calls succeeded
>> >
>> > #>wbinfo -u
>> > vai trazer a lista de usuários do AD
>> >
>> > #>wbinfo -g
>> > vai trazer a lista de usuários de AD
>> >
>> >
>> >
>> >
>> > *** Ok, agora vamos instalar o squid e configurá-lo :
>> > proxycat1# squid -v
>> > Squid Cache: Version 2.6.STABLE13
>> > configure options: '--enable-dlmalloc'
>> >                    '--enable-storeio=diskd ufs'
>> >                    '--disable-ident-lookups'
>> >                    '--enable-carp'
>> >                    '--enable-removal-policies=heap lru'
>> >                    '--enable-icmp'
>> >                    '--enable-delay-pools'
>> >                    '--with-openssl'
>> >                    '--enable-forw-via-db'
>> >                    '--enable-default-err-language=Portuguese'
>> >                    '--enable-err-languages=Portuguese English Spanish'
>> >                    '--enable-poll'
>> >                    '--enable-leakfinder'
>> >                    '--enable-underscores'
>> >                    '--enable-auth=basic digest ntlm'
>> >                    '--enable-basic-auth-helpers=PAM SMB NCSA LDAP'
>> >                    '--enable-ntlm-auth-helpers=SMB no_check fakeauth'
>> >                    '--enable-digest-auth-helpers=password'
>> >                    '--with-samba-sources=/usr/programas/samba-3.0.20b'
>> >                    '--enable-ntlm-fail-open'
>> >                    '--enable-external-acl-helpers=ip_user unix_group
>> > ldap_group wbinfo_group'
>> >
>> >
>> >
>> >
>> > Agora o squid.conf :
>> >
>> >
>> > ## inicio do squid.conf ###
>> >
>> > #debug_options all,1 33,3
>> > visible_hostname cache.mmcb.com.br
>> >
>> > http_port 3128
>> > icp_port 0
>> >
>> > hierarchy_stoplist cgi-bin ?
>> >
>> > acl QUERY urlpath_regex cgi-bin \?
>> > no_cache deny QUERY
>> >
>> > minimum_object_size 0 KB
>> > maximum_object_size_in_memory 10 KB
>> >
>> > cache_mem 48 MB
>> > cache_replacement_policy lru
>> > memory_replacement_policy lru
>> >
>> > cache_dir diskd /usr/local/squid/var/cache 15245 16 256
>> > cache_access_log /usr/local/squid/var/logs/access.log
>> > cache_log /usr/local/squid/var/logs/squid.out
>> > cache_store_log none
>> >
>> > mime_table /usr/local/squid/etc/mime.conf
>> >
>> > pid_filename /var/run/squid.pid
>> >
>> > ftp_passive on
>> > ftp_sanitycheck on
>> >
>> > hosts_file /etc/hosts
>> >
>> > auth_param ntlm program /usr/local/samba/bin/ntlm_auth
>> > --helper-protocol=squid-2.5-ntlmssp
>> > auth_param ntlm children 20
>> >
>> > auth_param basic program /usr/local/samba/bin/ntlm_auth
>> > --helper-protocol=squid-2.5-basic
>> > auth_param basic children 20
>> > auth_param basic realm Autenticacao de acesso a internet
>> > auth_param basic credentialsttl 2 hours
>> >
>> > authenticate_cache_garbage_interval 1 hour
>> > authenticate_ttl 1 hour
>> > authenticate_ip_ttl 60 seconds
>> >
>> > refresh_pattern ^ftp:           1440    20%     10080
>> > refresh_pattern ^gopher:        1440    0%      1440
>> > refresh_pattern .               0       20%     4320
>> >
>> > connect_timeout 2 minute
>> >
>> > peer_connect_timeout 30 seconds
>> >
>> >
>> > # Todas as redes da empresa
>> > acl rede src 172.26.0.0/255.255.0.0
>> > acl rede src 172.28.0.0/255.255.0.0
>> >
>> >
>> > 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 to_localhost dst 127.0.0.0/8
>> > acl SSL_ports port 443
>> >
>> >
>> > http_access allow localhost
>> >
>> > acl Safe_ports port 80 81 8080
>> > 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 444 1049 1972 2848 5024 44718 # portas re-liberadas
>> >
>> > acl Deny_ports port 5190 1863 445   # portas negadas
>> > acl CONNECT method CONNECT
>> >
>> > http_access allow manager localhost
>> > http_access deny manager
>> > http_access deny !Safe_ports
>> > http_access deny CONNECT !SSL_ports
>> >
>> >
>> > ##--------------- Sites com permissoes diferenciadas
> ---------------------
>> >
>> > # direto sem autenticação
>> > acl site_xx dst 200.200.200.200
>> > http_access allow site_xx rede
>> >
>> > acl bradesco dst 200.155.80.12
>> > http_access allow bradesco rede
>> >
>> >
>> > # Permitir Acesso sem autenticacao a qualquer url deste arquivo
>> > acl sem_senha url_regex "/usr/local/squid/etc/url_sem_senha.txt"
>> > http_access allow sem_senha
>> >
>> >
>> > #**********************  AUTENTICACAO DE USUARIOS
> *************************
>> >
>> > ## Liberar google_earth para o login __login_do_usuário__
>> > ## 24/04/2007 - HelpDesk 31543
>> > acl login_x proxy_auth _login_do_usuário_
>> > acl google_earth url_regex -i google-earth
>> > acl google_earth url_regex -i google.com
>> > http_access allow login_x google_earth rede
>> >
>> > # outras liberações por login do usuário
>> >
>> >
>> > # Verificar grupo do usuario
>> > external_acl_type NT_global_group ttl=600 children=35  %LOGIN
>> > /usr/local/squid/libexec/wbinfo_group.pl
>> >
>> >
>> > # Verificar gredenciais do usuario
>> > acl Internet proxy_auth REQUIRED
>> >
>> >
>> >
>> > # -------------Grupo Infra-Estrutura de Sistemas--------------------
>> > acl InfraEstrutura external NT_global_group GG_CAT_Sistemas_Infra
>> > http_access allow rede Internet InfraEstrutura
>> > ## GG_CAT_Sistemas_Infra é o nome do grupo no Active Directory
>> >
>> >
>> > # -------------Grupos com acesso a internet-------------------------
>> > acl InternetUsers_spo external NT_global_group GrInternetSP
>> > acl InternetUsers_cat external NT_global_group GrInternet
>> > ## temos duas unidades...aqui eu verifico se o usuário tem acesso a
> internet
>> > ## para ter, tem que estar no grupo GrInternetSP ou GrInternet do AD
>> >
>> > # -------------Grupo com acesso as urls abaixo sem restricao -------
>> > acl url_allow url_regex -i "/usr/local/squid/etc/url_allow.txt"
>> > http_access allow Internet InternetUsers_spo url_allow rede
>> > http_access allow Internet InternetUsers_cat url_allow rede
>> > ## permito o acesso se :
>> > ##    estiver autenticado ( Internet )
>> > ##    for do grupo InternetUsers_spo ou _cat
>> > ##    for da rede da empresa ( rede )
>> > ##    e se a url estiver no arquivo url_allow.txt
>> >
>> >
>> > # -------------Grupo Diretores--------------------------------------
>> > acl Diretores external NT_global_group Internet_Diretores
>> > http_access allow rede Internet Diretores
>> > ## diretores são diretores :-)
>> >
>> >
>> > # -------------Grupo com acesso ao MSN -----------------------------
>> > acl PermiteMsn external NT_global_group GG_ORG_MSN
>> > acl MsnMessenger url_regex -i ADSAdClient31
>> > acl MsnMessenger url_regex -i gateway.dll
>> > acl MsnMessenger url_regex -i Client31.dll
>> > acl MsnMessenger url_regex -i passport.com
>> > acl MsnMessenger url_regex -i loginnet.passport.com
>> > acl MsnMessenger url_regex -i hotmail.com
>> > acl MsnMessenger url_regex -i messenger.hotmail.com
>> > acl MsnMessenger url_regex -i ebuddy
>> > acl MsnMessenger url_regex -i login.live.com
>> > acl MsnMessenger url_regex -i msn.com
>> > http_access allow Internet rede PermiteMsn MsnMessenger
>> >
>> > # ---------Negar acesso ao site windows_update e MSN---------------
>> > http_access deny MsnMessenger
>> >
>> >
>> > # -------------Negar acesso a sites considerados inadequados  -----
>> > acl noporn url_regex -i "/usr/local/squid/etc/noporn.txt"
>> > acl negar url_regex -i "/usr/local/squid/etc/porn_local.txt"
>> > acl negar url_regex -i "/usr/local/squid/etc/negar.txt"
>> > http_access deny !noporn negar
>> >
>> > # ---------------- Negar Streamer  ---------------------------
>> > acl x-type req_mime_type -i ^application/octet-stream$
>> > acl x-type req_mime_type -i application/octet-stream
>> > acl x-type req_mime_type -i ^application/x-mplayer2$
>> > acl x-type req_mime_type -i application/x-mplayer2
>> > acl x-type req_mime_type -i ^application/x-oleobject$
>> > acl x-type req_mime_type -i application/x-oleobject
>> > acl x-type req_mime_type -i ^application/x-pncmd$
>> > acl x-type req_mime_type -i application/x-pncmd
>> > acl x-type req_mime_type -i ^video/x-ms-asf$
>> > acl x-type req_mime_type -i video/x-ms-asf
>> >
>> > http_access deny x-type
>> > http_reply_access deny x-type
>> >
>> > # ----------------------- Negar Extensao ---------------------------
>> > acl download_files urlpath_regex \.exe$ \.asf$ \.arj$ \.bzip$ \.ace$
> \.iso$
>> > \.adt$ \.cbt$ \.cla$ \.cmd$ \.com$ \.cpl$ \.csc$ \.dot$ \.drv$ \.lha$
> \.lzh$
>> > \.mso$ \.ov?$ \.pot$ \.shs$ \.sys$ \.mp3$ \.asf$ \.wma$ \.wmf$ \.ttf$
> \.rar$
>> > \.scr$ \.mpeg$ \.mpg$ \.wave$ \.wav$ \.zip$
>> > http_access deny download_files
>> >
>> >
>> > # -------------Permitir acesso aos demais usuarios com permissao ---
>> > http_access allow Internet InternetUsers_spo rede
>> > http_access allow Internet InternetUsers_cat rede
>> >
>> > # Negar todo o resto
>> > http_access deny all
>> >
>> > http_reply_access allow rede
>> > http_reply_access deny all
>> >
>> > cache_mgr infracat em mmcb.com.br
>> > cache_effective_user squid
>> > cache_effective_group squid
>> >
>> > coredump_dir /usr/local/squid/var/
>> >
>> >
>> > ie_refresh on
>> >
>> >
>> > ### fim do squid.conf  #######
>> >
>> >
>> >
>> >
>> > qualquer dúvida, entre em contato :
>> >
>> > Abraços,
>> >
>> > Sérgio Ferreira
>> > WGO Telecom
>> >
>> > -----Mensagem original-----
>> > De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em
> nome
>> > de Sérgio Ferreira ( WGO )
>> > Enviada em: sexta-feira, 20 de junho de 2008 13:29
>> > Para: 'Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)'
>> > Assunto: [FUG-BR] RES: Re: squid com autenticação no Active Directory.
>> >
>> > Opa,
>> >
>> >         Tenho rodando aqui inclusive com autenticação de grupo.
>> >
>> >         Vou montar um how-to e postar a receita de bolo aqui na lista.
>> >
>> >         []s
>> >
>> > Sérgio Ferreira
>> > WGO Telecom
>> >
>> > -----Mensagem original-----
>> > De: freebsd-bounces em fug.com.br [mailto:freebsd-bounces em fug.com.br] Em
> nome
>> > de Diogo Dalfovo
>> > Enviada em: sexta-feira, 20 de junho de 2008 13:18
>> > Para: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)
>> > Assunto: [FUG-BR] Re: squid com autenticação no Active Directory.
>> > Prioridade: Baixa
>> >
>> > Boa tarde
>> >
>> > Uma forma que sei e ja usei sem ser a do do ntlm é usando pam_smb porem
>> > imagino que deva exister outras formas
>> > creio que o pessoal mais experiente deve responder mais coisas
>> >
>> > Diogo Dalfovo
>> >
>> > On Fri, 20 Jun 2008 13:04:07 -0300, "Luis Barcellos"
>> > <luisbarcellos em gmail.com> wrote:
>> >> Boa tarde a todos!
>> >>
>> >>
>> >> Depois de uma manhã goolgleando sem sucesso, gostaria de saber se
> alguém
>> >> tem
>> >> uma boa solução para autenticação do squid no AD, que não seja
>> >> atravez do
>> >> ntlm, pois o meu domínio é um 2003 nativo.
>> >>
>> >> []s
>> >>
>> >> Luis Barcellos
>> >> -------------------------
>> >> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>> >
>> > -------------------------
>> > Histórico: http://www.fug.com.br/historico/html/freebsd/
>> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>> >
>> > -------------------------
>> > Histórico: http://www.fug.com.br/historico/html/freebsd/
>> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>> >
>> > -------------------------
>> > Histórico: http://www.fug.com.br/historico/html/freebsd/
>> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>> >
>> > Em 11 de março de 2013 16:18, Marcelo Gondim <gondim em bsdinfo.com.br
>>escreveu:
>> >
>> >> Pessoal,
>> >>
>> >> Sei que aqui na lista já saiu algumas configurações de autenticação do
>> >> squid no active directory [1] mas alguém teria algum link de algum site
>> >> ou alguma documentação mais atualizada e até mais explicativa de como
>> >> fazer isso no FreeBSD? Sei que para fazer isso vou precisar do krb5 e
> do
>> >> samba correto?
>> >> Obs: o cara já tem um AD rodando no Windows 2008R2 e por isso nem vou
>> >> mexer com o samba4 nesse caso.  :)
>> >>
>> >> [1] http://www.fug.com.br/historico/html/freebsd/2008-06/msg00581.html
>> >>
>> >> Grande abraço,
>> >> Gondim
>> >> -------------------------
>> >> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>> >>
>> >
>> >
>> >
>> > --
>> > Patryck
>> > -------------------------
>> > Histórico: http://www.fug.com.br/historico/html/freebsd/
>> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
>>
>>
>>
>>
>>
>> Respondendo as criticas primeiro:
>>
>> Vem falar do meu NTLM, mas SEQUER deve ter dado um tcpdump na vida,
>> com bastante VERBOSE, para ver o que se passa na comunicação do
>> smb_auth por exemplo. Ele usa o NTLM, como HELPER PROTOCOL, seu
>> ESPERTO....
>>
> Trabalho, infelizmente, fazendo o samba integrar com a maior rede windows
> do mundo (cef). Então não venha desmerecer alguém que você não conhece.
>
>>
>>
>> Agora ao assunto principal;
>>
>>
>> Gondim,
>>
>> Para facilitar, criei um .reg com o seguinte conteúdo:
>> Windows Registry Editor Version 5.00
>>
>> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\]
>> "LmCompatibilityLevel"=dword:00000001
>>
>>
>>
>> eu só executava esse cara, reiniciava o RWindows e boa, já funcionava
>> tranquilamente a autenticação.
>>
>>
>>
>>
>>
>> --
>> "Deve-se aprender sempre, até mesmo com um inimigo."
>> (Isaac Newton)
>>
>> Atenciosamente,
>> Saul Figueiredo
>> Analista FreeBSD/Linux
>> Linux Professional Institute Certification Level 2
>> Linux User: #554651
>> saulfelipecf em gmail.com
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd



Se você ler atentamente ao Tópico, vai ver que a minha resposta não
foi para o E-mail que você está citando agora.
Foi para o cara que disse que usar ntlm é coisa do seculo passado, e
pelo que pude perceber, não se trata da mesma pessoa.



--
"Deve-se aprender sempre, até mesmo com um inimigo."
(Isaac Newton)

Atenciosamente,
Saul Figueiredo
Analista FreeBSD/Linux
Linux Professional Institute Certification Level 2
Linux User: #554651
saulfelipecf em gmail.com


Mais detalhes sobre a lista de discussão freebsd