Ok este es el prototipo de un manual de samba4+openfired+squid q estoy
elaborando. He usado muchas fuentes y algunas experiencias con los
trastabillazos q he dado en el camino, espero te sea útil y me disculpen
cualquier errata, supongo q están familiarizado con openfired, squid y
herramientas de compilación del linux, para no caer en detalles e ir al
grano.
necesitamos las fuentes del samba4.
a grandes rasgos desde un server debian recién instalado con las sources
del kernel y herramientas de compilación agregadas:
o lo instalas o declaras en la compilación q no usarás ntp. Sugerencia:
instalarlo.
apt-get install ntp
tu interfaz de red debe ser estática:
nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
dns real del server declarado correctamente en correspondencia con tu
dominio:
nano /etc/hosts
127.0.1.1 samba4.mydomain.com samba
192.168.1.2 samba4.mydomain.com samba
servidores dns..aqui una notica, no declares ninguno..solo la ip del
servidor del samba4 al no ser q uses un bind9 como redireccionador,
consejo: usar el dns interno del samba4.
nano /etc/resolv.conf
domain mydomain.com
search mydomain.com
nameserver 192.168.1.2
Dependencias primarias, entre ellas el servidor kerberos
apt-get install build-essential pkg-config libacl1 acl libacl1-dev
libblkid-dev libblkid1 attr libattr1 libattr1-dev libgnutls-dev
libreadline-dev python-dev python-dnspython gdb libpopt-dev
libldap2-dev dnsutils libbsd-dev krb5-user docbook-xsl libcups2-dev
libncurses-dev libpam0g-dev libdm0-dev libfam0 fam libfam-dev
xsltproc libnss3-dev docbook-xsl-doc-html docbook-xsl-ns
cuando pida reina kerberos, servidor kerberos y demás usas el FQDN
de tu dominio y los datos por defecto q ponga..
extraes el archivo samba-latest.tar.gz, supongamos en /root
tar -xzf samba-x.x.tar.gz para la compilación
cd samba-4.x.x
./configure
make (en dependencia de tu pc 8 minutos con un i3 de 3ra y 6 de ram)
make install (otros 6-9 minutos)
terminado ya esta listo todo.
exportamos unas variables para el consoleo:
export PATH=/usr/local/samba/bin:/usr/local/samba/sbin:$PATH
para automatizar esto, agregas todo esto al final del archivo
/root/.bashrc del server
Haces un linkeado, ya q por defecto la instalación está en
/usr/local/samba y no en /etc como debería ser.
ln -s /usr/local/samba/etc /etc/samba
generemos los datos para q el samba4 funcione:
samba-tool domain provision --use-rfc2307 --interactive
sigue los pasos...una cosita, la clave del administrator (fíjate en la
t) ponla en mayúscula completa...y usa el "dns internal" del samba4 con
"none" en servidor dns externo.
hagamos una copia del kerberos:
cd /etc/
cp krb5.conf krb5.conf.original
y verifica q esté tu dominio declarado en la variable REALM...debe de
estar si declaraste bien en la configuración del server kerberos, sino
es así, agrégalo..los ejemplos q trae te lo guian.
ahora viene lo bueno jejej..echemos a andar el samba4...a mi
personalmente me gusta ejecutarlo en modo depuración para ver cualquier
error en la parte inicial de configuración.
nmapea localhost o netstat para q veas q no hay puertos abiertos
apt-get install byobu
ejecutas byobu
ctrl+f12
tendrás dos consolas...en la de arriba tipeas
samba -i
y en la consola de abajo le pasaremos los comandos...
si ejecutas samba -i y no hay ningún error verás algo como:
Copyright Andrew Tridgell and the Samba Team 1992-2013
samba: using 'standard' process model.
nmapea o netstat para q veas los servicios del samba4 corriendo (ahi
estan los de mi squid y openfired, no se fijen en esos jeje):
nmap localhost
22/tcp open ssh
53/tcp open domain
80/tcp open http
88/tcp open kerberos-sec
111/tcp open rpcbind
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
445/tcp open microsoft-ds
464/tcp open kpasswd5
636/tcp open ldapssl
1024/tcp open kdm
3000/tcp open ppp
3128/tcp open squid-http
3268/tcp open globalcatLDAP
3269/tcp open globalcatLDAPssl
5222/tcp open xmpp-client
5269/tcp open xmpp-server
7070/tcp open realserver
7443/tcp open oracleas-https
7777/tcp open cbt
9090/tcp open zeus-admin
9091/tcp open xmltec-xmlmail
10000/tcp open snet-sensor-mgmt
en la otra consola:
kinit administra...@samba4.mydomain.com
samba-tool user setexpiry administrator --noexpiry (deshabilitando la
expiración de cuentas del administrator)
(fijate en los logs q va generando arriba el samba -i)
te aconsejo le eches un vistazo a samba-tools..es obligado
familiarizarse con esos comandos.
personalmente solo uso el administrator para casos de depuración,
creo un usuario:
samba-tools user create admin
(pide la clave, esta ya puede ser como quieras,por su puesto con su
nivel de complejidad)
samba-tool user setexpiry admin --noexpiry
agregémosle a los privilegios casi máximos la cuenta admin:
samba-tool group addmembers 'Domain Admins' admin
samba-tool group addmembers 'Enterprise Admins' admin
samba-tool group addmembers 'Domain Controllers' admin
y listo, levanta un xp o seven y agrégalo al dominio SAMBA4 del
ejemplo..te pedirá user y clave de un administrador, por su puesto admin
o puedes usar si deseas la cuenta Administrator y listo.
Puedes usar RSAT para la gestión de usuarios, grupos y políticas del
dominio,etc desde el mismo windows en aras de facilitar la cosa...de
todas formas el consoleo no está nada mal conocerlo..al final terminas
usándolo igual...
uff hace rato no escribía tanto jajaja..
ahora conectemos un squid al ad del samba4 (supongo un apt-get install
squid y funcional)
todo lo haré por los comandos de samba-tools pero con RSAT es todo a
golpe de clic como si estuvieras en un AD sobre windows.
Creamos un grupo llamado Internet q son los q accederan al servicio y
agregamos la cuenta admin:
samba-tool group add Internet
samba-tool group addmembers 'Internet' admin
vamos al squid.conf, comentas la autentificación q usabas antes y:
auth_param basic program /usr/lib/squid/ldap_auth -R -b
"dc=SAMBA4,dc=MYDOMAIN,dc=COM" -D
"cn=admin,cn=Users,dc=SAMBA4,dc=MYDOMAIN,dc=COM" -w "laclavedeladmin" -f
sAMAccountName=%s -h 127.0.0.1
auth_param basic children 5
auth_param basic realm Proxy Server Squid
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive on
external_acl_type InetGroup %LOGIN /usr/lib/squid/squid_ldap_group -R -b
"dc=SAMBA4,dc=MYDOMAIN,dc=COM" -D
"cn=admin,cn=Users,dc=SAMBA4,dc=MYDOMAIN,dc=COM" -w "laclavedeladmin" -f
"(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%a,cn=Users,dc=SAMBA4,dc=MYDOMAIN,dc=COM))"
-h localhost
acl InetAccess external InetGroup Internet (el toque mágico)
acl localnet src 192.168.1.0/24
acl passwd proxy_auth REQUIRED
http_access allow localnet passwd InetAccess
Esto es una config muy global..pedirá clave para navegar a cualquiera q
de la red 192.168.1.0/24. Puede tunearlo para q solo pida clave a
determinadas ip y el resto no lo haga para navegación .cu, por horarios,
etc...queda a sus imaginaciones.
/etc/init.d/squid restart y verifique q le piden clave y navega con el
usuario admin..prueba agregar otro usuario fuerta del grupo y agrégalo
al grupo Internet y verás los resultados.
Openfired ahora, supongo un openfired instalado de 0...
Crearemos el grupo q serán visibles todos los usuarios:
samba-tool group add Jabber
agregamos dos usuarios previamente ya creados a dicho grupo:
samba-tool group addmembers 'Jabber' pepe
samba-tool group addmembers 'Jabber' jose
cargamos por el navegador la instalación y reconfiguración del openfired
desde un inicio...todo igual solo q al llegar a la la declaración de la
base de datos internal seleccionas el tipo Directorio Activo (LDAP) y
dale los datos correspondientes:
dc=SAMBA4,dc=MYDOMAIN,dc=COM
cn=admin,cn=Users,dc=SAMBA4,dc=MYDOMAIN,dc=COM
clave: tuclavedeladmin
Siguiente aceptar siguiente..(muy interactivo jejeje)
Si todo va bien, al pedirte agregar un usuario como administrador de
openfire (la cuenta admin q creamos anteriormente o tu propia cuenta
jabber) verás como debajo lo añade...si declaraste mal alguna variable
arriba, o clave de admin, o usuario q no tienen permisos de
administración, no te funcionará y tendrás q desinstalar el openfire en
su etapa inicial y volver a iniciar el proceso desde 0.
Terminado este "dificultoso" paso openfire te dice q todo está ok y vas
a consola de administración: http://192.168.1.2:9090
te logeas como admin con la clave y listo...declaras en grupo q sean
visibles todos los del grupo Jabber y completo el tren del openfire.
Prueba conectarte con pidgin con los usarios pepe y jose y verás q serán
visibles entre si.
Una nota, openfire accede en modo lectura al ldap del samba4, por lo q
hay q crear los usuarios por RSAT, samba-tools o sea lo q uses para
gestionar samba4
Los usuarios q se creen y no estén dentro del grupo Jabber podrán
acceder desde el pidgin pero no verán a nadie porque sencillamente no
están agregados al grupo Jabber.
A grandes rasgos esta es la idea del samba4 como AD+squid+openfired.
Un poco atropellado pero les aseguro q funciona...
Saludos!!!
--
Administrador de Redes
Nodo Provincial ESILT
OS: Debian 7.5 wheezy
,met$$$$$gg. CPU: Intel Core i3-3220 CPU @ 3.3GHz
,g$$$$$$$$$$$$$$$P. RAM: 2GB
,g$$P"" """Y$$.". Kernel: i686 Linux 3.2.0-4-686-pae
,$$P' `$$$. Packages: 3429
',$$P ,ggs. `$$b: Shell: bash 4.2.37
`d$$' ,$P"' . $$$ Resolution: 1280x1024
$$P d$' , $$P DE: Gnome 3.4.2.1
$$: $$. - ,d$$' WM: Mutter
$$\; Y$b._ _,d$P' WM Theme: Adwaita
Y$$. `.`"Y$$$$P"' GTK Theme: Adwaita [GTK3]
`$$b "-.__ Icon Theme: gnome-brave
`Y$$ Font: Cantarell 11
`Y$$. Mail: Thunderbird
`$$b. Browser: Mozilla
`Y$$b. TTY: nmap ssh mc dmesg htop nc mutt rsync
`"Y$b._ iptraf dsniff gpm byobu rcconf irssi
`"""" elinks make msfconsole iptables tail
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que est� limpio.
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l