Datos:
- Sistema Operativo de los servidores: Debian Stretch / Buster
- ADDC: addc.nodo.local, ntp1.nodo.local (192.168.9.15)
- PROXY1: proxy1.nodo.local (192.168.9.69). No está unida al dominio y tiene un disco
cache “/dev/sdb1” de 5 GB. - Versión de Squid: 3.5.x / 4.x
- Versión de Samba: 4.10.x
1. ADDC Samba4:
Las configuraciones que se describen a continuación, se deben hacer en el servidor
que contiene al controlador de dominio, en este caso basado en Samba4. En caso de
usar Active Directory de Windows, simplemente usar las RSAT de Windows para crear
los OU, grupos y usuarios.
#========================================
NOTA:
Desde una PC unida al dominio con un usuario con permisos de administración en el
controlador de dominio basado en Samba4, puede hacer uso también de las RSAT y no
ejecutar los comandos que se describen a continuación.
#========================================
Records del servidor proxy:
samba-tool dns add localhost nodo.local proxy1 A 192.168.9.69 -U "administrator"%"Admin*123" samba-tool dns add localhost nodo.local proxy CNAME proxy1.nodo.local -U "administrator"%"Admin*123" samba-tool dns add localhost nodo.local squidproxy CNAME proxy1.nodo.local -U "administrator"%"Admin*123" samba-tool dns add localhost 168.192.in-addr.arpa 69.9 PTR proxy1.nodo.local. -U "administrator"%"Admin*123" samba-tool dns add localhost 168.192.in-addr.arpa 69.9 PTR proxy.nodo.local. -U "administrator"%"Admin*123" samba-tool dns add localhost 168.192.in-addr.arpa 69.9 PTR squidproxy.nodo.local. -U "administrator"%"Admin*123"
Crear nueva Unidad Organizativa para “Usuarios”:
samba-tool ou create "OU=Usuarios,DC=nodo,DC=local" --description="<Unidad Organizativa para Usuarios>"
Crear nueva Unidad Organizativa para “Redes”:
samba-tool ou create "OU=Redes,DC=nodo,DC=local" --description="<Unidad Organizativa para Administradores de Redes>"
Crear nueva Unidad Organizativa para “Proxy”:
samba-tool ou create "OU=Servicios,DC=nodo,DC=local" --description="<Unidad Organizativa para Servicios>" samba-tool ou create "OU=Proxy,OU=Servicios,DC=nodo,DC=local" --description="<Unidad Organizativa para Proxy>"
Crear grupos de navegación para «Proxy»:
samba-tool group add Intranet --groupou="OU=Proxy,OU=Servicios" --description="<Grupo de Acceso a Intranet>" samba-tool group add Internet --groupou="OU=Proxy,OU=Servicios" --description="<Grupo de Acceso a Internet>"
Crear usuarios de navegación para «Proxy»:
samba-tool user create nombre1.apellido Prueba2019* --userou="OU=Usuarios" \ --given-name="Nombre1" --surname="Apellidos" --department="Recursos Humanos" \ --company="Mi Empresa" [email protected] samba-tool user create nombre2.apellido Prueba2019* --userou="OU=Redes" \ --given-name="Nombre" --surname="Apellido" --department="Informatica" \ --company="Mi Empresa" [email protected]
Agregar usuarios a los grupos creados:
samba-tool group addmembers "Intranet" nombre1.apellido samba-tool group addmembers "Internet" nombre2.apellido
Agregamos el SRV para ldaps desde las RSAT de Windows, usando la herramienta de
administración “DNS”, desde una de las PC unida al dominio, con un usuario con poder de
administración:
Proxy Squid:
Las configuraciones que se describen a continuación, se deben hacer en el servidor que contiene al proxy Squid.
Disco cache identificado en este caso con la etiqueta “/dev/sdb1”:
mkfs.ext4 /dev/sdb1 mkdir /var/cache/squid nano /etc/fstab
Agregar lo siguiente:
# >>> [squid cache] /dev/sdb1 /var/cache/squid ext4 defaults 0 0 # <<< [squid cache]
Aplicamos los cambios:
mount -a
Editamos el fichero “/etc/resolv.conf”:
nano /etc/resolv.conf
Borramos todo y agregamos el dominio y el servidor DNS que se encuentra en el ADDC (adapte a su red):
search nodo.local domain nodo.local nameserver 192.168.9.15
Fichero hosts, para dar mayor disponibilidad en caso de fallo del DNS:
nano /etc/hosts
Lo dejamos como sigue, adaptando a su red, para brindar mayor disponibilidad ante una falla del servicio DNS:
127.0.0.1 localhost 192.168.9.69 proxy1.nodo.local proxy1
2.1. Sincronización de tiempo
Configuramos la zona horaria (America/Havana):
dpkg-reconfigure tzdata Instalamos la herramienta para sincronizarse con el servidor de tiempo: apt-get install ntpdate Editamos el fichero de configuración: nano /etc/systemd/timesyncd.conf Agregamos lo siguiente: [Time] NTP=ntp1.nodo.local
Sincronizamos el tiempo con el servidor:
ntpdate ntp1.nodo.local timedatectl set-ntp true
Verificamos el estado del tiempo después de la sincronización:
timedatectl status Debe devolvernos lo siguiente: Local time: mié 2019-10-16 00:44:28 CDT Universal time: mié 2019-10-16 04:44:28 UTC RTC time: mié 2019-10-16 04:44:28 Time zone: America/Havana (CDT, -0400) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
2.2. Integrando Squid al AD mediante Kerberos
Instalamos Squid, paquetes necesarios para Kerberos y herramientas para LDAP:
apt-get install squid krb5-user msktutil libsasl2-modules-gssapi-mit ldap-utils
Editamos o creamos si no existe “/etc/default/squid”.
nano /etc/default/squid Agregamos lo siguiente: KRB5RCACHETYPE=none export KRB5RCACHETYPE KRB5_KTNAME=/etc/squid/proxy.keytab export KRB5_KTNAME
Configuración de Kerberos:
mv /etc/krb5.conf /etc/krb5.conf.salva nano /etc/krb5.conf Agregamos los siguiente: [libdefaults] default_realm = NODO.LOCAL dns_lookup_realm = false dns_lookup_kdc = true clockskew = 3600 ticket_lifetime = 24h default_keytab_name = /etc/squid/proxy.keytab # The following krb5.conf variables are only for MIT Kerberos. kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true [realms] NODO.LOCAL = { kdc = ADDC.NODO.LOCAL master_kdc = ADDC.NODO.LOCAL admin_server = ADDC.NODO.LOCAL default_domain = nodo.local } [domain_realm] .nodo.local = NODO.LOCAL nodo.local = NODO.LOCAL
A continuación, se describe cómo generar archivo “proxy.keytab” y registrar el SPN en el dominio:
kinit [email protected] Nos sale para poner el password: Password for [email protected]: (Admin*123*)
Generamos el ticket y registramos el SPN para el squid en el dominio:
msktutil -c -b "CN=Computers" -s HTTP/proxy1.nodo.local \ -h proxy1.nodo.local -k /etc/squid/proxy.keytab --computer-name SQUIDPROXY \ --upn HTTP/proxy1.nodo.local --server addc.nodo.local --verbose \
Comprobamos que todo haya resultado bien:
kinit -k HTTP/proxy1.nodo.local El comando anterior no debe devolver nada, si todo está bien. klist -k Nos debe devolver lo siguiente: Keytab name: FILE:/etc/squid/proxy.keytab KVNO Principal ---- ----------------------------------------------------------------- 1 [email protected] 1 [email protected] 1 [email protected] 1 HTTP/[email protected] 1 HTTP/[email protected] 1 HTTP/[email protected] 1 host/[email protected] 1 host/[email protected] 1 host/[email protected] 1 host/[email protected] 1 host/[email protected] 1 host/[email protected]
Verificamos el ticket:
klist Debe devolver lo siguiente: Ticket cache: FILE:/tmp/krb5cc_0 Default principal: HTTP/[email protected] Valid starting Expires Service principal 10/10/19 21:29:17 11/10/19 07:29:17 krbtgt/[email protected] renew until 11/10/19 21:29:17
Establecemos los permisos del archivo keytab para que solo pueda ser leido por squid:
chown proxy:proxy /etc/squid/proxy.keytab chmod 640 /etc/squid/proxy.keytab
Comprobamos que la cuenta de host se actualiza correctamente:
msktutil --auto-update --verbose --computer-name SQUIDPROXY -k /etc/squid/proxy.keytab
Nos debe devolver lo siguiente:
-- init_password: Wiping the computer password structure -- generate_new_password: Generating a new, random password for the computer account -- generate_new_password: Characters read from /dev/urandom = 77 -- get_dc_host: Attempting to find Domain Controller to use via DNS SRV record in domain NODO.LOCAL for procotol tcp -- get_dc_host: Found DC: addc.nodo.local -- get_dc_host: Canonicalizing DC through forward/reverse lookup... -- get_dc_host: Found Domain Controller: addc.nodo.local -- create_fake_krb5_conf: Created a fake krb5.conf file: /tmp/.msktkrb5.conf-Ndmivk -- reload: Reloading Kerberos Context -- finalize_exec: SAM Account Name is: SQUIDPROXY$ -- try_machine_keytab_princ: Trying to authenticate for SQUIDPROXY$ from local keytab... -- switch_default_ccache: Using the local credential cache: FILE:/tmp/.mskt_krb5_ccache-9XK9sE -- finalize_exec: Authenticated using method 1 -- LDAPConnection: Connecting to LDAP server: addc.nodo.local SASL/GSSAPI authentication started SASL username: [email protected] SASL SSF: 56 SASL data security layer installed. -- ldap_get_base_dn: Determining default LDAP base: dc=NODO,dc=LOCAL -- get_default_ou: Determining default OU: CN=Computers,DC=nodo,DC=local -- ldap_get_pwdLastSet: pwdLastSet is 132152306718258090 -- execute: Password last set 0 days ago. -- execute: Exiting because password was changed recently. -- ~KRB5Context: Destroying Kerberos Context
Terminamos el “kinit” con el usuario “administrator”:
kdestroy Verificamos que se haya cerrado la conexión:0 klist Debe devolver lo siguiente: klist: No credentials cache found (filename: /tmp/krb5cc_0)
2.3. Configuración básica de Squid con autenticación por Kerberos
Editamos el fichero de configuración, no sin antes hacer una copia de respaldo:
mv /etc/squid/squid.conf /etc/squid/squid.conf.salva nano /etc/squid/squid.conf
Agregamos la siguiente configuración básica para un único proxy. Recuerde adaptar la configuración a su red:
############# ## PROXY1 #### ############### ############################## # ESCUCHA Y SALIDA DEL PROXY # ############################## #--------------------------------------------------------------------- http_port 192.168.9.69:3128 tcp_outgoing_address 192.168.9.69 icp_port 3130 #--------------------------------------------------------------------- ############################### # MEMORIA CACHE Y DISCO CACHE # ############################### #--------------------------------------------------------------------- cache_mem 512 MB #especifica la cantidad de memoria ram que el proxy usa para los objetos cache_replacement_policy lru #especifica el metodo LRU para la politica de reemplazo en el disco cache #cache_dir <schema> <ruta> <espacio MB> <memoria L1> <memoria L2> # especifica donde y como almacena archivos cache en disco (se recomienda usar maximo un 85% del espacio disponible por el disco) (usar L1=16 y L2=256) cache_dir ufs /var/cache/squid 4352 16 256 cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log pid_filename /var/run/squid.pid cache_swap_low 90 #especifica el espacio maximo en % y controla el reemplazo de los objetos almacenados en el disco cache_swap_high 95 maximum_object_size_in_memory 4 KB #especifica la cantidad de memoria ram maxima ocupada por un objeto maximum_object_size 50 MB #--------------------------------------------------------------------- ############## # PRIVACIDAD # ############## #--------------------------------------------------------------------- # Privacidad y anonimato del proxy via off forwarded_for off request_header_access From deny all request_header_access Server deny all request_header_access WWW-Authenticate deny all request_header_access Link deny all request_header_access cache-Control deny all request_header_access X-Cache-Lookup deny all request_header_access Via deny all request_header_access X-Forwarded-For deny all request_header_access Pragma deny all request_header_access Keep-Alive deny all httpd_suppress_version_string on #--------------------------------------------------------------------- ################# # AUTENTICACION # ################# #--------------------------------------------------------------------- auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -r -d -s HTTP/[email protected] auth_param negotiate children 20 startup=0 idle=1 auth_param negotiate keep_alive off #--------------------------------------------------------------------- ################################# # CONTROL INDIRECTO DE LA CACHE # ################################# #--------------------------------------------------------------------- #refresh_pattern [-i] regexp min percent max [options] refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 #--------------------------------------------------------------------- ########################## # DEFINICION DE LAS ACLs # ########################## #acl <nombre de la lista> <tipo> <lo que compone a la lista> # ACL de autenticacion #--------------------------------------------------------------------- #acl AUTH proxy_auth REQUIRED #--------------------------------------------------------------------- # Mapeo de grupos con Kerberos #--------------------------------------------------------------------- # external_acl_type <nombre_generico_acl_externa> ipv4 children-startup=n children-max=N ttl=300 negative_ttl=60 %LOGIN ruta/al/helper/ext_kerberos_ldap_group_acl -a -D EXAMPLE.COM external_acl_type kerberos_ldap_grupo ipv4 children-startup=10 children-max=15 ttl=300 negative_ttl=60 %LOGIN /usr/lib/squid/ext_kerberos_ldap_group_acl -a -D NODO.LOCAL # acl <nombre_acl> external <nombre_generico_acl_externa> <nombre_grupo_kerberos> acl intranet external kerberos_ldap_grupo Intranet acl internet external kerberos_ldap_grupo Internet #--------------------------------------------------------------------- # ACLs de puertos y metodos de conexion #--------------------------------------------------------------------- acl SSL_ports port 9091 # openfire web admin acl SSL_ports port 8443 # Portal Nauta acl SSL_ports port 7071 # zimbra web admin acl SSL_ports port 443 # https acl SSL_ports port 563 acl Safe_ports port 8443 # Portal Nauta acl Safe_ports port 777 # multiling http acl Safe_ports port 591 # filemaker acl Safe_ports port 563 acl Safe_ports port 488 # gss-http acl Safe_ports port 443 # https, snews acl Safe_ports port 280 # http-mgmt acl Safe_ports port 210 # wais #acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 80 # http acl Safe_ports port 70 # gopher acl Safe_ports port 21 # ftp acl CONNECT method CONNECT acl POST method POST #--------------------------------------------------------------------- # ACLs de acceso #--------------------------------------------------------------------- acl manager proto cache_object acl workstations src 192.168.3.0/24 acl limitecx maxconn 50 acl Cuba dstdomain .cu #--------------------------------------------------------------------- ########## # REGLAS # ########## #access_list <deny | allow> <lista de control de acceso> # Permisos que garantizan el acceso minimo al proxy #--------------------------------------------------------------------- http_access allow manager localhost http_access deny manager # Permitiendo HTTPS solo por puertos SSL y HTTP por puertos seguros http_access deny CONNECT !SSL_ports http_access deny POST !SSL_ports http_access deny !Safe_ports # Permitiendo localhost y usuarios autenticados por Kerberos http_access allow localhost # Permitiendo grupos del ADDC que sean estaciones de trabajo http_access allow internet workstations http_access allow intranet workstations Cuba # Denegando todo lo demas http_access deny all # Otros accesos http_reply_access allow all always_direct deny all icp_access allow all #--------------------------------------------------------------------- ################## # OTRAS OPCIONES # ################## #--------------------------------------------------------------------- cache_mgr [email protected] cache_effective_user proxy visible_hostname anonymous #coredump_dir /var/spool/squid coredump_dir /var/cache/squid positive_dns_ttl 1 hour authenticate_ip_ttl 5 minute error_directory /usr/share/squid/errors/Spanish client_db on # Directiva necesaria para el uso de "maxconn" #--------------------------------------------------------------------- ##################### # OPCIONES DE DEBUG # ##################### #--------------------------------------------------------------------- # Todo #debug_options ALL,9 # ACLs y Autenticacion debug_options 28,9 29,9 #---------------------------------------------------------------------
#===============================
NOTA:
En la configuración anterior se usó la autenticación de grupos con Kerberos por su “helper” correspondiente “ext_kerberos_ldap_group_acl”. Esto posibilita que la calidad del servicio en el proxy responda a los usuarios que pertenezcan a dichos grupos del directorio activo.
Esta variante aprovecha la ventaja de la seguridad, pues usando el “helper” “ext_kerberos_ldap_group_acl” se realizan consultas al LDAP directamente, usando un “bind dn” o usuario para autenticarse, mientras Kerberos usa su propia autenticación y ticket, se cuentan en el servidor para la autenticación del LDAP, que ya se encuentra integrado en Samba4.
También es necesario aclarar que, si se tiene IPv6 deshabilitado, se recomienda mantener la opción ipv4 en la definición de la ACL externa genérica, de lo contrario el programa no hará su función correctamente, aun cuando Squid inicie sin errores.
#===============================
Detenemos Squid:
service squid stop
Creamos los directorios para la cache de Squid:
mkdir -p /var/cache/squid chmod 755 /var/cache/squid chown proxy:proxy /var/cache/squid squid -z
Nos debe devolver lo siguiente:
root@proxy1:~# 2019/10/10 23:04:43 kid1| Set Current Directory to /var/spool/squid 2019/10/10 23:04:43 kid1| Creating missing swap directories 2019/10/10 23:04:43 kid1| /var/cache/squid exists 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/00 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/01 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/02 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/03 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/04 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/05 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/06 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/07 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/08 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/09 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/0A 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/0B 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/0C 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/0D 2019/10/10 23:04:43 kid1| Making directories in /var/cache/squid/0E 2019/10/10 23:04:44 kid1| Making directories in /var/cache/squid/0F
Iniciamos Squid:
service squid start
Comprobamos que no haya errores de sintaxis en la configuración de Squid:
squid -k check
Si el comando anterior no devuelve nada, es porque la configuración no tiene errores.
Nos autenticamos por Kerberos, con un usuario del grupo de internet, para las pruebas:
kinit [email protected] Ponemos la contraseña: Password for [email protected]: (Prueba2019*)
Comprobamos que en la base de datos de LDAP exista la computadora que representa al proxy:
ldapsearch -Tx -Y GSSAPI -b "dc=nodo,dc=local" cn=SQUIDPROXY -h addc.nodo.local
Nos debe devolver algo como esto:
SASL/GSSAPI authentication started SASL username: [email protected] SASL SSF: 56 SASL data security layer installed. # extended LDIF # # LDAPv3 # base <dc=nodo,dc=local> with scope subtree # filter: cn=SQUIDPROXY # requesting: ALL # # SQUIDPROXY, Computers, nodo.local dn: CN=SQUIDPROXY,CN=Computers,DC=nodo,DC=local objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user objectClass: computer cn: SQUIDPROXY instanceType: 4 whenCreated: 20191011012431.0Z uSNCreated: 5419 name: SQUIDPROXY objectGUID:: 07ultBE+YEmGxSHFz7Vhjg== userAccountControl: 4096 badPwdCount: 0 codePage: 0 countryCode: 0 badPasswordTime: 0 lastLogoff: 0 pwdLastSet: 132152306718258090 primaryGroupID: 515 objectSid:: AQUAAAAAAAUVAAAA9vkY0nLbDMzfz+vWdQQAAA== accountExpires: 9223372036854775807 sAMAccountName: SQUIDPROXY$ sAMAccountType: 805306369 objectCategory: CN=Computer,CN=Schema,CN=Configuration,DC=nodo,DC=local isCriticalSystemObject: FALSE dNSHostName: proxy1.nodo.local userPrincipalName: HTTP/[email protected] msDS-SupportedEncryptionTypes: 28 servicePrincipalName: HTTP/proxy1.nodo.local servicePrincipalName: host/proxy1.nodo.local lastLogonTimestamp: 132152309348330780 whenChanged: 20191011012854.0Z uSNChanged: 5427 lastLogon: 132152479685631220 logonCount: 26 distinguishedName: CN=SQUIDPROXY,CN=Computers,DC=nodo,DC=local # search reference ref: ldap://nodo.local/CN=Configuration,DC=nodo,DC=local # search reference ref: ldap://nodo.local/DC=DomainDnsZones,DC=nodo,DC=local # search reference ref: ldap://nodo.local/DC=ForestDnsZones,DC=nodo,DC=local # search result search: 4 result: 0 Success # numResponses: 5 # numEntries: 1 # numReferences: 3
Comprobamos la autenticación por Kerberos:
/usr/lib/squid/negotiate_kerberos_auth_test proxy1.nodo.local | awk \ '{sub(/Token:/,"YR"); print $0}END{print"QQ"}'| \ /usr/lib/squid/negotiate_kerberos_auth -d -r -s HTTP/[email protected]
Debe devolver algo como esto:
negotiate_kerberos_auth.cc(487): pid=2122 :2019/10/11 12:42:29| negotiate_kerberos_auth: INFO: Starting version 3.0.4sq negotiate_kerberos_auth.cc(546): pid=2122 :2019/10/11 12:42:29| negotiate_kerberos_auth: INFO: Setting keytab to /etc/squid/proxy.keytab negotiate_kerberos_auth.cc(570): pid=2122 :2019/10/11 12:42:29| negotiate_kerberos_auth: INFO: Changed keytab to MEMORY:negotiate_kerberos_auth_2122 negotiate_kerberos_auth.cc(610): pid=2122 :2019/10/11 12:42:29| negotiate_kerberos_auth: DEBUG: Got 'YR YIIFswYGKwYBBQUCoIIFpzCCBaOgDTALBgkqhkiG9xIBAgKiggWQBIIFjGCCBYgGCSqGSIb3EgECAgEAboIFdzCCBXOgAwIBBaEDAgEOogcDBQAAAAAAo4IEhmGCBIIwggR+oAMCAQWhDBsKTk9ETy5MT0NBTKIkMCKgAwIBA6EbMBkbBEhUVFAbEXByb3h5MS5ub2RvLmxvY2Fso4IEQTCCBD2gAwIBEqEDAgEBooIELwSCBCvQ+hhDOtzzbXFWW/X0cPLJjvAYMJ/EaTKGIipXwfOFFOJPkMTJHMsabVberplpWOqCKcaQ3M17aknsJ1gdhtLLq3T/L09sVf3YHOi674gc0a+okmydQeLVM/EqQSwgPAH3/gbtWMo2jv8TS3U0Mdxs4yaeaixUDrDhSdXbHVVpkycNy/DlraJvrrPbKDmvWc+ebQZF+jhyocnruEaqeCOLv94fp7rZN3lcFfUOR/Tyoho7QeBlZ7P6DFfqKyU5E2qhqGXbWo/tlA7Et8TqH0g5BxDFq3YtMqVqXYGvFSQuj98eTH3Cr3ODmzbKIPbpbuJRqzBWSbIhLKxWlzV6e5AKocV2WJm3kFQdMTOgxBOkLYl4INWGjP/aylTDeoWWhvw2OuEVbOawYsAq8F37uwWxJNCO2gOGhtOCqy598064UUL5b4bLpTOnKLcpREUYgf5TkmemDPplPNEl/RrpaDSnbv7e0yH8U4lqZODeJvML8Fft7XINBRGJbs0pfKclvfszexqm17et+aUsGojahBH37qpamg5jH4zn0+hT8kGbNy59czUgaIJgwv5+eczQDcQazc12n9Gp/C+c97svsk83u9bFKEtge0coAChvmde5cTAwacwZ03Sf7spyN6mEnOj35BeM+kk233NCBR2lAwn03kmrs0kfm7rOiOVC60BQ8Zp0JXAJc96nPfgrZ2MDXMpR7FLulrTLD4LroDdr0389TngueYP/XWygMKIYawTY8vgtwmalMLus7FOkpKjtkDGKAtKX+8JLsWCuNFWq87SUgg28M2tMbsvgRb77a+cQth5BfaTbHI2zQXNA/qUjgEhdyqEBjiDeSIq4IKjI3QMoe2xvM63ZESHYkg+n6V19aPeKD1pIiHbkrnSlbkpzTf/3elx6beUrIoSV+7cfmSkTgfeQvqPBeQUN4rCXYgiOthMpgzJdRyU6zHJY3dNuDdqJxwzgtkop5dI3htY+A2+B96hR15dwX4fApUtN/a/KdEWabxCJGsUFFIJDvqgWQ5WFqLTjXb2LROtr4cAnPvzjZU3erVOTp7iaaQZe4izcSgK8bAypwFcxtlffEyg6UCQJuFg6woPsb6F2zq/mAXteLkfLDqeLxCzrzRR2S38R+xjb0Nup+4H9s3soes92XZIKJHWa8z7Dqp++M79vSGAe2vOh+5jOqKVTu5KHX4HeD1PLxbFaxiVxMy85KQOYrA6S42XsI4kFAEzVtp6CeHus2PDoauQhDhfJrqnhzr+Is0oL+B1p6nFIY0LUTDSzBRwM/r2PPaMMEwwfO7wWiaFmullm0rcnGaEt8ySJeLiloC86bRXee5eeewGWDQNZZZXvTJKXaQX4nAy9X24wIzbjFZB5rEPDdqxnvNJN3HLgDExu/UHjIeDWLTxekpZ8x+JO8nBJikL0vLvs5qSB0zCB0KADAgESooHIBIHFPCBZTVcJQM4jU/GYdzMDeoyjzYF0W3bs3H7Qh+rK+mSYcLbeVBunKuJnriQU2jBFAbCMwFE6SIrv8SWqRwIgQyeNeTSq5upqAbJIw5kPyGGnc5AEwY3dDXNNnGN4sH9G+PTdd1YWMOkQM51ozeNhnPJOG2w/aXphTschP8SyELxphNvZ2eA+/qa/Hp4C2Za2yZLQ7kZtu4AciDQLoYm/XWYTUb+6QTgHMGfKi2qX4jxp9pxJI7kU9sw4S33YApV8rZlNe74=' from squid (length: 1955). negotiate_kerberos_auth.cc(663): pid=2122 :2019/10/11 12:42:29| negotiate_kerberos_auth: DEBUG: Decode 'YIIFswYGKwYBBQUCoIIFpzCCBaOgDTALBgkqhkiG9xIBAgKiggWQBIIFjGCCBYgGCSqGSIb3EgECAgEAboIFdzCCBXOgAwIBBaEDAgEOogcDBQAAAAAAo4IEhmGCBIIwggR+oAMCAQWhDBsKTk9ETy5MT0NBTKIkMCKgAwIBA6EbMBkbBEhUVFAbEXByb3h5MS5ub2RvLmxvY2Fso4IEQTCCBD2gAwIBEqEDAgEBooIELwSCBCvQ+hhDOtzzbXFWW/X0cPLJjvAYMJ/EaTKGIipXwfOFFOJPkMTJHMsabVberplpWOqCKcaQ3M17aknsJ1gdhtLLq3T/L09sVf3YHOi674gc0a+okmydQeLVM/EqQSwgPAH3/gbtWMo2jv8TS3U0Mdxs4yaeaixUDrDhSdXbHVVpkycNy/DlraJvrrPbKDmvWc+ebQZF+jhyocnruEaqeCOLv94fp7rZN3lcFfUOR/Tyoho7QeBlZ7P6DFfqKyU5E2qhqGXbWo/tlA7Et8TqH0g5BxDFq3YtMqVqXYGvFSQuj98eTH3Cr3ODmzbKIPbpbuJRqzBWSbIhLKxWlzV6e5AKocV2WJm3kFQdMTOgxBOkLYl4INWGjP/aylTDeoWWhvw2OuEVbOawYsAq8F37uwWxJNCO2gOGhtOCqy598064UUL5b4bLpTOnKLcpREUYgf5TkmemDPplPNEl/RrpaDSnbv7e0yH8U4lqZODeJvML8Fft7XINBRGJbs0pfKclvfszexqm17et+aUsGojahBH37qpamg5jH4zn0+hT8kGbNy59czUgaIJgwv5+eczQDcQazc12n9Gp/C+c97svsk83u9bFKEtge0coAChvmde5cTAwacwZ03Sf7spyN6mEnOj35BeM+kk233NCBR2lAwn03kmrs0kfm7rOiOVC60BQ8Zp0JXAJc96nPfgrZ2MDXMpR7FLulrTLD4LroDdr0389TngueYP/XWygMKIYawTY8vgtwmalMLus7FOkpKjtkDGKAtKX+8JLsWCuNFWq87SUgg28M2tMbsvgRb77a+cQth5BfaTbHI2zQXNA/qUjgEhdyqEBjiDeSIq4IKjI3QMoe2xvM63ZESHYkg+n6V19aPeKD1pIiHbkrnSlbkpzTf/3elx6beUrIoSV+7cfmSkTgfeQvqPBeQUN4rCXYgiOthMpgzJdRyU6zHJY3dNuDdqJxwzgtkop5dI3htY+A2+B96hR15dwX4fApUtN/a/KdEWabxCJGsUFFIJDvqgWQ5WFqLTjXb2LROtr4cAnPvzjZU3erVOTp7iaaQZe4izcSgK8bAypwFcxtlffEyg6UCQJuFg6woPsb6F2zq/mAXteLkfLDqeLxCzrzRR2S38R+xjb0Nup+4H9s3soes92XZIKJHWa8z7Dqp++M79vSGAe2vOh+5jOqKVTu5KHX4HeD1PLxbFaxiVxMy85KQOYrA6S42XsI4kFAEzVtp6CeHus2PDoauQhDhfJrqnhzr+Is0oL+B1p6nFIY0LUTDSzBRwM/r2PPaMMEwwfO7wWiaFmullm0rcnGaEt8ySJeLiloC86bRXee5eeewGWDQNZZZXvTJKXaQX4nAy9X24wIzbjFZB5rEPDdqxnvNJN3HLgDExu/UHjIeDWLTxekpZ8x+JO8nBJikL0vLvs5qSB0zCB0KADAgESooHIBIHFPCBZTVcJQM4jU/GYdzMDeoyjzYF0W3bs3H7Qh+rK+mSYcLbeVBunKuJnriQU2jBFAbCMwFE6SIrv8SWqRwIgQyeNeTSq5upqAbJIw5kPyGGnc5AEwY3dDXNNnGN4sH9G+PTdd1YWMOkQM51ozeNhnPJOG2w/aXphTschP8SyELxphNvZ2eA+/qa/Hp4C2Za2yZLQ7kZtu4AciDQLoYm/XWYTUb+6QTgHMGfKi2qX4jxp9pxJI7kU9sw4S33YApV8rZlNe74=' (decoded length: 1463). negotiate_kerberos_pac.cc(376): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: INFO: Got PAC data of lengh 504 negotiate_kerberos_pac.cc(180): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: INFO: Found 7 rids negotiate_kerberos_pac.cc(188): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: Info: Got rid: 1107 negotiate_kerberos_pac.cc(188): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: Info: Got rid: 512 negotiate_kerberos_pac.cc(188): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: Info: Got rid: 572 negotiate_kerberos_pac.cc(188): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: Info: Got rid: 518 negotiate_kerberos_pac.cc(188): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: Info: Got rid: 519 negotiate_kerberos_pac.cc(188): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: Info: Got rid: 520 negotiate_kerberos_pac.cc(188): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: Info: Got rid: 1142 negotiate_kerberos_pac.cc(256): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: INFO: Got DomainLogonId S-1-5-21-3524852214-3423394674-3605778399 negotiate_kerberos_pac.cc(456): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: INFO: Read 500 of 504 bytes negotiate_kerberos_auth.cc(778): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: DEBUG: Groups group=AQUAAAAAAAUVAAAA9vkY0nLbDMzfz+vWUwQAAA== group=AQUAAAAAAAUVAAAA9vkY0nLbDMzfz+vWAAIAAA== group=AQUAAAAAAAUVAAAA9vkY0nLbDMzfz+vWPAIAAA== group=AQUAAAAAAAUVAAAA9vkY0nLbDMzfz+vWBgIAAA== group=AQUAAAAAAAUVAAAA9vkY0nLbDMzfz+vWBwIAAA== group=AQUAAAAAAAUVAAAA9vkY0nLbDMzfz+vWCAIAAA== group=AQUAAAAAAAUVAAAA9vkY0nLbDMzfz+vWdgQAAA== AF oRQwEqADCgEAoQsGCSqGSIb3EgECAg== nombre1.apellido negotiate_kerberos_auth.cc(783): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: DEBUG: AF oRQwEqADCgEAoQsGCSqGSIb3EgECAg== nombre1.apellido negotiate_kerberos_auth.cc(610): pid=2122 :2019/10/11 12:42:30| negotiate_kerberos_auth: DEBUG: Got 'QQ' from squid (length: 2). BH quit command
#===========================
NOTA:
Podría haber devuelto “OK”, pero en su lugar devolvió “AF”. No importa, esto es correcto, es por la versión de squid. A partir de la versión de 3.4 se desprecia esa respuesta en favor de OK.
#===========================
Probamos los grupos de Kerberos:
/usr/lib/squid/ext_kerberos_ldap_group_acl -a -g Internet -D NODO.LOCAL
Ahora tecleamos un usuario que pertenezca al grupo indicado en el comando anterior:
nombre2.apellido Si el usuario existe, deberá devolver lo siguiente: OK Lo mismo sucederá si tecleamos el otro usuario (nombre1.apellido) del grupo “Internet”. Sin embargo, si ponemos un usuario que no se encuentre en el grupo (nombre3.apellidos), nos devolverá lo siguiente: ERR
Referencias Bibliográficas
Squid Documentation: http://www3.us.squid-cache.org/Versions/v3/3.2/manuals/ext_kerberos_ldap_group_acl.html. Markus Moeller.
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Excelente Post. NTLM es obsoleto, debes ajustar los navegadores en las opciones de seguridad para que funcione.
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0
Buenas si puedieras ayudarme me seria de gran ayuda estoy tratanndo de generar el archivo .keytab y me esta dando este error si me pudieras ayudar te lo agradeceria en el alma
— init_password: Wiping the computer password structure
— generate_new_password: Generating a new, random password for the computer account
— generate_new_password: Characters read from /dev/urandom = 81
— create_fake_krb5_conf: Created a fake krb5.conf file: /tmp/.msktkrb5.conf-gy8N26
— reload: Reloading Kerberos Context
— finalize_exec: SAM Account Name is: SQUIDPROXY$
— try_machine_keytab_princ: Trying to authenticate for SQUIDPROXY$ from local keytab…
— try_machine_keytab_princ: Error: krb5_get_init_creds_keytab failed (No such file or directory)
— try_machine_keytab_princ: Authentication with keytab failed
— try_machine_keytab_princ: Trying to authenticate for SQUIDPROXY$ from local keytab…
— try_machine_keytab_princ: Error: krb5_get_init_creds_keytab failed (No such file or directory)
— try_machine_keytab_princ: Authentication with keytab failed
— try_machine_keytab_princ: Trying to authenticate for host/hermione.ltu.emcomed.cu from local keytab…
— try_machine_keytab_princ: Error: krb5_get_init_creds_keytab failed (Client not found in Kerberos database)
— try_machine_keytab_princ: Authentication with keytab failed
— try_machine_password: Trying to authenticate for SQUIDPROXY$ with password.
— create_default_machine_password: Default machine password for SQUIDPROXY$ is squidproxy
— try_machine_password: Error: krb5_get_init_creds_keytab failed (Preauthentication failed)
— try_machine_password: Authentication with password failed
— try_user_creds: Checking if default ticket cache has tickets…
— finalize_exec: Authenticated using method 5
— LDAPConnection: Connecting to LDAP server: dc2012.ltu.emcomed.cu
SASL/GSSAPI authentication started
SASL username: [email protected]
SASL SSF: 56
SASL data security layer installed.
— ldap_get_base_dn: Determining default LDAP base: dc=LTU,dc=EMCOMED,dc=CU
— ldap_check_account: Checking that a computer account for SQUIDPROXY$ exists
— ldap_check_account: Checking computer account – found
— ldap_check_account: Found userAccountControl = 0x1000
— ldap_check_account: Found supportedEncryptionTypes = 28
— ldap_check_account: Found dNSHostName = hermione.ltu.emcomed.cu
— ldap_check_account: Found Principal: HTTP/hermione.ltu.emcomed.cu
— ldap_check_account: userPrincipal specified on command line
— ldap_check_account_strings: Inspecting (and updating) computer account attributes
— ldap_check_account_strings: Found userPrincipalName = HTTP/[email protected]
— ldap_check_account_strings: userPrincipalName should be HTTP/[email protected]
— ldap_check_account_strings: Nothing to do
— ldap_set_supportedEncryptionTypes: No need to change msDs-supportedEncryptionTypes they are 28
— ldap_set_userAccountControl_flag: Setting userAccountControl bit at 0x200000 to 0x0
— ldap_set_userAccountControl_flag: userAccountControl not changed 0x1000
— ldap_get_kvno: KVNO is 11
— set_password: Attempting to reset computer’s password
— set_password: Try change password using user’s ticket cache
— ldap_get_pwdLastSet: pwdLastSet is 132463886295719689
— set_password: Successfully set password.
— ldap_add_principal: Checking that adding principal host/hermione.ltu.emcomed.cu to SQUIDPROXY$ won’t cause a conflict
Error: Another computer account (CN=hermione,OU=servers,DC=ltu,DC=emcomed,DC=cu) has the principal host/hermione.ltu.emcomed.cu
Error: ldap_add_principal failed
— execute: Updating all entries for hermione.ltu.emcomed.cu in the keytab WRFILE:/etc/squid/prueba.keytab
— update_keytab: Updating all entries for SQUIDPROXY$
— add_principal_keytab: Adding principal to keytab: SQUIDPROXY$
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x17
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x11
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x12
— add_principal_keytab: Adding principal to keytab: SQUIDPROXY$
— add_principal_keytab: Removing entries with kvno < 0
— add_principal_keytab: Deleting [email protected] kvno=12, enctype=23
— add_principal_keytab: Deleting [email protected] kvno=12, enctype=17
— add_principal_keytab: Deleting [email protected] kvno=12, enctype=18
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x17
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x11
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x12
— add_principal_keytab: Adding principal to keytab: HTTP/hermione.ltu.emcomed.cu
— add_principal_keytab: Removing entries with kvno < 0
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x17
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x11
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x12
— add_principal_keytab: Adding principal to keytab: host/SQUIDPROXY
— add_principal_keytab: Removing entries with kvno < 0
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x17
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x11
— add_principal_keytab: Using salt of LTU.EMCOMED.CUhostsquidproxy.ltu.emcomed.cu
— add_principal_keytab: Adding entry of enctype 0x12
— update_keytab: Entries for SPN HTTP/hermione.ltu.emcomed.cu have already been added. Skipping …
— ~KRB5Context: Destroying Kerberos Context
Mozilla/5.0 (Android 8.1.0; Mobile; rv:60.0) Gecko/60.0 Firefox/60.0
Es preciso aclarar acerca de la duda sibre el registro ldaps el cualno aparece de forma visible que este debe ser escrito o en su defecto crearlo por comandos sin hcer uso de las RSAT. Mis saludos franco
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
El servicio de registro en el dns de _ldaps para el _tcp no me aparece disponible para crearlo.
Mozilla/5.0 (X11; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0
Se crea escribiéndolo, RSAT no trae todos los registros SRV que existen, esto es imposible, muchos de estos registros debemos crearlos nosotros mismo, seleccionando el ldap y añadiéndole posteriormente la S para ldaps.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36
Estimado, estoy teniendo un problema y ya me he vuelto loco y me he leido todo internet y no logro dar con la solucion!
negotiate_kerberos_auth.cc(182): pid=24922 :2020/04/16 12:56:21| negotiate_kerberos_auth: ERROR: gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information. Cannot find key for HTTP/[email protected] kvno 2 in keytab
2020/04/16 12:56:21 kid1| ERROR: Negotiate Authentication validating user. Result: {result=BH, notes={message: gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information. Cannot find key for HTTP/[email protected] kvno 2 in keytab; }}
No me tira error alguno en ninguno de los pasos, authentica perfecto, y no tira error ni creando la key, ni haciendo el update, todo funciona barbaro, pero sigo teniendo este error. Uso heimdal en el Samba4 AD ya que viene por defecto.
Gracias por la ayuda!
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0
Hola Marcelo. Ese error me sale de vez en cuando. Lo probé en
samba-4.10.6 y squid-5.0.1 y a veces aparece, al igual que en Windows
Server AD. Estamos trabajando en tutorial de Squid que incluirá este
apartado mejor explicado y mas completo. A continuación te dejo el
estado del servicio Squid en mi proxy vs Windows Server AD:
##########################
â— squid.service – LSB: Squid HTTP Proxy version 5.0.1
Loaded: loaded (/etc/init.d/squid; generated)
Active: active (running) since Thu 2020-04-16 01:58:36 CDT; 3 days ago
Docs: man:systemd-sysv-generator(8)
Process: 510 ExecStart=/etc/init.d/squid start (code=exited, status=0/SUCCESS)
Tasks: 21 (limit: 4701)
Memory: 125.2M
CGroup: /system.slice/squid.service
├─ 770 /usr/sbin/squid -YC -f /etc/squid/squid.conf
├─ 772 (squid-1) –kid squid-1 -YC -f /etc/squid/squid.conf
├─ 774 (security_file_certgen) -s /var/lib/squid/ssl_db -M 10MB
├─ 775 (security_file_certgen) -s /var/lib/squid/ssl_db -M 10MB
├─ 776 (security_file_certgen) -s /var/lib/squid/ssl_db -M 10MB
├─ 777 (security_file_certgen) -s /var/lib/squid/ssl_db -M 10MB
├─ 778 (security_file_certgen) -s /var/lib/squid/ssl_db -M 10MB
├─ 779 (ext_kerberos_ldap_group_acl) -a -D ECASA.AVIANET.CU
├─ 780 (ext_kerberos_ldap_group_acl) -a -D ECASA.AVIANET.CU
├─ 781 (ext_kerberos_ldap_group_acl) -a -D ECASA.AVIANET.CU
├─ 782 (ext_kerberos_ldap_group_acl) -a -D ECASA.AVIANET.CU
├─ 783 (ext_kerberos_ldap_group_acl) -a -D ECASA.AVIANET.CU
├─ 784 (ext_kerberos_ldap_group_acl) -a -D ECASA.AVIANET.CU
├─ 785 (ext_kerberos_ldap_group_acl) -a -D ECASA.AVIANET.CU
├─ 786 (ext_kerberos_ldap_group_acl) -a -D ECASA.AVIANET.CU
├─ 787 (ext_kerberos_ldap_group_acl) -a -D ECASA.AVIANET.CU
├─ 788 (ext_kerberos_ldap_group_acl) -a -D ECASA.AVIANET.CU
├─ 789 (unlinkd)
├─ 853 (negotiate_kerberos_auth) -r -s
HTTP/[email protected]
├─ 854 (negotiate_kerberos_auth) -r -s
HTTP/[email protected]
└─1110 (basic_ldap_auth) -R -b
dc=ecasa,dc=avianet,dc=cu -D [email protected] -W
/etc/squid/ldappass.txt -f
(|(userPrincipalName=%s)(sAMAccountName=%s)(userPasswdac=ACTIVE)) -h
ecasadc01.ecasa.avianet.cu
abr 16 23:20:08 proxysquid (ext_kerberos_ldap_group_acl)[780]: GSSAPI
client step 1
abr 16 23:20:08 proxysquid (ext_kerberos_ldap_group_acl)[780]: GSSAPI
client step 2
abr 16 23:20:13 proxysquid (ext_kerberos_ldap_group_acl)[779]: GSSAPI
client step 1
abr 16 23:20:13 proxysquid (ext_kerberos_ldap_group_acl)[779]: GSSAPI
client step 1
abr 16 23:20:13 proxysquid (ext_kerberos_ldap_group_acl)[779]: GSSAPI
client step 1
abr 16 23:20:13 proxysquid (ext_kerberos_ldap_group_acl)[779]: GSSAPI
client step 2
abr 16 23:20:13 proxysquid (ext_kerberos_ldap_group_acl)[779]: GSSAPI
client step 1
abr 16 23:20:13 prox
Mozilla/5.0 (Windows NT 6.1; rv:57.0) Gecko/20100101 Firefox/57.0
Hola! Que recomendación de seguridad recomiendan para implementar un servidor proxy que da servicio de internet por 3 redes diferentes (LAN, RAS, APN). Ajustándose a lo que chequean cuando se nos inspeccionan. Saludos.
Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36
Ya lo he comentado en respuesta a otros comentarios, squid proxy no está pensado para darle esa seguridad como se requiere a redes externas, ya que el único método que considero seguro es Kerberos y esto es difícil de lograr o más bien imposible a redes externas, solo te queda la opción de asegurar el tráfico de red entre el proxy y los clientes, ya sea implementar un proxy https o una VPN entre los clientes y el proxy.
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Hola
Alguna vez leí que existe una linea de comando en la configuración del squid que se utiliza para:
PARA QUE LA CUENTA NO PUEDA SER ABIERTA EN DOS SECCIONES!!!
alguien conoce eso?
Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36
acl ip_limit max_user_ip -s 1
acl auth proxy_auth REQUIRED
http_access deny ip_limit
Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0
Hola, excelente artículo, para que esto funcione, el proxy y el samba4, tienen que estar en la misma subred que las estaciones de trabajo no es así??
Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.62 Mobile Safari/537.36
No para nada tiene que estar en la misma subred clientes y servidores. Se recomienda el empleo de wpad, pero igualmente se puede definir el proxy usando el fqdn en las opciones del mismo en el navegador.
Mozilla/5.0 (X11; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0
NTLM esta en desuso y descontinuado por la propio microsoft, se conocen múltiples vulnerabilidades en este protocolo no solucionadas, de ahí su abandono y no recomendación de su uso, de hecho ya windows 10 lo tiene deshabilitado por defecto. Por otra parte no tener que unir el servidor proxy al dominio sin necesidad alguna ya es otra ventaja a considerar. Si no lo vez así hermano estar embarcado.
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
LinuxCuba que haces en el caso que tengas clientes que naveguen y las maquinas no se encuentren unidas al dominio, la navegación de celulares por APN y las aplicaciones de descargas como IDM que hasta donde conozco no soportan kerberos, porque los mecanismos de autenticacion que me quedan son basicos y eso significa que el usuario y contraseña viajan por la red en texto claro y eso pasa a ser otra vulnerabilidad.
Mozilla/5.0 (Linux; Android 9; POCOPHONE F1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36
No tienes de otra que usar basic y el fallback usando LDAP, y ya sabes que eso es vulnerable pero bueno una red como el APN es privada, si quieres asegurar tráfico debes implementar una VPN contra el proxy o implementar un proxy https El cual implica tener certificados válidos o el respectivo CA de la pki instalado en el dispositivo. No queda otra, la seguridad del uso de proxy más bien está pensado para redes LAN con dominio y el uso de Kerberos.
Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0
Ojo, en Ubuntu el paquete msktutil no está en los repos, para que no intenten el tutorial y se queden a medias.
Deben descargarlo de las fuentes o pedirlo prestado de los repos de debian.
Aún así me gusta más la integración desde la PC/CT del squid unida al dominio y usando NTLM… pero esta es solo mi opinión.
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Gracias por la aclaración Pavel. Esto es algo particular para los ususarios de Ubuntu. El presente tutorial se probó sobre Debian Stretch/Buster.
Sobre qué solución es mejor usar o no, lo dejamos a consideración del sysadmin. NTLM es un método más antiguo y con esta vía se evita tener que unir el servicio al dominio, por mi parte me quedo con ésta.
SL2
Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0
en la version 20.04 viene agregada en los repos