Mostrando entradas con la etiqueta servers. Mostrar todas las entradas
Mostrando entradas con la etiqueta servers. Mostrar todas las entradas
Autenticación y administración centralizada de usuarios en GNU/Linux
Desde que estoy en mi actual trabajo, me vi forzado a utilizar Active Directory (AD), a aprender de qué trata, cómo funciona, y cómo administrarlo.
Realmente este servicio me parece una buena idea por parte de MS, y a nivel empresa es muy útil. La experiencia en el trabajo me enseñó que cuando la cantidad de usuarios supera un cierto número, administrarlos por workstation y/o por servicio es muy complejo, inaceptable. Además, la facilidad de independizar al usuario de la workstation en la que se encuentra, es muy importante para muchas empresas.
El problema, claro está, es que AD es de MS, con todo lo que ello representa:
- código cerrado
- licencias caras y limitantes
- poco flexible
- software malo (si, la idea de AD es buena, pero el soft de MS es malo)
- hay que utilizar Windows
- fuerza a utilizar más software MS, gracias a su política "incompatible con el mundo no MS"
- no se puede aprender de él
- mientras todo anda, es fácil, pero cuando algo falla, arreglarlo es extremadamente difícil
- etc, etc
No es ningún secreto que MS no me cae bien, y creo que las razones anteriores son suficientes para ello.
Por eso me di a la tarea de buscar una alternativa libre que brinde capacidades similares. El objetivo es tener un sistema centralizado de usuarios, donde los usuarios tienen una identidad única para utilizar el sistema operativo (y las aplicaciones que utilicen autenticación integrada) desde cualquier máquina.

MS no inventó nada nuevo con Active Directory, sino que supo combinar protocolos que ya se utilizaban desde hace años y que mayoritariamente nacieron como protocolos libres, por lo cual existen alternativas para cada componente. El problema es unir estos componentes para que trabajen en conjunto.
Los componentes básicos para lograr la funcionalidad deseada son:
- Autenticación con Kerberos.
- NTP para mantener sincronizados los relojes (requerimiento importante para kerberos).
- Servicio de directorio LDAP para almacenar datos de usuarios, grupos, hosts, etc.
- DNS para asignar nombres de dominio.
- DHCP para distribuir direcciones IPs (opcional pero muy útil).
- Replicación de los datos entre múltiples servidores (multi-master replication).
- Administración de seguridad a través de políticas de grupo (GPOs).
Es claro que AD no se queda ahí y gracias al la integración con el resto del soft MS, es posible tener integrado servicio de email (Exchange), y servicio de archivos (SMB), entre otros.

Sacando las GPOs, todo el resto se puede lograr utilizando software libre, por ejemplo:
- MIT Kerberos
- NTP
- OpenLDAP
- Bind (DNS)
- Samba
- Postfix
La tarea entonces es configurar los servicios para que trabajen en conjunto.
Existe mucha información en internet sobre cómo lograr que las herramientas interactúen, pero poco sobre proyectos que integren todo.
El más notable al respecto es la distribución Calculate Linux. Si bien todavía no probé esta distribución, la descripción de la misma es muy alentadora, ya que hasta permite integrar hosts Windows para que interactúen con los servidores Linux.

En base a lo expuesto, desde hace un par de meses estoy trabajando en armar una infraestructura como la de Active Directory, pero utilizando software libre y documentando todo al respecto, desde la definición de kerberos y LDAP, hasta la instalación y configuración de los diferentes servicios en servidores y clientes para lograr la funcionalidad deseada.
Como la información es mucha, decidí repartirla en varios artículos que iré publicando a lo largo del próximo mes (o tal vez dos meses). Uno de estos artículos ya lo publiqué hace un par de semanas, y trata sobre PAM.
La lista de artículos es la siguiente:
- Un servicio básico, el DNS: breve descripción y cómo utilizar bind
A medida que los vaya publicando, volveré a este artículo para actualizar los links y tener así todo integrado.
De los citados, sólo me falta escribir el de DNS, y puede que alguno lo termine partiendo en 2 por ser muy largos, pero básicamente no cambiará mucho a lo planteado.
También espero tener tiempo de armar un sistema de archivos y montar un servidor de mail con postfix, pero como viene la mano en el trabajo, puede que eso quede para más adelante.

Mi recomendación es que si les interesa la idea, vayan armando sus propios proyectos y compartan dudas, mejoras o lo que se les ocurra. Pueden utilizar comentarios en el blog o en la página de IT Freek Zone en facebook.
Les recomiendo utilizar máquinas virtuales para poder probar servidores y clientes con una sola máquina de forma rápida. Además clonando discos virtuales es fácil deshacer y volver a empezar.
Survey servers más confiables
Ayer leí sobre un survey analizado en infoworld.com donde se comparan los tiempos "fuera de servicio" (downtime) de las distintas combinaciones de servidores.
Para el análisis se eligieron 15 de las combinaciones más populares de hardware y sistema operativo y se consultó a ejecutivos con conocimientos y administradores IT de 400 organizaciones apostadas en 20 países sobre tiempo fuera de servicio no planeado, parcheo (patching), y otros indicadores de confiabilidad.
Si bien no se que tan influenciado puede estar el survey (léase $$$), los resultados obtenidos dan como vencedor a IBM y su SO AIX Unix que en promedio sufre de tan solo 15 minutos de downtime por año. El segundo puesto como servidor más confiable se lo lleva la versión de Novell Suse Linux customizada corriendo en hardware x86 estándar, con un promedio de 17.4 minutos de downtime por año. Sin embargo la version de Suse no customizada promedia los 54mins.
Otras distribuciones de Linux como TurboLinux y Mandriva sobre hard x86 estándar promediaron 31.8 minutos de downtime/año, mientras que Sun Solaris sobre servidores Sparc sufrieron de 35.4 mins.
Por otro lado, servidores HP 9000 corriendo el SO HP Unix aparece en 5to lugar con 36mins/año. En sexto aparecen los servidores Apple G4 Mac corriendo Mac OS X con 37.8 mins/año.
Por supuesto los servidores Windows corriendo sobre hard intel están bien abajo, donde Windows 2003 server tuvo 3 horas y media por año y Windows 2008 server cerca de 2 horas y media por año.
Muy a mi pesar, distribuciones libres como debian aparecen etre los peores casos con más de 4horas de downtime por año.
Por su parte, servidores basados en Ubuntu la safaron bastante bien con 1 hora 40 mins de downtime por año, aunque empeoró bastante su rendimiento en comparación del año pasado donde sólo promedió 1 hora de downtime.

Para resumir, y porque me encantan los rankings, les dejo la lista armada amablemente por su servidor según los datos leídos.
1. IBM AIX Unix - 15 mins/año
2. Novell Suse Linux sobre x86 - 17.4 mins/año
3. TurboLinux, Madriva (posiblemente otras) sobre x86 - 31.8 mins/año
4. Sun Solaris sobre Sparc - 35.4 mins/año
5. HP's Unix sobre HP 9000 - 36 mins/año
6. MacOS X sobre Apple G4 Mac - 37.8 mins/año
más abajo. Ubuntu - 1.30 hs/año
lejos 1. Windows 2008 server sobre Intel - 2.3 hs/año
lejos 2. Windows 2003 server sobre Intel - 3 hs/año
lejos 3. distros libres (como debian) - más de 4 hs/año

Como nota final, cabe aclarar que en el survey sólo se incluyeron enterprise servers y no mainframes, los cuales seguramente estarían primeros. El motivo (según el analista) es que los mainframes son una clase propia, ellos no suelen tener downtime.