SQUID + SSO + Autenticação Segura no AD

Publicado por Fábio C Premoli em 30/11/2016

[ Hits: 8.171 ]

Blog: http://premoli.wixsite.com/home

 


SQUID + SSO + Autenticação Segura no AD



Cenário - Configurar autenticação segura no AD para o Squid.

CentOS7 - Kernel \r on an \m - Linux 3.10.0-327.36.3.el7.x86_64

Pacotes básicos (tudo via yum install):
  • squid-3.3.8-26.el7_2.4.x86_64
  • krb5-libs-1.13.2-12.el7_2.x86_64
  • krb5-pkinit-1.13.2-12.el7_2.x86_64
  • krb5-workstation-1.13.2-12.el7_2.x86_64
  • samba-libs-4.2.10-7.el7_2.x86_64
  • samba-common-4.2.10-7.el7_2.noarch
  • samba-client-libs-4.2.10-7.el7_2.x86_64
  • samba-winbind-modules-4.2.10-7.el7_2.x86_64
  • samba-4.2.10-7.el7_2.x86_64
  • samba-winbind-clients-4.2.10-7.el7_2.x86_64
  • samba-common-tools-4.2.10-7.el7_2.x86_64
  • samba-common-libs-4.2.10-7.el7_2.x86_64
  • samba-winbind-4.2.10-7.el7_2.x86_64
  • samba-winbind-krb5-locator-4.2.10-7.el7_2.x86_64

Configurar Kerberos, Samba, nsswitch e inserir o servidor de proxy no domínio do ADS com o mesmo usuário AD do grupo Domain Admin.

Não foi necessário configurar permissão adequada no arquivo /var/lib/samba/winbindd_privileged.

* Pesquisar essas configurações aqui no Viva o Linux :-)

Configurar o squid.conf

Segue o arquivo usado com sucesso usando autenticação Single Sign On + Ntlm:

visible_hostname NOMEDOPROXY
http_port 8081
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
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 CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320
auth_param negotiate program /usr/bin/ntlm_auth --helper-protocol=gss-spnego
auth_param negotiate children 20 startup=0 idle=1
auth_param negotiate keep_alive on
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 15

external_acl_type wbinfo_check %LOGIN /usr/bin/perl /usr/lib64/squid/ext_wbinfo_group_acl
acl UsersPermitidos external wbinfo_check NOMEDOGRUPOPERMITIDONOAD
http_access allow UsersPermitidos
http_access deny all

Após todas as configurações solicitadas acima estiverem OK, reinicie todos os serviços e valide no seu sniffer predileto (wireshark), os usuários e senhas são protegidos por criptografia como as imagens enviadas aqui.
\m/

Agradecimento especial aos colegas de trabalho que me apoiaram e ao professor Uirá Ribeiro do Certificação Linux.

Outras dicas deste autor

Firewall Nativo Kali Linux Multi-user

VirtualBox - Compartilhando pastas Linux vs Linux

Criando teclas de atalho no Ubuntu 9.04

Checar se tal partição está montada pelo Nagios

Opções do comando chmod

Leitura recomendada

Dicas de Tunning TCP

OpenSnitch - firewall para aplicações no seu GNU/Linux

Bloqueando telemetria no Deepin 23.1

Bloqueio do Ultra-Surf com firewall Iptables

Nunca execute esses comandos

  

Comentários
[1] Comentário enviado por zoziel em 30/11/2016 - 15:12h

Excelente procedimento!!

[2] Comentário enviado por michelhespanha em 30/11/2016 - 15:16h

Parabéns e obrigado por compartilhar!!

[3] Comentário enviado por premoli em 30/11/2016 - 15:17h

Substituindo as linhas abaixo:
auth_param negotiate program /usr/bin/ntlm_auth --helper-protocol=gss-spnego
auth_param negotiate children 20 startup=0 idle=1
auth_param negotiate keep_alive on

Pela linha:
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp

Ganhou estabilidade e performance.
Aguardando posição dos desenvolvedores do helper gss-spnego, ainda não documentada no man...Valeu!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts