Configuraciones basicas de linux para recordar http://configuracioneslinux.blogspot.com/
OpenLDAP server + phpldapadmin
Bueno vamos a configurar
un servidor de protocolo ligero de acceso a directorios OpenLDAP, la
configuración de este servidor será para la autentificación de usuarios en cualquier equipo que este en nuestra red
facilitando la administración de usuarios y el fácil desplazamiento de los
mismo a cualquier equipo sin la necesidad de tener una cuenta previamente
configurada en cada equipo de la red.
y agregamos las líneas de los certificados TLS que se observan al final de la imagen.
Des comentamos la línea 397, y comentamos la línea 398 para permitir el acceso como administrador del sistema con nuestro rootdn descrito en el literal 8, guardamos e iniciamos el servicio httpd.
http://127.0.0.1/phpldapadmin
Próximamente configuración de los clientes Ldap.
OPENLDAP Servidor
- Crear el certificado autofirmado CA, este certificado sirve para que el servidor y el cliente ldap puedan comunicarse entre sí, para determinar que puede confiar un cliente en nuestro servidor.
cd
/etc/pki/tls/misc
./CA –newca
Llenarlo con los
datos usados por usted en su organización, como se ve en la imagen.
yum install openldap* migrationtools nss-pam-ldapd
- nano /etc/openldap/ldap.conf Aumentamos las líneas que se ven en nuestra imagen, nótese que el URI tiene una dirección de loopback, para la instalación del servidor vamos a usar esta ip, una vez concluido la cambiaremos por la ip de nuestro equipo en la red
- eliminar los archivos dentro de la carpeta slapd.d, con el objetivo de crear los nuestros luego de una manera limpia.
rm -rf /etc/openldap/slapd.d/*
- Copiamos los archivos de configuración a la carpeta de nuestro servidor.
cp
/usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
- Copiamos el archivo de configuración de la base de datos de OpenLDAP en las librerías del sistema.
cp
/usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
- Generamos un password para el administrador de nuestro servidor LDAP, en el terminal escribir.
slappasswd
Escribimos una
clave y nos devolverá una clave encriptada que la usaremos en la configuración
del servidor.
Ejemplo:
{SSHA}VunsxK6jm4ezu01KJyBKR259oJVHimvp
·
Editamos el archivo
slapd.conf con nuestra clave y agregamos los permisos necesarios para que los
usuarios puedan cambiar sus claves.
Modificamos las
líneas
·
suffix
“dc=uce,dc=com,dc=ec”, la cantidad de parámetros dc domain component
(componente de dominio) se usan según el tipo de dominio que tenemos en nuestra
organización; en nuestro caso el dominio es uce.com.ec.
·
rootdn “cn=Manager,dc=uce,dc=com,dc=ec” donde la
directiva cn es el identificador mnemotécnico common name (nombre común); Aquí
usted puede colocar cualquier nombre, pero recuérdelo porque es el nombre con
el cual haremos la administración de los permisos.
Y aumentamos los permisos
para nuestros usuarios en cuanto a la
modificación de claves y tipo de login que pueden usar.
- Creamos un archivo root.ldif para agregarlo en nuestra base de datos.
nano
/root/root.ldif
y lo configuramos
como se ve en la imagen, recuerde cambiar todos los parámetros con los de su
dominio.
- Agregamos este archivo root.ldif a nuestra base de datos
slapadd -l
/root/root.ldif
en caso de falla usar el parámetro
–c para que sobrescriba en la base de datos.
slapadd –c -l
/root/root.ldif
La terminal retornara un mensaje:
Bdb_db_open: DB_CONFIG
for suffix “dc=uce,dc=com.dc=ec” has changed.
_#####################
100.00% eta none elapsed none
fast!
Closing DB…
Verificar siempre que el
porcentaje sea del 100%
- Hacer una prueba de los archivos de configuración, esta prueba generara los archivos cn=config y otros en nuestro archivo slapd.d
slaptest -f
/etc/openldap/slapd.conf -F /etc/openldap/slapd.d
retornara: config file
testing succeeded.
- Cambiamos de propietario a los directorios y chequeamos el estado del servicio slapd:
chown -R ldap:ldap /var/lib/ldap
chown -R
ldap:ldap /etc/openldap/slapd.d
service slapd
status
- Cambiamos la configuración para que nuestro servidor para que se inicie con nuestro sistema operativo e iniciamos el servicio slapd (nuestro servicio slapd debe estar detenido).
chkconfig slapd on
service slapd
start
- eliminar los archivos dentro de la carpeta slapd.d, para generarlos nuevamente con una prueba con los nuevos cambios realizados al servidor.
rm -rf
/etc/openldap/slapd.d/*
slaptest -f
/etc/openldap/slapd.conf -F /etc/openldap/slapd.d
- Como los archivos han sido generados nuevamente debemos cambiar el propietario de los mismo en la carpeta slapd.d y reiniciamos el servicio slapd.
chown -R
ldap:ldap /etc/openldap/slapd.d
service slapd restart
- Hasta este momento nuestro servidor posee una sola entrada, pero queremos agregar todas las entradas base del sistema operativo como son los grupos, usuarios, servicios, etc.
- Editamos el archivo /usr/share/migrationtools/migrate_common.ph
- Modificamos el “Default_mail_domain” y el “Default base” como se observa en la imagen.
- migramos el archivo base
./migrate_base.pl > /etc/openldap/base.ldif
- agregamos la base.ldif en la DB, con el parámetro –c para sobrescribir si este archivo existiere.
ldapadd -x -W -c -D "cn=Manager,dc=uce,dc=com,dc=ec" -f
/etc/openldap/base.ldif
La consola
retornara mensajes: New entry added.
- Si deseamos agregar a los usuarios del sistema usamos:
grep huesped
/etc/passwd > /etc/openldap/passwd.huesped
./migrate_passwd.pl
/etc/openldap/passwd.huesped /etc/openldap/huesped.ldif
ldapadd -x -D
"cn=Manager,dc=uce,dc=com,dc=ec" -W -f /etc/openldap/huesped.ldif
- probamos lo que agregamos
ldapsearch -x -b
"dc=uce,dc=com,dc=ec" "objectclass=*"
- Ahora generamos los certificados usados en los clientes OpenLDAP
rm
/etc/pki/tls/certs/slapd.pem
make
/etc/pki/tls/certs/slapd.pem
- Cambiamos los permisos de acceso al archivo slapd.pem y cambiamos de propietario al mismo.
chmod 650
slapd.pem
chown :ldap slapd.pem
- Generamos un link de nuestro certificado para que sea usado por el cliente OpenLDAP
ln -s /etc/pki/tls/certs/slapd.pem /etc/openldap/cacerts/slapd.pem
- Editamos el archivo:
nano /etc/sysconfig /ldap.conf
Buscamos la línea SLAPD_LDAPS=no
Y la cambiamos
por SLAPD_LDAPS=yes
- Editamos el archivo /etc/openldap/slapd.conf
y agregamos las líneas de los certificados TLS que se observan al final de la imagen.
- Editamos el archivo /etc/openldap/ldap.conf y agregamos las líneas del certificado como se observa en la imagen
Note
que se cambia el URI como mencione antes por la ip del servidor, se coloca la
carpeta donde están los certificados para el uso del mismo y se indica que no
se verifique el certificado nunca (never) ya que es autofirmado.
- eliminar los archivos dentro de la carpeta slapd.d, para generarlos nuevamente con una prueba con los nuevos cambios realizados al servidor.
rm -rf
/etc/openldap/slapd.d/*
slaptest -f
/etc/openldap/slapd.conf -F /etc/openldap/slapd.d
- Como los archivos han sido generados nuevamente debemos cambiar el propietario de los mismo en la carpeta slapd.d y reiniciamos el servicio slapd.
chown -R
ldap:ldap /etc/openldap/slapd.d
service slapd
restart
- Ahora verificamos que datos tenemos en nuestro servidor
ldapsearch -x -ZZ
-h localhost
ldapsearch -x -H
ldaps://localhost
Obtendremos algo parecido a la imagen, en caso de
presentar errores verifique la configuración y que el servicio slapd este
iniciado, si el error ocurre durante la prueba ldaps se debe verificar que los
certificados fueron creados y tienen los permisos necesarios.
- Para acceder como usuario debemos configurar la herramienta:
authconfig-tui
- Damos permisos para crear los directorios de cada usuario en el primer login.
authconfig –enablemkhomedir --update
Phpldapadmin
·
Descargamos el rpm del
repositorio epel, para nuestra distribución de CentOS 6
http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
·
Una vez instalado el
repositorio epel, descargamos el administrador de LDAP phpldapadmin
yum install phpldapadmin
Editamos el archivo de configuración de phpldap
vim /etc/phpldapadmin/config.php
vim /etc/phpldapadmin/config.php
Des comentamos la línea 397, y comentamos la línea 398 para permitir el acceso como administrador del sistema con nuestro rootdn descrito en el literal 8, guardamos e iniciamos el servicio httpd.
service httpd start
·
Abrimos nuestro navegador web y escribir:
http://127.0.0.1/phpldapadmin
·
Clic en conectar, y nos
identificamos con el rootdn que está en el literal 8.
·
Clic en grupos
·
Clic en crear un objeto
nuevo, y seleccionamos el grupo posix
·
Damos un nombre al grupo
y creamos el objeto
·
Una vez realizado esto
podemos crear usuarios, clic en usuarios y crear un nuevo objeto
·
Clic en Genérico cuenta
de usuario
·
Llenamos los campos como
se ven en la imagen
Nota: observe que la consola de Login está como /bin/sh, esto nos permitirá
conectarnos por telnet o ssh en consola, pero no podremos acceder de manera
grafica al pc, para eso debemos modificar la consola login por /bin/bash
después de creado nuestro usuario.
·
Clic en el usuario
creado, modificar el loginShell y agregar el parámetro shadowAccount.
con estos datos podemos conectarnos a nuestro servidor
ldap con el nuevo usuario creado desde cualquier pc.
Próximamente configuración de los clientes Ldap.
domingo, 1 de julio de 2012
Servidor de e-mail Postfix + Dovecot + Novell Evolution
Postfix + Dovecot + Novell Evolution
En esta entrega vamos a configurar un servidor
de correo electrónico privado en nuestra red, tenemos que recordar que se
necesita usar una entrada MX en nuestro DNS para poder usar el correo
electrónico (si se desea configurar un servidor DNS lo puedes ver aquí).
Postfix es un enrutador de correo electrónico
usando el protocolo SMTP, fue desarrollado por IBM debido a la necesidad de
tener una alternativa más fácil y rápida de administrar al conocido Sendmail.
Dovecot es el servidor de pop3 e imap que
usaremos en esta ocasión, dovecot permite la recepción de los correos
electrónicos por parte de los usuarios finales ya sea por un web browser (imap)
o por un cliente de correo como Novell Evolution (pop).
Empezamos configurando un registro MX en el DNS.
Editamos nuestras zonas forward.zone y
reverse.zone en ellas vamos a agregar las líneas:
IN MX 10 mail.uce.com.ec.
mail IN A 192.168.10.107
Nótese que la entrada MX posee un número 10 el
cual representa la prioridad del mismo, y también cabe recalcar que este
servidor de correo se encuentra en el mismo servidor que el DNS en este caso;
usted puede cambiar esta ip por la ip del equipo que será el servidor de correo.
IN MX 10 mail.uce.com.ec.
107 IN PTR mail.uce.com.ec.
Recargamos el servicio
service named reload
Y probamos con el comando dig que no existan problemas
en nuestra configuración.
POSTFIX
Ahora verificamos que nuestro CentOS tenga
instalado postfix, escribir:
yum info postfix
Si no la tenemos instalada basta con escribir:
yum install postfix.
Editamos la información del archivo main.cf
ubicado en /etc/postfix/main.cf, recorremos el archivo hasta el bloque que dice
"INTERNET HOST AND DOMAIN NAMES" y agregamos las líneas:
myhostname = mail.uce.com.ec
mydomain = uce.com.ecRecordar que son las entradas que agregamos en nuestro DNS.
En la sección “Sending mail” des comentamos la
línea
myorigin = $mydomain
En “Receiving mail” des comentamos la línea
inet_interfaces = all
Comentamos:
#inet_interfaces = localhost
Des comentamos:
mydestination = $myhostname,
localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.10.0/24, 127.0.0.0/8
En el bloque “Internet or Intranet” en caso de
tener nuestro puerto 25 bloqueado por nuestro proveedor de internet, podemos
realizar un relayhost a la ip del servidor de correo de nuestro proveedor de
internet. El concepto de un relayhost es pasar el mensaje “la pelotita” a otro
servidor que tiene privilegios de salida a la internet, en este ejemplo no
usaremos un relay host porque es un servidor de correo privado.
Pero de ser necesario dejo la ip del servidor
de correo de la CNT #relayhost = 201.219.1.85 para los usuarios de este
proveedor, por suerte mi proveedor no tiene bloqueado el puerto 25 J.
En la sección “Delivery to mailbox” des
comentamos
home_mailbox = Maildir/
para tener una carpeta específica para el
almacenamiento de nuestro correo electrónico según cada cuenta de usuario; Nota
(se puede dejar comentado este campo y nuestros correos llegaran a la carpeta
/var/spool/mail/ aunque no es muy recomendable).
Actualizamos a postfix como nuestro servidor de
correo predeterminado
alternatives – –config mta
Seleccionamos a postfix como predetermina como
muestra la imagen
Recargamos el servicio postfix:
postfix reload
y realizamos las pruebas de correo en el servidor. Para evitar problemas de envió
de correo electrónico crearemos usuarios del sistema operativo con minúsculas.
Para este ejemplo, crearemos el usuario huésped,
conectados en nuestra consola como usuario privilegiado (root), enviamos un mensaje
desde la terminal:
echo
“este es el cuerpo del mensaje” | mail –s “FW: el asunto”
huesped@uce.com.ec
y revisamos el correo en nuestro directorio
/home/huésped/Maildir/new/
Como se ve en la imagen tenemos 3 correos en nuestro buzon de entrada, para leerlos basta con escribir:
nano /home/huesped/Maildir/new/NombreDelArchivo
Damos autorización a la comunicación por los
puertos 25, 110, 143, escribir
setup network
Seleccionamos la configuracion del cortafuegos, luego seleccionamos "Personalizar"
Marcamos: [*]
SMTP
[*]
DNS (si está en la misma máquina el DNS y el servidor de correo)
[*]
IMAP
[*]
POP
Aceptamos y salimos de la herramienta de
configuración.
Hasta aquí lo que es el servidor de correo Postfix; continuamos con Dovecot.
DOVECOT
Instalamos dovecot: yum install dovecot
Editamos el archivo /etc/dovecot/dovecot.conf y
des comentamos la línea:
#protocols = imap pop3 lmtp
Y editamos el archivo:
/etc/dovecot/conf.d/10-mail.conf y agregamos la línea:
mail_location: maildir:~/Maildir
Iniciamos el servicio y cambiamos la
configuración para que el servicio dovecot se inicie con el sistema operativo
service dovecot start
chkconfig dovecot on
EVOLUTION
Por último instalamos el cliente de correo electrónico
Evolution.
yum install evolution
El
cliente de correo se encuentra en aplicaciones -> oficina ->
Evolution, damos 2 click en siguiente (al frente), y configuramos
el servidor tal como se ve en las imágenes.
miércoles, 27 de junio de 2012
DNS (BIND) en CentOS 6.2
Bueno, hoy voy a postear como hacer un servidor
de nombres de dominio DNS primario (maestro).
Un servidor de nombres de dominio tiene como principal funcionalidad el transformar nombre fáciles de recordar en ip’s ya que es mucho más fácil recordar un nombre que un numero de dirección ipv4 (imaginemos que pasaría si tendríamos que recordar una ipv6 L), dicho servidor será el BIND una distribución de DNS de la universidad de Berkeley.
Un servidor de nombres de dominio tiene como principal funcionalidad el transformar nombre fáciles de recordar en ip’s ya que es mucho más fácil recordar un nombre que un numero de dirección ipv4 (imaginemos que pasaría si tendríamos que recordar una ipv6 L), dicho servidor será el BIND una distribución de DNS de la universidad de Berkeley.
Bueno si se ha tenido experiencia previa con CentOS
5.X se notara una diferencia ya que no se necesita el caching-nameserver porque
se incorporo en la versión de 9.7 al paquete principal de BIND, y las
direcciones de los archivos de configuración del named son más fáciles de
encontrar y configurar.
yum install bind*
Ahora configuramos para que nuestro Linux para usar ip estática y no de forma dinámica por DHCP, nos dirigimos a la parte superior derecha del sistema operativo y cambiamos la configuración de la tarjeta de red con una nueva ip
Click en “editar las conexiones”, editamos nuestra tarjeta de red en este caso la eth1 (tener en cuenta de colocar la propia ip en el campo Servidores DNS) y marcar la casilla “disponible para todos los usuarios”
Verificamos en nuestro archivo de configuración
ubicado en: /etc/sysconfig/network-scripts/ifcfg-Auto_eth1
Y reiniciamos el servicio: service network
restart
Modificaremos el archivo network donde
colocaremos el nombre de nuestro equipo con nuestro dominio recordemos usar
nombres FQDN, en este usaremos dnsvm1.uce.com.ec para nuestro equipo.
nano /etc/sysconfig/network
nano /etc/resolv.conf
Configuramos el archivo hosts para agregar el
nombre de nuestro equipo con el dominio según la ip del mismo.
nano /etc/hosts
nano /etc/named.conf
agregamos las líneas:
·
listen-on port 53 { xxx.xxx.xxx.xxx ; };
·
allow-query {
any; };
Al final de este archivo named.conf tenemos una línea “include”, editaremos el archivo que esta especificado ahí.
nano /etc/named.rfc1912.zones
Editamos las zonas localhost.localdomain, hacemos
una copia de la zona 1.0.0.127.in-addr.arpa y editamos dicha copia.
Editamos los archivos forward.zone y
reverse.zone como sigue:
Iniciamos el servicio named, si se desea que el servicio se ejecute cada vez que se inicia la maquina ejecutamos:
service named start
chkconfig named on
Probamos el funcionamiento del servidor con los
3 tipos de pruebas dig, nslookup y host
Pruebas de Zona
Frontal
·
dig
dnsvm1.uce.com.ec
·
nslookup
dnsvm1.uce.com.ec
·
host
dnsvm1.uce.com.ec
Pruebas de Zona
Inversa
·
dig
–x 192.168.10.107
Como resultado obtenemos un NOERROR, en caso de
tener NXDOMAIN significa que nuestra zona inversa está mal configurada y
debemos revisar la configuración del mismo
·
nslookup
192.168.10.107
·
host
192.168.10.107
























































No hay comentarios:
Publicar un comentario