Linux corporativo III
Este es el tercer capitulo de la serie donde explicamos como tener un equipo con GNU/Linux en un entorno corporativo. Si quieres revisar el articulo anterior puedes hacerlo aqui: Linux Corporativo II.
Para esta entrega vamos a cubrir los pasos necesarios para poder unir el equipo al dominio y hacer pruebas de inicio de sesión (login) con varios usuarios.
1 – Lo primero que haremos será instalar SAMBA, LDAP, WINBIND, KERBEROS y PAM.
El comando que sigue lo hace todo de un solo tirón:
apt-get install krb5-user krb5-admin-server krb5-auth-dialog krb5-clients krb5-config krb5-kdc-ldap krb5-pkinit krb5-rsh-server winbind samba samba-common samba-common-bin smbclient smbfs |
2 – Luego comenzaremos a editar cada uno de los archivos correspondientes, poniéndolos en el destino que se describe mas abajo, para ahorrarte un poco de tiempo puedes bajarlos desde aqui:
Recursos Linux Corporativo y reconfigurarlos acorde a las necesidades de cada uno.
| Archivo | Destino |
|---|---|
| krb5.conf | /etc |
| nsswich.conf | /etc |
| hosts | /etc |
| ldap.conf | /etc |
| ldap | /etc (sobrescribir toda la carpeta contados sus archivos.) |
| resolv.conf | /etc |
| smb.conf | /etc/samba |
| samba | /etc (sobrescribir toda la carpeta contados sus archivos.) |
| pam.d | /etc (sobrescribir toda la carpeta contados sus archivos.) |
A continuación les describo que hace cada uno de los archivos, y como puede cada uno configurarlo para que represente mejor su entorno.
Detalle: /etc/Krb5.conf
Este archivo contiene la información de nuestro repositorio de tikets, que kerberos lo llama realm, aquí podemos indicar la vida de cada tiket, el tipo, y los archivos de log, entre otras cosas. Un detalle a tener en cuenta es que al momento de poner la entrada de nuestra entidad emisora de tiket “Por lo general es el controlador de dominio”, lo hagamos en mayúsculas para que funcione.
Detalle: /etc/nsswich.conf
Este archivo se encarga de decirle al sistema operativo cual es el orden en el que debe buscar las formas para hacer el login al equipo, en este caso primero busca en la base de datos local, luego sigue con la red. Hay que tener en cuenta que si la red no esta activa y se invierte el orden puede tardar mucho en conectarse o si se omite la búsqueda local no ingresara jamas a la maquina si la red se cae.
Detalle: /etc/hosts
Este archivo contiene información de equipos de la red a los que podemos acceder directamente poniendo su IP, lo que se hace aquí es poner un listado de numero IP, nombre del equipo y/o alias, también es bueno poner aquí los nombres de los servidores u equipos importantes que estén en la red, ya que no usa el DNS para encontrarlos, sino que va directo al equipo. Como el PC va a formar parte de una red con dominio queda mas claro si se ponen los datos con la forma IP nombre.dominio nombre, de esa forma sabemos que tipo de equipo es al que estamos apuntando. Es importante decir que aquí se puede indicar cualquier nombre, pero la idea es que quede claro o nos podamos acordar de cual equipo estamos haciendo referencia.
Detalle: /etc/resolv.conf
Aquí se indica cuales son los DNS de la red. Este archivo contiene el orden en que se busca en los dominios que hallamos predeterminado y las direcciones de los servidores, cada vez que se haga una consulta de nombres se van a respetar los ordenes que le pongamos en este archivo.
Detalle: /etc/ldap.conf
En este archivo se configuran los parámetros generales del ldap, como el puerto, la versión, la base y el uri que usará por defecto, y los módulos que utiliza.
- La base debe tener la forma: dc=dominio,dc=com,dc=uy
- La uri tiene que tener la forma: ldapi://servidorldap.dominio.com.uy
Detalle: /etc/ldap/ldap.conf
En este archivo también hay que poner los datos anteriores de base y uri.
Detalle: /etc/samba/smb.conf
Este archivo es muy importante, ya que se encarga de compartir los recursos entre linux y windows, aquí tenemos que agregar el nombre de nuestro equipo, también información del equipo que es realm “Por lo general el controlador de dominio tiene es rol”, el tipo de seguridad que le pondremos al sistema, esta puede ser de tipo usuario, invitado o dominio, cada uno de ellos proporciona diferentes niveles de acceso a los recursos que se comparten, y los idmaps que indican que id de grupo y usuario que tendrán los usuarios que inicien sesión en el dominio. Al final del archivo se ponen los recursos compartidos que va a tener el PC.
Detalle: /etc/pam.d
Esta carpeta es la que contiene los archivos responsables de hacer que los permisos que ya están activos para el equipo, con la configuraron de ldap, winbind, kerberos y samba, sean utilizados por todas las aplicaciones del sistema, tales como el login, permisos sobre el sistema, identificación, etc. Se trata de una carpeta que contiene un archivo por cada aplicación que requiera hacer uso de estos permisos, y un set de cuatro archivos responsables de cada aspecto de la seguridad, sesión, autorización, contraseña y cuentas. Estos funcionan como plantillas con información que se exporta a los demás archivos.
En los sucesivos artículos se explica paso a paso donde poner los archivos y que modificaciones hacerles para que el sistema quede funcionado.
Leer másLinux corporativo I
Este es el primero de una serie de artículos que explicarán como se puede implementar, instalar y configurar, en un ambiente corporativo, un sistema operativo basado en software libre (en nuestro caso lo haremos con GNU/Linux), para nuestros ejemplos tomamos como referencia una institución ficticia con miles de equipos, que actualmente está basada en servidores y servicios Microsoft. La idea es integrar un cliente Linux a la red Microsoft.
Eligiendo una distribución – Ubuntu
Teniendo en cuenta que hoy en día existe una gran variedad de distribuciones GNU/Linux que permiten al usuario hogareño instalar y tener su sistema corriendo con todas las aplicaciones que pueda necesitar, sin tener que hacer demasiadas configuraciones; pero al momento de dar una solución corporativa no se deben perder de vista algunos detalles que no son menores, y que pueden ser un obstáculo al momento de realizar la implementación.
Debemos tener en cuenta que el equipo que tenga instalado GNU/Linux va a formar parte de una red que cuenta de antemano con varios servicios, como por ejemplo: dominio de Active Directory, correo Exchange Server 2008, servidores de impresión centralizada, intranet con aplicaciones web, que deben soportar flash, javascript, deben poder visualizar pdf, reproducir multimedia, y acceder a las carpetas publicas compartidas.
Por lo tanto, debemos configurar el equipo de manera que pueda formar parte del dominio, permitiendo a cualquier usuario hacer login con su identificador de red en cualquiera de los equipos, accediendo de forma transparente a todos los recursos sobre los cuales posea permisos.
Además, debería tener disponible todo el software que el usuario usa diariamente y que hacen al entorno corporativo; como el correo, el acceso a los recursos compartidos, aplicaciones de Mainframe, aplicaciones web de la Intranet corporativa, software de ofimática y multimedia, entre una larga lista de software y utilidades.
Continua leyendo la segunda parte de la serie: Linux corportativo II.
Leer másLinux corporativo II
Esta es la segunda entrega de una serie de documentos que explicarán como tener un equipo con sistema operativo GNU/Linux como parte de un entorno corporativo. Puedes revisar el articulo anterior aqui: Linux Corporativo I.
Como habíamos mencionado en el articulo previo, hoy en día, tenemos a nuestra disposición una gran cantidad de distribuciones Linux en la red y la mayoría cumple con los requerimientos básicos para nuestro fin.
En este caso se vamos a utilizar Ubuntu, por ser fácil de instalar, por contar con soporte a largo plazo, y por disponer de gran cantidad de documentos y software requerido para la implementación.
Configuración Linux, primeros pasos
1 – Lo primero que haremos será instalar el sistema operativo, (Instalar Ubuntu)
2 – Luego se pone el nombre al equipo, en este caso lo proporciona el administrador de la red, y nosotros debemos editar el archivo hostname (poner el link al archivo)y agregarle el que corresponda.
vi /etc/hostname |
3 – La dirección IP también debe ser configurada, en nuestro caso usaremos DHCP, ya que suponemos que la red cuenta con servidores que brindan este servicio, luego de la instalación el servicio queda instalado y configurado automáticamente.
4 – Luego debemos editar el archivo /etc/resolv.conf para agregarle los nombres de los servidores de nombre de nuestra LAN, este es un ejemplo de como debería quedar el archivo. (link al archivo)
5 – Lo que sigue es actualizar el sistema con:
apt-get update |
Una vez que tenemos nuestro equipo actualizado ya podemos comenzar a instalar las aplicaciones necesarias para poder acceder a los recursos de la red.
En este caso haremos uso de SAMBA, LDAP, WINBIND, KERBEROS y PAM, que nos permitirán iniciar sesión en la red, compartir y acceder a recursos compartidos, y extender los permisos heredados de la red a las aplicaciones que estén corriendo en nuestro sistema.
Continua leyendo la tercera parte de la serie: Linux Corporativo III
Apache con hosts virtuales
En este artículo comenzamos a agregarle funcionalidad a nuestro servidor web Apache, se recomienda leer el artículo de instalación de Apache con soporte para SSL. Para iniciar, vamos a crear la estructura para alojar de forma ordenada los diferentes sitios.
Con el siguiente comando la hacemos de una sola vez.
mkdir -p /var/www/prueba/{cgi-bin,html,logs,etc,var} |
De esta forma quedan creados dentro de la carpeta prueba cuatro directorios que luego albergaran los archivos necesarios, dentro del directorio ../html pondremos el index.html que es la página que se carga al inicio cuando escribimos la url de nuestra página.
El archivo de configuración para los diferentes sitios estarán en /etc/httpd/conf.d/, en este caso /etc/httpd/conf.d/prueba.conf, luego debemos crear uno para cada dominio por separado. Este tiene la configuración de los hosts virtuales con soporte para SSL. Suponiendo que nuestro servidor web tiene IP 192.168.1.10, este es un ejemplo del contenido del archivo, teniendo en cuenta que lo que se pretende es con una sola IP alojar varios dominios distintos.
NameVirtualHost 192.168.1.10:80 ServerAdmin admin@prueba.com.uy DocumentRoot /var/www/prueba/html ServerName www.prueba.com.uy ServerAlias prueba.com.uy Redirect 301 / https://www.prueba.com.uy/ CustomLog /var/www/ prueba/logs/access_log combined Errorlog /var/www/prueba/logs/error_log NameVirtualHost 192.168.1.10:443 ServerAdmin admin@prueba.com.uy DocumentRoot /var/www/prueba/html ServerName www.prueba.com.uy ScriptAlias /cgi-bin/ /var/www/prueba/cgi-bin/ SSLEngine on SSLCertificateFile /etc/ssl/prueba/prueba.crt SSLCertificateKeyFile /etc/ssl/prueba/prueba.pem SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown CustomLog /var/www/prueba/logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r"\ %b" CustomLog /var/www/prueba/logs/ssl_access_log combined Errorlog /var/www/prueba/logs/ssl_error_log |
Luego debemos reiniciar Apache para que surtan efecto los cambios realizados.
service httpd restart |
Para probar si todo está funcionando, digitamos en la url de nuestro navegador http://prueba.com.uy, luego automaticamente se redirigira nuestra consulta a https://prueba.com.uy
Esto es posible si ya se tiene un servidor DNS, configurado en nuestra lan, de lo contrario debemos sustituir el nombre del dominio por la IP del equipo en este caso será http://192.168.1.10
Si repetimos el proceso y sustituimos la palabra prueba por intranet, y tenemos el DNS correctamente configurado, podemos digitar luego en la url http://intranet.com.uy, y obtener una respuesta positiva. De esta forma tenemos varios dominios en un mismo servidor con una sola dirección IP.
Espero que este artículo les sea de utilidad y si tienen dudas envíenlas.
Leer másInstalar Apache con soporte SSL
La idea de este tutorial es mostrar una forma muy elemental de instalar y configurar un servidor útil para alojar nuestros sitios Web, en este caso Apache con soporte para conexiones seguras SSL. En sucesivos tutoriales iremos agregando funcionalidad a nuestro servidor y veremos el modo de hacerlo funcionar en conjunto con un servidor DNS y así tener acceso a los dominios virtuales que se creen.
Instalar Apache
La instalación de este servidor web es bastante sencilla, en este caso lo haremos con soporte para PHP, mysql, python, perl, ssl y tls.
yum -y install php php-mysql mod_perl mod_python mod_ssl |
Con esto el servidor ya está funcionando, pero le haremos unas modificaciones para que refleje nuestras necesidades.
Configurar Soporte SSL
mkdir -m 0700 /etc/ssl |
Se crea el directorio para almacenar las claves que se generan
mkdir -m 0700 /etc/ssl/prueba.com.uy |
Creamos un subdirectorio para que sea mas prolijo solo con derechos para root que es donde se guardan las claves
cd /etc/ssl/prueba.com.uy |
Ingresamos al directorio
openssl genrsa -des3 –rand file1.gz:file2.gz:file3.gz:file4.gz:file5.gz -out prueba.key 1024 |
Creamos la clave utilizando aleatoriamente los nombres de 5 archivos para aumentar la seguridad, ésta se llamará prueba.key
openssl rsa -in prueba.key -out prueba.pem |
Generamos esta clave para que se pueda detener y arrancar el servicio httpd sin que se necesite ingresar una contraseña por parte del administrador
openssl req -new -key prueba.key -out prueba.csr |
Opcionalmente creamos un archivo .csr para enviarlo a una autoridad certificadora la que nos envía un archivo .crt firmado por ellos y nos da un aval reconocido internacionalmente. Este proceso hace que se nos pidan algunos datos, en este caso lo llenamos con los datos de la prueba.
En caso de no necesitar o no querer un certificado con este aval, lo podemos crear nosotros con el siguiente comando:
openssl x509 -req -days 730 -in prueba.csr -signkey prueba.key -out prueba.crt |
Luego le damos derecho de lectura solo a root sobre los certificados y con eso está listo nuestro servidor para comenzar a hacer pruebas.
chmod 400 /etc/ssl/prueba.com.uy/prueba.* |
Espero que este tutorial les sea de utilidad y como siempre, si tienen alguna duda escríbanme y con gusto les daré una mano.
Leer más







