debian 9 Squid + AD (2012) [RESOLVIDO]

1. debian 9 Squid + AD (2012) [RESOLVIDO]

Emerson Cosmo
emerson.cosmo

(usa Debian)

Enviado em 02/08/2018 - 12:05h

Bom dia comunidade VOL.
Alguém já conseguiu fazer o squid acessar o servidor AD e ler um determinado grupo, estou conseguindo acessar apenas via terminal (linha de comando abaixo 01), quando utilizo o squid -k parse ele processa normalmente, porém quando executa o comando squid -k reconfigure ele dar erro de copy, basta comentar as linhas de autenticação e cruzamento de regras que o squid roda normal.
Estou querendo fazer que o squid acesse o grupo do AD que esta em uma OU=Internet, para o nivel1 vai acessar sem autenticação mais para os demais será com autenticação no navegador.
Com certeza estou errando em varios pontos, porém não estou encontrando o caminho para solução.

/usr/lib/squid/basic_ldap_auth -R -b "dc=dominio,dc=local" -D "cn=userproxy,CN=Users,DC=dominio,dc=local" -w "proxy123" -f sAMAccountName=%s -h 192.168.1.12

Abaixo segue meu squid.conf.
#regras squid padrao
http_port 192.168.1.2:3128
cache_mgr tecnologia@dominio.com.br
visible_hostname N18.dominio.LOCAL
cache_mem 60 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 4096 KB
minimum_object_size 0 KB
quick_abort_min -1 KB
detect_broken_pconn on
pipeline_prefetch 1
cache_swap_low 90
cache_swap_high 95
cache_dir aufs /var/spool/squid 100 16 256
fqdncache_size 1024
#log
access_log /var/log/squid/squid.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log

#tempo de atualizacao do cache em relacao ao prt ftp, gophrt e http
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

logfile_rotate 10

#acl padrao do squid

#acl manager proto cache_object
acl localhost src 192.168.5.0/24
acl SSL_ports port 443 #https
acl SSL_ports port 563 #snews
acl SSL_ports port 873 #rsync
acl SSL_ports port 8443 #site pge
acl Safe_ports port 80 #http
acl Safe_ports port 433 #https
acl Safe_ports port 21 #ftp
acl Safe_ports port 70 #gothe
acl Safe_ports port 210 #wais
acl Safe_ports port 280 #http-mgmy
acl Safe_ports port 488 #gss-http
acl Safe_ports port 591 #filemaker
acl Safe_ports port 555 #multilin
acl Safe_ports port 901 #swat
acl Safe_ports port 8442 #swat
acl Safe_ports port 3456 #receita federal
acl Safe_ports port 3001 #diario oficial
acl Safe_ports port 8443 #https
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

#Protegendo cache
acl maneger proto cache_object

### regras abaixo todas comentadas para rodar o squid -k reconfigure###


#regras de autenticacao no Microsoft Active Diretory AD
#Essa regra acessa do banco de dados do AD, desta forma o cadastro de rede sera o mesmo para a navegacao da internet
#regra de autenticacao com pop-up no navegador
#auth_param basic program /usr/lib/squid/basic_ldap_auth -R -b "dc=dominio,dc=local" -D "cn=userproxy,CN=Users,DC=dominio=local" -w "proxy123" -f sAMAccountName=%s -h 192.168.1.12

#regra de autenticacao sem pop-up no navegador

#auth_param basic program /usr/lib/squid/basic_ldap_auth -R -b "dc=dominio,dc=local" -f uid=&s -h 192.168.1.12
#auth_param basic children 5
#auth_param basic realm Digite seu Login e Senha de Acesso a Internet
#auth_param basic credentialsttl 6 hours
#auth_param basic casesensitive off
#external_acl_type ldap_group %LOGIN /usr/lib/squid3/? -v 3 -b "dc=dominio,dc=local" -d "(&(cn=%g) (memberuid=%u))" -h 192.168.1.12

#acl de grupos que estao localizados no AD
#acessonivel01nternet Acesso total a internet
#acessonivel02internet Acesso liberado a internet com bloqueios de navegacao
#acessonivel03internet Acesso liberano apenas para sites de trabalho
#acessonivel04internet Acesso liberado para as arquitetas com paremetros de politicas de segurança do nivel2

#acl nivel01 external ldap_group acessonivel01internet
#acl nivel02 external ldap_group acessonivel02internet
#acl nivel03 external ldap_group acessonivel03internet
#acl nivel04 external ldap_group acessonivel04internet

