Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
File
1. Portal de los Joven Club de Computación y Electrónica Remedios
Autentificar squid contra Active Directory
sábado, 06 de septiembre de 2008
Este How to, al igual que todos los publicados en esta seccion ya fueron probados por el grupo de Redes JCREME
Muchas veces nuestros controladores de dominio los montado en Windows, pero nuestro servidor proxy en linux.
Cuando se quiere brindar internet a un grupo grande de usuarios del con squid, lo mas sencillo sería autentificar este
contra Active Directory, de aqui en adelante empezamos a trabajar en ello.
1- ¿ Qué necesitamos ?
- Tener Implementado Nuestro Controlador de dominio con Active Directory
- En el servidor que vamos a instalar el Squid debemos tener instalado debian (con Ubuntu Server debe ser igual)
- Tener conocimiento de la contraseña de un usuaio con permisos de administracion en el dominio.Nota: De aqui en
adelante para entender mejor lo que iremos haciendo, trabajaremos con ejemplos.
Ejemplo:
Supongamos que sus servidores tienen los siguientes parámetros:
Ip del Servidor con Active Directory: 10.12.1.1
Nombre del Servidor que tiene Active Directory: AD
Nombre del Dominio Active Directory: jcreme.vcl.jovenclub.cu
Netbios del Dominio Active Directory: JCREME
Ip del Servidor donde instalaremos el quid: 10.12.1.2
Nombre del Servidor donde esta el squid: Debian
Es de suponer que estos valores ustedes los deben cambiar y ajustar a su red.
2- Instalar los Paquetes Necesarios
Vamos a la consola (autentificado como root) y escribimos
aptitude install samba smbclient winbind krb5-user krb5-config ntpdate
Nota: Con esto hemos instalado todos los paquetes que nos será necesarios para nuestro trabajo.
3- Resolver Equipos en la Red.
Vamos al fichero /etc/host borramos todo su contenido y ponemos lo siguiente 10.12.1.2 debian.jcreme.vcl.jovenclub.cu
Debian
10.12.1.1 ad.jcreme.vcl.jovenclub.cu AD
Bueno Ahora les explico: en cualquier lugar que diga: jcreme.vcl.jovenclub.cu se refiere al dominio esto lo deben
cambiar y poner el suyo, tambien deben cambiar los nombres e IP de los servidores por los suyos.
4- Configurar el Cliente Kerberos
Para configurar el cliente kerberos vamos a editar el siguiente fichero /etc/krb5.conf
Borramos todo su contenido y lo remplazamos por esto:Nota: Debemos Respetar Maúzculas y Minúzculas
[libdefaults]
default_realm = JCREME.VCL.JOVENCLUB.CU
clockskew = 300
[realms]
JCREME.VCL.JOVENCLUB.CU = {
kdc = 10.12.1.1
default_domain = jcreme.vcl.jovenclub.cu
admin_server = 10.12.1.1
}
jcreme.vcl.jovenclub.cu = {
kdc = 10.12.1.1
http://www.vcl.jovenclub.cu/munic/remedios Potenciado por Joomla! Generado: 13 January, 2011, 11:59
2. Portal de los Joven Club de Computación y Electrónica Remedios
default_domain = jcreme.vcl.jovenclub.cu
admin_server = 10.12.1.1
}
jcreme = {
kdc = 10.12.1.1
default_domain = jcreme
admin_server = jcreme.vcl.jovenclub.cu
}
[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
default = SYSLOG:NOTICE:DAEMON
[domain_realm]
.jcreme = jcreme
.jcreme.vcl.jovenclub.cu = JCREME.VCL.JOVENCLUB.CU
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
retain_after_close = false
minimum_uid = 0
try_first_pass = true
}Nota: Bueno como ya saben estamos trabajando con un ejemplo, por lo tanto en este fichero de configuración deben
cambiar jcreme por el netbios de su dominio, jcreme.vcl.jovenclub.cu por su dominio y 10.12.1.1 por el IP del Servidor
donde tienen Active Directory.
5- Kerberos es muy estricto con los desajustes horarios, asi que para evitar cualquier error mas adelante vamos a
sincronizar la hora del servidor donde instalaremos squid con el servidor Active Directory. Para esto en la pc que tiene
linux vamos a la consola y ponemos:
ntpdate 10.12.1.1Nota: Deben Cambiar 10.12.1.1 y poner el Ip de su servidor active Directory. Si todo sale bien debe
mostrar algo parecido a esto pero con otra fecha y donde dice 10.12.1.1 debe salir el Ip del Servidor Active Directory.6
Sep 19:55:22 ntpdate[9560]: step time server 10.12.1.1 offset 7.703822 sec
6- Crear tickets Kerberos
Para crear los tickets kerberos ejecutamos en consola el siguiente comando:
kinit administratorNota: No tiene que ser administrator, pude ser tambien cualquier otro usuario con privilegios de
administración del dominio Active Directory.
Ahora si todo salio bien nos pedirá la contraseña de ese usuario, la ponemos y presionamos enter, si la contraseña es
correcta no debe mostrarnos ningun mensaje, solo debe ponernos el cursor en una nueva línea.
7- Configurar Samba
Para configurar samba vamos al siguiente fichero /etc/samba/smb.conf , borramos todo su contenido y agregamos el
Siguiente
[global]
security = ADS
netbios name = Debian
realm = JCREME.VCL.JOVENCLUB.CU
password server = ad.jcreme3.vcl.jovenclub.cu
workgroup = JCREME
log level = 1
syslog = 0
idmap uid = 10000-29999
idmap gid = 10000-29999
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
http://www.vcl.jovenclub.cu/munic/remedios Potenciado por Joomla! Generado: 13 January, 2011, 11:59
3. Portal de los Joven Club de Computación y Electrónica Remedios
winbind use default domain = yes
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
domain master = no
server string = linux como cliente de AD
encrypt passwords = yes
##compartir el home del usuario solo para él cuando se encuentre en otro
equipo de la red
[homes]
comment = Home Directories
valid users = %S
browseable = No
read only = No
inherit acls = Yes
[profiles]
comment = Network Profiles Service
path = %H
read only = No
store dos attributes = Yes
create mask = 0600
directory mask = 0700
Nota: Bueno, de esta configuracion solo tenemos que modificar algunas líneas, primero donde quiera que diga
jcreme.vcl.jovenclub.cu ponen su dominio, donde dice ad.jcreme.vcl.jovenclub.cu ponen el nombre del servidor que tiene
Active directory seguido por su dominio y tambien donde diga jcreme deben poner el netbios de su dominio, recuerden
que ad fue el nombre que pusimos al Servidor de Active directory como ejemplo para dasarrolar el Manual.
8- Reiniciar Samba
Para esto vamos a una consola y ponemos
/etc/init.d/samba restart
9- Incluir la PC con linux al Dominio de Linux
Para esto nos vamos a la consola y ponemos:
net ads join -S ad.jcreme.vcl.jovenclub.cu -U administrator
Si todo va caminando bien nos debe pedir la contraseña de ese usuario, la tecleamos y precionamos Enter. Entonces
nos debe mostrar algo como esto:
Using short domain name -- JCREME
Joined 'DEBIAN' to realm 'JCREME.VCL.JOVENCLUB.CU'
En caso que nos muestre un error solo debemos agregar una cuenta de confianza en el dominio con el Ip de la PC que
tiene linux. (En caso de tener alguna duda en esto puede preguntar en http://www.vcl.jovenclub.cu/munic/remedios/foro/)
10- Ajustando winbind
Ahora pasamos a unos de los pasos mas importantes, tenemos que cambiar el script que inicia winbind, ya que este al
arrancar dicho demonio le da a sus archivos permisos que no son factibles para la operación que queremos realizar, asi
que vamos a /etc/init.d/winbind borramos todo el contenido del fichero y colocamos este
#!/bin/sh
### BEGIN INIT INFO
# Provides: winbind
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 016
# Short-Description: start Winbind daemon
http://www.vcl.jovenclub.cu/munic/remedios Potenciado por Joomla! Generado: 13 January, 2011, 11:59
4. Portal de los Joven Club de Computación y Electrónica Remedios
### END INIT INFO
PATH=/sbin:/bin:/usr/sbin:/usr/bin
[ -r /etc/default/winbind ] && . /etc/default/winbind
DAEMON=/usr/sbin/winbindd
# clear conflicting settings from the environment
unset TMPDIR
# See if the daemon is there
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting the Winbind daemon" "winbind"
mkdir -p /var/run/samba/winbindd_privileged || return 1
chgrp proxy /var/run/samba/winbindd_privileged/ || return 1
chmod 0750 /var/run/samba/winbindd_privileged/ || return 1
start-stop-daemon --start --quiet --oknodo --exec $DAEMON -- $WINBINDD_OPTS
chmod 77 /var/run/samba/winbindd_privileged
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping the Winbind daemon" "winbind"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
log_end_msg $?
;;
restart|force-reload)
$0 stop && sleep 2 && $0 start
;;
*)
echo "Usage: /etc/init.d/winbind {start|stop|restart|force-reload}"
exit 1
;;
esac
11- Estableciendo el orden de inicio de los servicios
Este paso tambien es muy importante, ya que si los servicios no se inician en el orden correcto nuestro proxy nunca
autentificará contra Active Directory, como esta tarea resulta un poco complicada nosotros nos vamos a ir por la via facil
vamos a /etc/rc.local y añadimos las siguientes líneas:
invoke-rc.d samba stop
invoke-rc.d winbind stop
invoke-rc.d squid stop
invoke-rc.d samba start
invoke-rc.d winbind start
invoke-rc.d squid start
12- Reiniciando la PC
Vamos a la consola y escrbimos:
init 6
http://www.vcl.jovenclub.cu/munic/remedios Potenciado por Joomla! Generado: 13 January, 2011, 11:59
5. Portal de los Joven Club de Computación y Electrónica Remedios
13- Luego tenemos que hacer test para ver si verdaderamente nuestra PC está unida al dominio para ella vamos a la
consola y ponemos:
wbinfo -u
Si todo ha salido bien debe mostrar todos los usuarios que tiene Active Directory.
14- Configurar la autentificación del squid
Para ello vamos a /etc/squid/squid.conf . Una ves dentro del fichero buscamos el siguiente TAG
TAG: auth_param
En esta sección agregamos las siguientes líneas:
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 30
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param ntlm use_ntlm_negotiate on
auth_param basic realm Servidor Proxy
Nota: En caso de presentarse problemas a la hora de llevar a la practica esta pequeña guia, puede postearlo en
nuestro foro
http://www.vcl.jovenclub.cu/munic/remedios/foroAutor: Yadrian Moreno Rodriguez
email: yadrianm@uclv.edu.cu
Grupo de Redes JCREME
http://www.vcl.jovenclub.cu/munic/remedios Potenciado por Joomla! Generado: 13 January, 2011, 11:59