Página 1 de 1

squid integrado a active direcotry

Publicado: Jue, 15 Jun 2017, 15:53
por Revan
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.

Re: squid integrado a active direcotry

Publicado: Vie, 29 Sep 2017, 15:34
por rudibel90
Socio yo también estoy tratando de integrar un squid con un AD, pero en este caso con el Samba4 de Zentyal y no he logrado nada aún, te agradecería a ti o quien sea que lo haya hecho y pueda ayudarme que si tienen alguna solución por favor me la compartan, mi dirección de correo es rudibel@frutaspr.co.cu, gracias de antemano