#acl autenticados proxy_auth REQUIRED
# Whitelists / Blacklists
#acl downloads urlpath_regex -i "/etc/squid/regras/downloads"
#acl sites-liberados url_regex -i "/etc/squid/regras/sites_liberados"
#acl sites-proibidos url_regex -i "/etc/squid/regras/sites_proibidos"
#acl social-stream url_regex -i "/etc/squid/regras/social_stream

###controle de banda
#delay_pools 3

#nivel01
#delay_class 1 3
#delay_parameters 1 -1/-1 -1/-1 -1/-1 -1/-1
#delay_access 1 allow nivel01

#nivel2 nivel3
#delay_class 2 3
#delay_parameters 2 -1/-1 -1/-1 409500/409600 409600/409600
#delay_access 2 allow nivel02 nivel03

#nivel4
#delay_class 3 3
#delay_parameters 3 -1/-1 -1/-1 1048576/1048576 1048576/1048576
#delay_access 3 allow nivel04

#Liberando o acesso a internet por periodo
#acl manha time MTWHFA 06:00-08:00
#acl tarde time MTWHFA 12:00-13:00
#acl noite time MTWHF 19:00-21:00

#configuracao das ACLs dos Grupos do AD, Whitelist/Blacklist e TIme de liberacao de internet

#http_access allow nivel01 autenticados
#http_access allow nivel02 autenticados !social-stream
#http_access allow nivel03 autenticados sites-liberados !sites-proibidos
#http_access allow nivel04 autenticados !social-stream

#http_access allow sites-proibidos manha nivel03 autenticados !social-stream
#http_access allow sites-proibidos tarde nivel03 autenticados !social-stream
#http_access allow sites-proibidos noite nivel03 autenticados !social-stream

#http_access deny sites-proibidos
#http_access deny downloads
#http_access deny all
httpd_suppress_version_string on
error_directory /usr/share/squid/errors/pt-br
cache_effective_user proxy
coredump_dir /var/spool/squid


Desde já Agradeço a ajuda da comunidade.




  


2. Re: debian 9 Squid + AD (2012) [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 02/08/2018 - 15:52h

Cara, mande a saída de erro q dá quando vc habilita a autenticação no AD. Pra facilitar, rode o squid assim:


# squid -NCd1

--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


3. Re: debian 9 Squid + AD (2012)

Emerson Cosmo
emerson.cosmo

(usa Debian)

Enviado em 02/08/2018 - 16:15h

Grande Renato Pacheco.

Cara consegui fazer o usuário autentica, usando o usuarío do AD, o que parece que algumas sintaxa do squid mudou me corrige se estiver errado, porém, porém agora estou tentando descobrir porque o squid está bloqueando sites HTTPs.

Olha como ficou o squid.conf na parte de autenticação com AD.

#regra de autenticacao com pop-up no navegador
auth_param basic program /usr/lib/squid/basic_ldap_auth -R -b "dc=dominio,dc=local" -D "cn=userproxy,CN=Users,DC=dominio,dc=local" -w "proxy123" -f sAMAccountName=%s -h 192.168.1.12

#regra de autenticacao sem pop-up no navegador

auth_param basic children 5
auth_param basic realm Digite seu Login e Senha de Acesso a Internet
auth_param basic credentialsttl 6 hours
auth_param basic casesensitive off

external_acl_type ldap_group %LOGIN usr/lib/squid/ext_ldap_group_acl  -R -b "dc=dominio,dc=local" -D "CN=userproxy,CN=Users,DC=dominio,DC=local" -w "proxy123" -f "(&(objectclass=person)(sAMAcco
untName=%v)(memberof=cn=%a,OU=Tecnologia,OU=Advocacia,DC=dominio,DC=local))" -h 192.168.1.12

Valeu Cara, pela ajuda.

Links que deram uma luz.
1º link https://www.vivaolinux.com.br/artigo/Squid-com-autenticacao-e-ACLs-apartir-do-grupos-do-Active-Diret...
2º link https://manpages.debian.org/stretch/squid/ext_ldap_group_acl.8.en.html


