squid integrado a active direcotry
Publicado: Jue, 15 Jun 2017, 15:53
Hola comunidad, estoy intentando montar un squid integrado a un directorio activo y estoy teniendo problema, espero que me puedan ayudar.
Antes de empezar quiero decir que estoy siguiendo 2 guías para conformar mi squid, estas guías son:
http://wiki.squid-cache.org/ConfigExamp ... eDirectory
http://wiki.bitbinary.com/index.php/Act ... quid_Proxy
Aquí dejo paso a paso lo que he hecho
###################################################################################################################
###################################################################################################################
1- Sistema Nuevo
2- configurar DNS
Editar resolv.conf y agregar el dns
sudo nano /etc/resolvconf/resolv.conf.d/base
nameserver x.x.x.x
3- Configurar NTP
Instalar ntp
sudo apt install ntp
editar ntp.conf y poner este
driftfile /var/lib/ntp/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
#aqui va el servidor al que hacemos referencia
server ntp.mio.cu
restrict -4 default kod notrap nomodify nopeer
restrict -6 default kod notrap nomodify nopeer
restrict 127.0.0.1
restrict ::1
restrict 1.1.1.0 mask 255.255.255.224 nomodify notrap
broadcast 1.1.1.224
broadcast 1.1.1.255
tos orphan
server 127.127.1.0
fudge 127.127.1.0 stratum 8
crear trabajo para que se actualice automaticamente
crear ntp.sh
sudo nano /opt/ntp.sh
#!/bin/bash
sudo service ntp stop
sudo ntpd -gq
sudo service ntp start
editar crontab
sudo nano /etc/crontab
#ejecutar cada hora en el minuto 25
25 * * * * root /opt/ntp.sh
establezco permisos de ejecución en /opt/ntp.sh
sudo chmod 755 /opt/ntp
4- instalar y configurar kerberos
sudo apt install krb5-user
configurar kerberos
Salvo el archivo de configuración original
sudo cp /etc/krb5.conf /etc/krb5.conf.default
edito el archivo de configuración
[libdefaults]
default_realm = MIO.CU
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
default_keytab_name = /etc/squid3/PROXY.keytab
; para Windows 2008 y superiores
; Todo lo que está con mayusculas debe permanecer en mayusculas
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
[realms]
MIO.CU = {
kdc = PDC.MIO.CU
admin_server = PDC.MIO.CU
default_domain = MIO.CU
}
[domain_realm]
.mio.cu = MIO.CU
mio.cu = MIO.CU
5- Instalar Squid3
sudo apt-get install squid3 ldap-utils libsasl2-modules-gssapi-mit libsasl2-modules
ir a http://fuhm.net/software/msktutil/releases/ y bajar el paquete de nuestra arquitectura
luego de bajarlo copiarlo al servidor
instalar el paquete (en este ejemplo la versión i386)
dpkg -i /var/cache/apt/archives/msktutil_0.4-2_i386.deb
Si da un error solamente editar un archivo, no borrar el programa ni decopilar el deb !!!!!!
sudo nano /var/lib/dpkg/status
#buscar msktutil y remplazar por esto
Package: msktutil
Status: install ok installed
Priority: optional
Section: net
Installed-Size: 204
Maintainer: James Y. Knight <foom@fuhm.net>
Architecture: i386
Version: 0.4-2
Depends: libc6 (>= 2.7-1), libcomerr2 (>= 1.01), libgcc1 (>= 1:4.1.1), libkrb5-3 (>= 1.6.dfsg.2), libldap-2.4-2 (>= 2.4.7), libstdc++6 (>= 4.2.1), libsasl2-modules-gssapi-mit | libsasl2-gssap$
Description: A program for interoperability with Active Directory
that can:
- Create a computer account in Active Directory
- Create a system Kerberos keytab
- Add and remove principals to and from that keytab
- Change the computer account's password
.
Website: http://fuhm.net/software/msktutil/
6- Configurar Autenticacion
Para probar la autenticacion usar el siguiente comando con un usuario con provilegios de admin
sudo kinit administrator
Este comando pide el passwd del usuario, si no da error todo esta perfecto
Para comprobar
sudo klist
7- Configurar el kerberos para que utilice mksutils
sudo msktutil -c -b "CN=COMPUTERS" -s HTTP/proxy.mio.cu -k /etc/squid3/PROXY.keytab --computer-name HERMESK --upn HTTP/squid.mio.cu --server pdc.mio.cu --verbose --enctypes 28
Le doy permisos al proxy para que pueda interactuar con el kerberos
sudo chgrp proxy /etc/squid3/PROXY.keytab
sudo chmod g+r /etc/squid3/PROXY.keytab
Debo destruir las credenciales usadas para crear la cuenta
sudo kdestroy
En el administrador de usuarios y equipos de Windows resetear la pc hermesk
Luego correr el siguiente comando
sudo msktutil --auto-update --verbose --computer-name hermesk
crear una tarea programada para actualizar nuestra pc en el ldap
sudo nano /etc/crontab
00 4 * * * root msktutil --auto-update --verbose --computer-name hermesk | logger -t msktutil
crear /etc/default/squid3 con lo siguiente
sudo /etc/default/squid3
KRB5_KTNAME=/etc/squid3/PROXY.keytab
export KRB5_KTNAME
8- Instalacion de Samba
Instalo samba
sudo apt-get install samba winbind samba-common-bin
Detengo samba
sudo invoke-rc.d winbind stop && invoke-rc.d samba stop
editar la configuración de samba
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.default
sudo rm /etc/samba/smb.conf
sudo nano /etc/samba/smb.conf
local master = no
workgroup = MIO
security = ads
realm = MIO.CU
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
uno la pc al dominio
sudo net ads join -U administrator
iniciar samba
sudo invoke-rc.d samba start && invoke-rc.d winbind start
probar que me uni al dominio
wbinfo -t
sudo wbinfo -a MIO\\testuser%'password'
establezco permisos para que proxy pueda usar windbind
sudo gpasswd -a proxy winbindd_priv
crear una tarea programada para actualizar nuestra pc en el directorio activo
sudo nano /etc/crontab
05 4 * * * root net rpc changetrustpw -d 1 | logger -t changetrustpw
9- Trabajo con el directorio activo
Crear un usuario para el proxy en el directorio activo (proxy). Este usuario debe cumplir con lo siguiente
-El usuario no debe cambiar su passwd
-La contraseña nunca expira
En el servidor debemos crear un archivo con la contraseña del usuario
sudo echo 'contraseña' > /etc/squid3/ldappass.txt
modificamos los permisos en el archivo ldappass.txt
sudo chmod o-r /etc/squid3/ldappass.txt
sudo chgrp proxy /etc/squid3/ldappass.txt
En el directorio activo establecer permisos de lectura al usuario "proxy" de forma recursiva
Luego crear los grupos de seguridad en el directorio activo
Internet Users Blocked
Descripcion: Usuarios sin acceso a internet
Internet Users Restricted
Descripcion: Usuarios con internet limitado a sitios especificos
Internet Users Standard
Descripcion: Usuarios con internet exepto sitios bloqueados
Internet Users Exception
Descripcion: Usuarios con internet y exepciones a sitios bloqueados
Internet Users Full
Descripcion: Usuarios con internet sin restricciones
Internet Users Anonymous
Descripcion: Usuarios con internet y no se guarda registro
Crear los archivos asociados en el proxy
sudo echo 'Internet Users Blocked' > /etc/squid3/groups/blocked_access.txt
sudo echo 'Internet Users Restricted' > /etc/squid3/groups/restricted_access.txt
sudo echo 'Internet Users Standard' > /etc/squid3/groups/standard_access.txt
sudo echo 'Internet Users Exception' > /etc/squid3/groups/exception_access.txt
sudo echo 'Internet Users Full' > /etc/squid3/groups/full_access.txt
sudo echo 'Internet Users Anonymous' > /etc/squid3/groups/anonymous_access.txt
Reinicio el squid
sudo service squid3 reload
10-Configurar squid
Preparar el sistema para compilar
sudo apt-get install build-essential linux-headers-$(uname -r)
bajar y compilar http://downloads.sourceforge.net/projec ... 0.1.tar.gz
tar -xvzf negotiate_wrapper-1.0.1.tar.gz
cd negotiate_wrapper-1.0.1/
./configure
make
sudo make install
###################################################################################
###################################################################################
Que me sucede, cuando llego a esta parte debe crearse un archivo ejecutable /usr/lib/squid3/squid_ldap_auth
pero cuando ejecuto
sudo squid3 -k parse
me dice /usr/lib/squid3/squid_ldap_auth not found
He revisado las guías a fondo, pero como dicen ambas solo son una guía de referencia.
Si alguien ha pasado por este camino le agradecería su ayuda.
Antes de empezar quiero decir que estoy siguiendo 2 guías para conformar mi squid, estas guías son:
http://wiki.squid-cache.org/ConfigExamp ... eDirectory
http://wiki.bitbinary.com/index.php/Act ... quid_Proxy
Aquí dejo paso a paso lo que he hecho
###################################################################################################################
###################################################################################################################
1- Sistema Nuevo
2- configurar DNS
Editar resolv.conf y agregar el dns
sudo nano /etc/resolvconf/resolv.conf.d/base
nameserver x.x.x.x
3- Configurar NTP
Instalar ntp
sudo apt install ntp
editar ntp.conf y poner este
driftfile /var/lib/ntp/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
#aqui va el servidor al que hacemos referencia
server ntp.mio.cu
restrict -4 default kod notrap nomodify nopeer
restrict -6 default kod notrap nomodify nopeer
restrict 127.0.0.1
restrict ::1
restrict 1.1.1.0 mask 255.255.255.224 nomodify notrap
broadcast 1.1.1.224
broadcast 1.1.1.255
tos orphan
server 127.127.1.0
fudge 127.127.1.0 stratum 8
crear trabajo para que se actualice automaticamente
crear ntp.sh
sudo nano /opt/ntp.sh
#!/bin/bash
sudo service ntp stop
sudo ntpd -gq
sudo service ntp start
editar crontab
sudo nano /etc/crontab
#ejecutar cada hora en el minuto 25
25 * * * * root /opt/ntp.sh
establezco permisos de ejecución en /opt/ntp.sh
sudo chmod 755 /opt/ntp
4- instalar y configurar kerberos
sudo apt install krb5-user
configurar kerberos
Salvo el archivo de configuración original
sudo cp /etc/krb5.conf /etc/krb5.conf.default
edito el archivo de configuración
[libdefaults]
default_realm = MIO.CU
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
default_keytab_name = /etc/squid3/PROXY.keytab
; para Windows 2008 y superiores
; Todo lo que está con mayusculas debe permanecer en mayusculas
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
[realms]
MIO.CU = {
kdc = PDC.MIO.CU
admin_server = PDC.MIO.CU
default_domain = MIO.CU
}
[domain_realm]
.mio.cu = MIO.CU
mio.cu = MIO.CU
5- Instalar Squid3
sudo apt-get install squid3 ldap-utils libsasl2-modules-gssapi-mit libsasl2-modules
ir a http://fuhm.net/software/msktutil/releases/ y bajar el paquete de nuestra arquitectura
luego de bajarlo copiarlo al servidor
instalar el paquete (en este ejemplo la versión i386)
dpkg -i /var/cache/apt/archives/msktutil_0.4-2_i386.deb
Si da un error solamente editar un archivo, no borrar el programa ni decopilar el deb !!!!!!
sudo nano /var/lib/dpkg/status
#buscar msktutil y remplazar por esto
Package: msktutil
Status: install ok installed
Priority: optional
Section: net
Installed-Size: 204
Maintainer: James Y. Knight <foom@fuhm.net>
Architecture: i386
Version: 0.4-2
Depends: libc6 (>= 2.7-1), libcomerr2 (>= 1.01), libgcc1 (>= 1:4.1.1), libkrb5-3 (>= 1.6.dfsg.2), libldap-2.4-2 (>= 2.4.7), libstdc++6 (>= 4.2.1), libsasl2-modules-gssapi-mit | libsasl2-gssap$
Description: A program for interoperability with Active Directory
that can:
- Create a computer account in Active Directory
- Create a system Kerberos keytab
- Add and remove principals to and from that keytab
- Change the computer account's password
.
Website: http://fuhm.net/software/msktutil/
6- Configurar Autenticacion
Para probar la autenticacion usar el siguiente comando con un usuario con provilegios de admin
sudo kinit administrator
Este comando pide el passwd del usuario, si no da error todo esta perfecto
Para comprobar
sudo klist
7- Configurar el kerberos para que utilice mksutils
sudo msktutil -c -b "CN=COMPUTERS" -s HTTP/proxy.mio.cu -k /etc/squid3/PROXY.keytab --computer-name HERMESK --upn HTTP/squid.mio.cu --server pdc.mio.cu --verbose --enctypes 28
Le doy permisos al proxy para que pueda interactuar con el kerberos
sudo chgrp proxy /etc/squid3/PROXY.keytab
sudo chmod g+r /etc/squid3/PROXY.keytab
Debo destruir las credenciales usadas para crear la cuenta
sudo kdestroy
En el administrador de usuarios y equipos de Windows resetear la pc hermesk
Luego correr el siguiente comando
sudo msktutil --auto-update --verbose --computer-name hermesk
crear una tarea programada para actualizar nuestra pc en el ldap
sudo nano /etc/crontab
00 4 * * * root msktutil --auto-update --verbose --computer-name hermesk | logger -t msktutil
crear /etc/default/squid3 con lo siguiente
sudo /etc/default/squid3
KRB5_KTNAME=/etc/squid3/PROXY.keytab
export KRB5_KTNAME
8- Instalacion de Samba
Instalo samba
sudo apt-get install samba winbind samba-common-bin
Detengo samba
sudo invoke-rc.d winbind stop && invoke-rc.d samba stop
editar la configuración de samba
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.default
sudo rm /etc/samba/smb.conf
sudo nano /etc/samba/smb.conf
local master = no
workgroup = MIO
security = ads
realm = MIO.CU
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
uno la pc al dominio
sudo net ads join -U administrator
iniciar samba
sudo invoke-rc.d samba start && invoke-rc.d winbind start
probar que me uni al dominio
wbinfo -t
sudo wbinfo -a MIO\\testuser%'password'
establezco permisos para que proxy pueda usar windbind
sudo gpasswd -a proxy winbindd_priv
crear una tarea programada para actualizar nuestra pc en el directorio activo
sudo nano /etc/crontab
05 4 * * * root net rpc changetrustpw -d 1 | logger -t changetrustpw
9- Trabajo con el directorio activo
Crear un usuario para el proxy en el directorio activo (proxy). Este usuario debe cumplir con lo siguiente
-El usuario no debe cambiar su passwd
-La contraseña nunca expira
En el servidor debemos crear un archivo con la contraseña del usuario
sudo echo 'contraseña' > /etc/squid3/ldappass.txt
modificamos los permisos en el archivo ldappass.txt
sudo chmod o-r /etc/squid3/ldappass.txt
sudo chgrp proxy /etc/squid3/ldappass.txt
En el directorio activo establecer permisos de lectura al usuario "proxy" de forma recursiva
Luego crear los grupos de seguridad en el directorio activo
Internet Users Blocked
Descripcion: Usuarios sin acceso a internet
Internet Users Restricted
Descripcion: Usuarios con internet limitado a sitios especificos
Internet Users Standard
Descripcion: Usuarios con internet exepto sitios bloqueados
Internet Users Exception
Descripcion: Usuarios con internet y exepciones a sitios bloqueados
Internet Users Full
Descripcion: Usuarios con internet sin restricciones
Internet Users Anonymous
Descripcion: Usuarios con internet y no se guarda registro
Crear los archivos asociados en el proxy
sudo echo 'Internet Users Blocked' > /etc/squid3/groups/blocked_access.txt
sudo echo 'Internet Users Restricted' > /etc/squid3/groups/restricted_access.txt
sudo echo 'Internet Users Standard' > /etc/squid3/groups/standard_access.txt
sudo echo 'Internet Users Exception' > /etc/squid3/groups/exception_access.txt
sudo echo 'Internet Users Full' > /etc/squid3/groups/full_access.txt
sudo echo 'Internet Users Anonymous' > /etc/squid3/groups/anonymous_access.txt
Reinicio el squid
sudo service squid3 reload
10-Configurar squid
Preparar el sistema para compilar
sudo apt-get install build-essential linux-headers-$(uname -r)
bajar y compilar http://downloads.sourceforge.net/projec ... 0.1.tar.gz
tar -xvzf negotiate_wrapper-1.0.1.tar.gz
cd negotiate_wrapper-1.0.1/
./configure
make
sudo make install
###################################################################################
###################################################################################
Que me sucede, cuando llego a esta parte debe crearse un archivo ejecutable /usr/lib/squid3/squid_ldap_auth
pero cuando ejecuto
sudo squid3 -k parse
me dice /usr/lib/squid3/squid_ldap_auth not found
He revisado las guías a fondo, pero como dicen ambas solo son una guía de referencia.
Si alguien ha pasado por este camino le agradecería su ayuda.