4. Re: debian 9 Squid + AD (2012) [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 02/08/2018 - 16:31h

Se vc tá conseguindo se autenticar, já é uma etapa vencida. Veja nos logs qual é a msg q dá quando bloqueia HTTPS. Veja tb as acl's de SSL_ports se estão habilitadas. Ex.:


acl SSL_ports port 443
http_access allow CONNECT SSL_ports

--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


5. Re: debian 9 Squid + AD (2012) [RESOLVIDO]

Emerson Cosmo
emerson.cosmo

(usa Debian)

Enviado em 02/08/2018 - 18:46h

Renato Pacheco,
Cara, fiz o alteração e nada, depois que refiz a parte sobre navegação e corrigi alguns erros de sintaxe, ai navegou normalmente as paginas em http e https.
Agora, vamos para parte final, que é tentar fazer o navegador dos donos do escritório não apareça pop-up de autenticação.
Ficou assim, o script de navegação.

#regras aceitas para navegacao
acl SSL_ports port 443 563 2083 8443
acl Safe_ports port 80 #http
acl Safe_ports port 84 #http
acl Safe_ports port 21 #ftp
acl Safe_ports port 443 #https
acl Safe_ports port 70 #gophe
acl Safe_ports port 210 #wais
acl Safe_ports port 280 #http-mgmt
acl Safe_ports port 488 #gss-http
acl Safe_ports port 591 #filemake
acl Safe_ports port 777 #multiling
acl Safe_ports port 901 #SWAT (samba web administration tool
acl Safe_ports port 8443 #SWAT (samba web administration tool
acl Safe_ports port 3456 #receita federal - irpf
acl Safe_ports port 3001 #diario oficial
acl Safe_ports port 1025-65535 #multilinf http
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager

#deny request to certain unsafe port
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#Protegendo cache
acl maneger proto cache_object

Novamente Valeu pela força mano.



6. Re: debian 9 Squid + AD (2012) [RESOLVIDO]

Emerson Cosmo
emerson.cosmo

(usa Debian)

Enviado em 03/08/2018 - 11:56h

Valeu Renato_Pacheco e Comunidade VOL.
Consegui, realizar a autenticação por grupo, sem instalar kerberos, samba e winbind, fiz as seguintes configurações.
O que utilizei, para realizar essa tarefa.

S.O Debian 9.5
Squid Cache: Version 3.5.23

Editei o /etc/hosts
127.0.0.1 localhost
192.168.1.2 n18secure.dominio.local n18secure
192.168.1.12 srv01.dominio.local srv01

Editei também /ets/resolv.conf
search dominio.local
nameserver 192.168.1.12
nameserver 8.8.8.8
nameserver 8.8.4.4

Depois, instalei o squid e configurei o squid.conf conforme abaixo.

#regras squid padrao
http_port 192.168.1.2:3128
cache_mgr tecnologia@domain.com.br
visible_hostname N18.DOMAIN.LOCAL
cache_mem 60 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 4096 KB
minimum_object_size 0 KB
quick_abort_min -1 KB
detect_broken_pconn on
pipeline_prefetch 1  
cache_swap_low 90
cache_swap_high 95
cache_dir aufs /var/spool/squid 100 16 256
fqdncache_size 1024

#log
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
log_mime_hdrs off
forwarded_for off

#sites_sem_cache.
acl sem-cache dstdomain "/etc/squid/regras/sem_cache" \?
no_cache deny sem-cache

#tempo de atualizacao do cache em relacao ao prt ftp, gophrt e http
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

logfile_rotate 10

#acl padrao do squid

acl todo src all
acl localhost src 0.0.0.0/24
acl rede src 192.168.5.0/24

#regras aceitas para navegacao
acl SSL_ports port 443 563 2083 8443
acl Safe_ports port 80  #http
acl Safe_ports port 84  #http
acl Safe_ports port 21  #ftp
acl Safe_ports port 443 #https
acl Safe_ports port 70  #gophe
acl Safe_ports port 210 #wais
acl Safe_ports port 280 #http-mgmt
acl Safe_ports port 488 #gss-http
acl Safe_ports port 591 #filemake
acl Safe_ports port 777 #multiling
acl Safe_ports port 901 #SWAT (samba web administration tool
acl Safe_ports port 8443 #SWAT (samba web administration tool
acl Safe_ports port 2631 #conectividade social  
acl Safe_ports port 3456 #receita federal - irpf  
acl Safe_ports port 3001 #diario oficial  
acl Safe_ports port 1025-65535 #multilinf http
acl CONNECT method CONNECT

http_access allow manager localhost  
http_access deny manager

#deny request to certain unsafe port
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#Protegendo cache
acl maneger proto cache_object

#regras de autenticacao no Microsoft Active Diretory AD
#Essa regra acessa do banco de dados do AD, desta forma o cadastro de rede sera o mesmo para a navegacao da internet
#regra de autenticacao com pop-up no navegador
auth_param basic program /usr/lib/squid/basic_ldap_auth -R -b "dc=domain,dc=local" -D "cn=userproxy,CN=Users,DC=domain,dc=local" -w "proxy2009snof" -f sAMAccount
Name=%s -h 192.168.1.1

#regra de autenticacao sem pop-up no navegador

auth_param basic children 5
auth_param basic realm Digite seu Login e Senha de Acesso a Internet
auth_param basic credentialsttl 6 hours
auth_param basic casesensitive off

external_acl_type ldap_group %LOGIN /usr/lib/squid/ext_ldap_group_acl  -R -b "dc=domain,dc=local" -D "CN=userproxy,CN=Users,DC=domain,DC=local" -w "proxy2009snof
" -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%a,OU=Tecnologia,OU=Advocacia,DC=domain,DC=local))" -h 192.168.1.1

#acl de grupos que estao localizados no AD
#acessonivel01nternet Acesso total a internet
#acessonivel02internet Acesso liberado a internet com bloqueios de navegacao
#acessonivel03internet Acesso liberano apenas para sites de trabalho
#acessonivel04internet Acesso liberado acesso para as arquitetas politicas de segurança do nivel2 + limite de 1 mbps de navegacao  

acl nivel01 external ldap_group acessonivel01internet src 192.168.5.0/24
acl nivel02 external ldap_group acessonivel02internet src 192.168.5.0/24
acl nivel03 external ldap_group acessonivel03internet src 192.168.5.0/24
acl nivel04 external ldap_group acessonivel04internet src 192.168.5.0/24
acl autenticados proxy_auth REQUIRED

# Whitelists / Blacklists
acl downloads urlpath_regex -i "/etc/squid/regras/downloads"
acl sites-liberados url_regex -i "/etc/squid/regras/sites_liberados"
acl sites-proibidos url_regex -i "/etc/squid/regras/sites_proibidos"
acl social-stream url_regex -i "/etc/squid/regras/social_stream
acl sem-autenticacao src "/etc/squid/regras/sem_autenticacao"

###controle de banda
delay_pools 3

#navegacao socios-advogados = nivel01
delay_class 1 3
delay_parameters 1 -1/-1 -1/-1 -1/-1 -1/-1
delay_access 1 allow nivel01 sem-autenticacao

#navegacao financeiro advogados contadoria secretaria e atendimento = nivel2
delay_class 2 3
delay_parameters 2 -1/-1 -1/-1 409500/409600 409600/409600
delay_access 2 allow nivel02 nivel03

#navegacao arquitetas
delay_class 3 3
delay_parameters 3 -1/-1 -1/-1 1048576/1048576 1048576/1048576
delay_access 3 allow nivel04

#Liberando o acesso a internet por periodo  
acl manha time  MTWHFA 06:00-08:00
acl tarde time MTWHFA 12:00-13:00
acl noite time MTWHF 19:00-21:00

#configuracao das ACLs dos Grupos do AD, Whitelist/Blacklist e TIme de liberacao de internet

http_access allow sem-autenticacao
http_access allow nivel01   
http_access allow nivel02 !social-stream
http_access allow nivel03 sites-liberados  
http_access allow nivel04 !social-stream

http_access allow sites-proibidos manha nivel03 autenticados !social-stream
http_access allow sites-proibidos tarde nivel03 autenticados !social-stream
http_access allow sites-proibidos noite nivel03 autenticados !social-stream

http_access deny sites-proibidos
http_access deny downloads
http_access allow localhost rede
http_access deny all todo
httpd_suppress_version_string on
error_directory /usr/share/squid/errors/pt-br
cache_effective_user proxy
coredump_dir /var/spool/squid

Criei os arquivos, dependências do script como, diretório regras e os arquivos devidos dentro do /etc/squid/regras, no Active Diretory do Windows Server 2012 no local devido, criei os grupos e adicionei os usuarios dentro de cada grupo devidamente.
Como, terei que liberar apenas 4 maquinas sem autenticação, preferi criar um arquivo e acrescenter os ips devidos.

Novamente, meu muito obrigado ao VOL, sem esse site e o seu conteúdo disponível, talvez seria mais árduo o trabalho.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts