Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingenieros:
Sonia Hurtado Pechene : sonhup@gmail.com Lina Maria Cocoma: linacoco25@gmail.com Esteban Hernndez Barragn: eshernan@gmail.com
Ingeniero Asesor:
Convenciones: Todos los comando que se ejecuten sobre la linea de comando se distinguen por estar en fuente Courier New 10 y por tener un fondo gris
ls -lta
Las anoraciones y Advertencias se por estar fuente Times New Roman 13 y fondo de color segn cada caso, con un smbolo ante puesto. Advertencia
Advertencia:
Anotacin
Anotacin:
Acompaamiento
Contenido
MANUAL DE INSTALACION Y CONFIGURACION.............................................. 1 1 PREREQUISITOS............................................................................................. 4 1.1 Requerimientos Mnimos de Hardware:..................................................... 4 1.2 Requerimientos Mnimos de Software:....................................................... 4 2 Proceso de instalacin de los productos....................................................... 4 2 INSTALACION DEL DNS BIND........................................................................ 6 3 INSTALACION Y CONFIGURACION DEL SERVIDOR LDAP.......................... 9 4 INSTALACION DEL EL MODULO SASL-AUTH........................................... 12 5 INSTALACION DE LA MTA POSTFIX............................................................ 13 6 INSTALACION Y CONFIGURACION DE CYRUS ......................................... 15 7 INSTALACION Y CONFIGURACION DE APACHE2...................................... 17 8 CREACION DE LOS CERTIFICADOS RAIZ Y DE SERVIDOR......................20 9 INSTALACION Y CONFIGURACION DE PHP............................................... 23 10 INSTALACION DE SQUIRELLMAIL.............................................................. 25 11 INSTALACION DE LA APLICACION DE ADMINISTRACION ......................27
PREREQUISITOS
1.1 REQUERIMIENTOS MNIMOS DE HARDWARE: 1. Equipo PC x86, con procesador Pentium III o superior 2. 512 MB de Memoria RAM 3. 4GB mnimos de Espacio en Disco Duro disponible 4. Dispositivo de video con resolucin mnima de 1024 x 768 5. conexin a Internet (128 Kbps sugerido) 1.2 REQUERIMIENTOS MNIMOS DE SOFTWARE: 1. Sistema Operativo de Base 1. En caso de Windows XP/2000/2003, instalar el visor la maquina virtual Wmware player, que se puede descargar de la pgina http://www.vmware.com/products/free_virtualization.html 2. En caso de Linux, distribucin Ubuntu 6.0.6 LTS 2. Compilador GCC versin 3.4 o superior 3. Libreras Libgc, libgcc, 4. Perl versin 5.1 5. JRE 1.4 o superior con JAVA_HOME configurado
En el CD se entrega una imagen preconfigurada con todos los productos mencionados en este manual y lista para probar sobre en Wmware player
2 PROCESO DE INSTALACIN DE LOS PRODUCTOS La presente solucin incluye los siguientes productos:
Bind 9 Postfix Apache 2 Php Openldap Cyrus Saslauth Squirellmail ldapBrowser OpenSSL
Todo el proceso de instalacin se hizo con binarios precompilados utilizando la herramienta apt-get y el men de instalacin de synaptic Para que cualquiera de los paquetes que se desea instalar se pueda localizar, es necesario tener configurado los siguientes repositorios de fuentes:
Ubuntu 6.0.6 LTS source Ubuntu 6.0.6 LTS binary Backport de Ubuntu 6.0.6 LTS binary
Una vez configurados estos repositorios se puede proseguir con los productos que permiten tener la solucin completa:
Una vez el proceso de post-instalacin termina, se pasa al proceso de configuracin de los archivos del DNS (los cuales se encuentran ubicados en /etc/bind/).
Dentro del archivo named.conf, se debe adicionar una linea para los dominios propios de nuestro servidor, como se indica a continuacin:
include "/etc/bind/named.conf.dominio";
sSe debe crear la carpeta named dentro del directorio /var/lib/ y dentro de ellas crear los dos archivos referenciados por las zonas antes configuradas, en nuestro caso linuxdev.zone, y 1.168.192.hosts El contenido de linuxdev.zone
$TTL @ 604800 IN SOA mail.linuxdev.org. linuxdev.org.( 199609206 ; fecha de hoy + numero de 10800 7200 10800 ; Tasa de Refresco, en segundos ; Tasa de Reintento, en segundos ; Caducidad para secundario, en
serie de hoy
segundos
86400 ) ; Validez para Clientes, en segundos @ IN NS mail @ IN MX 1 mail ; Intercambiador Primario de Correo ; configuracion de los servidores server IN A 192.168.1.6
mail www
IN A 192.168.1.6 IN A 192.168.1.6
El contenido de 1.168.192.hosts
$TTL @ 604800 IN
SOA
linuxdev.org. server.linuxdev.org. ( 199609206 ; Numero de Serie, fecha de hoy 10800 7200 10800 ; Tasa de Refresco, en segundos ; Tasa de Reintento, en segundos ; Caducidad para secundario, en ; Validez para Clientes, en
segundos
86400 ) segundos @ IN NS server.linuxdev.org. ;@ IN NS mail.linuxdev.org. ;registro de las zonas 1 IN PTR server.linuxdev.org ;1 IN PTR mail.linuxdev.org
Una vez realizado los pasos anteriores de debe reiniciar el demonio que controla el servicio de la siguiente manera:
/etc/init.d/bind9 stop /etc/init.d/bind9 start
Adicionalmente se deben realizar las pruebas para asegurarse que se ha configurado de manera correcta el servidor de nombres (DNS). . Para asegurarse que la direccin local es el primer lugar de bsqueda de nombres de dominio, se debe cambiar la secuencia en el archivo /etc/resolv.conf
/etc/resolv.conf nameserver 192.168.1.6
Finalmente realizar las siguientes pruebas para asegurarse que el DNS responde correctamente:
una vez, el proceso de post-instalacin termine, se pasa al proceso de configuracin de los archivos del slapd (los cuales se encuentran ubicados en /etc/ldap). slapd.conf:
include include database /etc/ldap/schema/inetorgperson.schema /etc/ldap/schema/authldap.schema bdb
# The base of your directory in database #1 suffix "dc=linuxdev,dc=org" rootdn "cn=admin,dc=linuxdev,dc=org" rootpw {SSHA}APCFIBM6eEJczrXJNSzCRZhANYG2rhIi access to attrs=userPassword by dn="cn=admin,dc=linuxdev,dc=org" write by anonymous auth by self write by * none access to *
con esta estructura , es necesario se crean las entradas para poder almacenar las cuentas de usuarios.
Anotacin: Para todos los casos el hash SSHA de administrador de ldap es secret
contrasea
1. Crear un archivos llamado entradas.ldif que contiene las entradas para poder almacenar las cuentas de usuarios (Para todos los casos la contrasea cifrada utilizada en este ejemplo es usuario) con el siguiente contenido:
dn: dc=linuxdev,dc=org objectClass: dcObject objectClass: organization o: correo dc: linuxdev # admin, administrador dn: cn=admin,dc=linuxdev,dc=org objectClass: organizationalRole objectClass: simpleSecurityObject cn: admin description: LDAP Administrator userPassword: {SSHA}llkwuRkI6xT5eRH+8o0j20MykHsYFQGh # Entrada donde se almacenaran las cuentas dn: ou=People, dc=linuxdev,dc=org objectClass: organizationalUnit ou: People # Postfix entrada de administrador de postfix dn: ou=Postfix,dc=linuxdev,dc=org ou: Postfix objectClass: organizationalUnit userPassword: {SSHA}lz+ZTkP408DP/LPbuNBiS3ThHUJHSD4w # Alias, entrada para los alias dn: ou=Alias,ou=Postfix,dc=linuxdev,dc=org objectClass: organizationalUnit
ou:
Alias
# entrada para grupos: ou=groups,dc=linuxdev,dc=org dn:ou=groups,dc=linuxdev,dc=org objectClass: organizationalunit ou: groups dn:uid=groups,dc=linuxdev,dc=org uid: groups cn:groups sn:groups userPassword: {SSHA}thxpvGloFtB4gR0cnY7u9g9aY1mgoW5D loginShell: /bin/false uidNumber: 10001 gidNumber: 10001 homeDirectory: null shadowMin: -1 shadowMax: 999999 shadowWarning: 7 shadowInactive: -1 shadowExpire: -1 shadowFlag: 0 objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount objectClass: CourierMailAccount mail: groups@linuxdev.org mailbox: Maildir/ quota: 0
Una vez las estructuras creadas, se crean los datos de pruebas para los procesos de autenticacin en adelante, de la siguiente manera:
dn:uid=eshernan,ou=people,dc=linuxdev,dc=org uid: eshernan cn: Esteban de Jesus sn: Hernandez Barragan userPassword: {SSHA}thxpvGloFtB4gR0cnY7u9g9aY1mgoW5D loginShell: /bin/false uidNumber: 10001 gidNumber: 10001 homeDirectory: /home/vmail/eshernan
shadowMin: -1 shadowMax: 999999 shadowWarning: 7 shadowInactive: -1 shadowExpire: -1 shadowFlag: 0 objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount objectClass: CourierMailAccount mail: eshernan@linuxdev.org mailbox: Maildir/ quota: 0 #creacion de un alias de correo dn: mail=esteban@linuxdev.org,ou=alias,ou=postfix,dc=linuxdev,dc=org cn: Esteban mail: esteban@linuxdev.org maildrop: eshernan@gsr.pt sn: Hernandez objectClass: couriermailalias objectClass: inetOrgPerson objectClass: Person
una vez, el proceso de post-instalacin termine, se pasa al proceso de configuracin de los archivos del SASLAUTH (los cuales se encuentran ubicados en /etc/ y en /etc/default). En /etc/default/saslauthd
MECHANISMS=ldap CONFIG_FILE=/etc/saslauthd.conf
En /etc/saslauthd.conf
ldap_servers: ldap://localhost ldap_search_base: ou=People,dc=linuxdev,dc=org ldap_filter: uid=%u ldap_password_attr: userPassword
se debe alterar el script del demonio que maneja el servicio /etc/init.d/saslauthd y reemplazar la linea de PARAMS con el siguiente texto
PARAMS="${PARAMS} -a ${MECHANISMS} -O ${CONFIG_FILE}"
Leyendo lista de paquetes... Hecho Creando rbol de dependencias... Hecho Se instalarn los siguientes paquetes NUEVOS: postfix postfix-ldap postfix-tls 0 actualizados, 3 se instalarn, 0 reinstalados, 0 para eliminar y 0 no actualizados. Se necesita descargar 0B/934kB de archivos. Se utilizarn 496kB de espacio de disco adicional despus de desempaquetar. Desea continuar? [S/n] Preconfiguring packages ... (Leyendo la base de datos ... 273428 ficheros y directorios instalados actualmente.) Desempaquetando postfix (de .../postfix_2.1.1-3_i386.deb) ... Desempaquetando postfix-ldap (de .../postfix-ldap_2.1.1-3_i386.deb) ...
Desempaquetando postfix-tls (de .../postfix-tls_2.1.1-3_i386.deb) ... Addign `diversion of /usr/share/man/man8/smtpd.8.gz to /usr/share/man/man8/smtpd.real.8.gz by postfix' Adding `diversion of /usr/lib/postfix/lmtp to /usr/lib/postfix/lmtp.postfix by postfix-tls' Adding `diversion of /usr/lib/postfix/smtp to /usr/lib/postfix/smtp.postfix by postfix-tls' Adding `diversion of /usr/lib/postfix/smtpd to /usr/lib/postfix/smtpd.postfix by postfix-tls' Configurando postfix (2.1.1-3) ... Postfix configuration was not changed. edit /etc/postfix/main.cf (and others) as configuration values, see postconf(1). If you need to make changes, needed. To view Postfix
After modifying main.cf, be sure to run '/etc/init.d/postfix reload'. Running newaliases Starting mail transport agent: Postfix. Configurando postfix-ldap (2.1.1-3) ... Adding ldap map entry to /etc/postfix/dynamicmaps.cf Configurando postfix-tls (2.1.1-3) ... Adding sdbm map entry to /etc/postfix/dynamicmaps.cf
Una vez, el proceso de post-instalacin termina, se pasa al proceso de configuracin de los archivos de la MTA (los cuales siempre estn ubicados en /etc/postfix/).
main.cf:
#Configuracin DNS myhostname = mail.linuxdev.org alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = $mydomain, linuxdev.org ,localhost,mail.linuxdev.org relayhost = mynetworks = 127.0.0.0/8,192.168.1.0/24 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all #La Configuracin de las SASL
smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
master.cf : La siguiente lnea en el archivo permite definir los argumentos de entrega de un correo que usa Postfix con Cyrus
No se debe reiniciar el demonio que controla el servicio, hasta que no haya terminado la configuracin de CYRUS
configuracin de los archivos de la servidor IMAP (los cuales siempre estn ubicados en /etc/). En el archivo cyrus.conf debe tener en la seccin EVENTS
#cache para TLS tlsprune cmd="/usr/sbin/tls_prune" at=0401 # aceleracion de busqueda squatter cmd="squatter -r *" period=30
Dentro del archivo imapd.conf asegurarse que los siguientes parmetros existan
allowanonymouslogin: no autocreatequota: 1 autocreateinboxfolders:1
Se debe asegurar que CYRUS autentica contra saslauth, que fue configurado en pasos anteriores de tal manera que solo habr ldap como repositorio de autenticacin.
allowplaintext: yes sasl_mech_list: PLAIN sasl_pwcheck_method: saslauthd sasl_auto_transition: yes
Una vez, el proceso de post-instalacin termine, se pasa al proceso de configuracin de los archivos de el servidor IMAP (los cuales siempre estn ubicados en /etc/apache2). El modelo de configuracin de apache2 en Ubuntu es un poco distinto a cualquier otras distribucin, por tanto explicamos el modo como se distribuyen las carpetas Para cualquier, modulo o sitio existe una una carpeta avaliable y una enabled, para indicar las funcionalidades disponibles y las actualmente configuradas, por tal razn para que cuando se inicie el servicio tome cierta caracterstica se debe asegurar que est dentro de la carpeta enabled y no solamente available Configurar los mdulos de SSL y PHP5. En la carpeta /etc/apache2/mods-available asegurarse que exista el modulo de SSL y el modulo de PHP
ls -lta /etc/apache2/mods-available
Siempre existen dos archivos por cada mdulo disponible, uno llamado .conf y otro .load. El .load hace un LoadModule, y el .conf mantiene la configuracin especial del mismo Realizar un enlace simblico dentro de la carpeta /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/php5.conf enabled/php5.conf ln -s /etc/apache2/mods-available/php5.load enabled/php5.load ln -s /etc/apache2/mods-available/ssl.conf enabled/ssl.conf ln -s /etc/apache2/mods-available/php5.load enabled/ssl.load /etc/apache2/mods/etc/apache2/mods/etc/apache2/mods/etc/apache2/mods-
ahora dentro de la carpeta sites-enabled crear un archivo de configuracin para el sitio principal del dominio www.linuxdev.org , llamado linuxdev con lo siguiente: Debido a que toda la solucin es segura, solo se activa para el puerto 443 https, y se redirecciona toda peticin de http a https
NameVirtualHost 192.168.1.6:443 # Dominio Virtual ############################ <VirtualHost 192.168.1.6:443 > ServerAdmin admin@linuxdev.org ServerName www.linuxdev.org:443 DocumentRoot /var/www/linuxdev/ DirectoryIndex index.htm index.html index.php ##################################### # Alias de correo ##################################### Alias /mail /usr/share/squirrelmail <IfModule !mod_ssl.c> Redirect permanent / https://www.linuxdev.org/ </IfModule> ################################################### # Activar certificado SSL ################################################### SSLEngine on SSLCertificateFile /etc/apache2/ssl/linuxdev.crt SSLCertificateKeyfile /etc/apache2/ssl/linuxdev.key ###################################### #Regla de Reescritura ###################################### #RewriteEngine On #RewriteLog /var/log/apache2/rewrite.log #RewriteLogLevel 5 #RewriteCond %{HTTPS} !=on #RewriteRule ^/(.*) https://${SERVER_NAME}/$1 [L,R] #Options +FollowSymlinks #RewriteEngine on #RewriteCond %{SERVER_PORT} ^!443$ #RewriteRule ^.*$ https://${SERVER_NAME}%{REQUEST_URI} [L,R]
############################################### # Configuracin del Directorio ############################################### <Directory /usr/share/squirrelmail> php_flag register_globals off Options Indexes FollowSymLinks <IfModule mod_dir.c> DirectoryIndex index.php </IfModule> # access to configtest is limited by default to prevent information leak <Files configtest.php> order deny,allow deny from all
Como
se
puede
observar, y
existen a
una
referencia
al
directorio y
/usr/share/squirrelmail pasos.
/etc/apache2/ssl/linuxdev.crt
Una vez, el proceso de post-instalacin termine, se pasa al proceso de configuracin de los archivos de la servidor openssl (Estos archivos se pueden crear en cualquier sitio, sin embargo recomendamos crearlos en /etc/openssl/conf). Creacin del archivo de plantilla para certificados firmados por la CA crear un archivo llamado root-ca.conf con:
[ req ] default_bits = 1024 default_keyfile = ca.key distinguished_name = req_distinguished_name x509_extensions = v3_ca string_mask = nombstr req_extensions = v3_req [ req_distinguished_name ]
countryName = Country Name (2 letter code) countryName_default = CO countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = Bogota, D.C localityName = Locality Name (e.g., city) localityName_default = Bogota 0.organizationName = Organization Name (e.g., company) 0.organizationName_default = linuxdev.org organizationalUnitName = Organizational Unit Name (e.g., section) organizationalUnitName_default = Digital Security Department commonName = Common Name (e.g., MD Root CA) commonName_max = 64 emailAddress = Email Address emailAddress_max = 40 [ v3_ca ] basicConstraints = critical,CA:true subjectKeyIdentifier = hash [ v3_req ] nsCertType = objsign,email,server
crear un archivo usuario.conf, que contendr la plantilla para certificados de clientes con los siguiente:
[ req ] default_bits = 2048 default_keyfile = linuxdev.key distinguished_name = req_distinguished_name string_mask = nombstr req_extensions = v3_req [ req_distinguished_name ] commonName = Common Name (eg, John Doe) commonName_max = 64 emailAddress = Email Address
Cuando se solicite el Common Name, este debe ser igual al nombre del servidor web, para que el certificado valide correctamente una vez intente establecer la sesion, para este ejemplo colocarle www.linuxdev.org
#generacion de solicitud de firma de certificado openssl req -new -config ./usuario.conf -key linuxdev.csr
linuxdev.key
-out
Con este procedimiento se ha creado el certificado raiz y el certificado del sitio www.linuxdev.org ahora se deben copiar los certificados y las claves del sitio a la carpeta /etc/apache2/ssl/
cp linuxdev.csr /etc/apache2/ssl/ cp linuxdev.key /etc/apache2/ssl/
Para que al establecer una comunicacin SSL, el navegador acepte el certificado raiz como confiable se debe importar el el certificado de la CA dentro del Almacen de certificados de Navegador
Una vez, el proceso de post-instalacin termine, se pasa al proceso de prueba para determinar si el php fue instalado correctamente. Para esto dentro del directorio /var/www/linuxdev/ crear un archivo llamado index.php con el siguiente contenido
<?php_info(); ?>
Y se debera tener una respuesta semejante a la siguiente, donde se indicar la version y los diferentes modulos instalados
Dentro de la carpeta /etc/php5/apache2 se encuentra el archivo php.ini, en el cual se debe configurar las siguientes propiedades:
display_errors = Off display_startup_errors = Off
Esto evita que los mensajes de php sean mostrados directamente en las pginas y en lugar de estos sean responsabilidad de la aplicacin:
10
INSTALACION DE SQUIRELLMAIL
una vez, el proceso de post-instalacin termine, se pasa al proceso de configuracin de los archivos del squirrelmail (los cuales se encuentran ubicados en /usr/share/squirrelmail/config). Se correo el archivo de configuracin
./config.pl el cual lanza un men como el siguiente
Una vez realizados los cambios en el men principal, se debe elegir la opcin S, para guardas los cambios efectuados Nota: Para que este script se pueda ejecutar, es necesario tener perl instalado dentro del sistema, lo cual se puede comprobar con el comando
apt-cache search perl | more
11
La aplicacin de administracin, se encuentra ubicada dentro del CD bajo del nombre de aplicacin. Dentro de esta carpeta esta la todalidad del sitio en php de administracion, junto con las imagenes, recursos y scripts. Se debe copiar de esta subcarpeta directamente al directorio /www/var/linuxdev
cp /media/cdrom/aplicacion /www/var/linuxdev
y luego cambiar el dueo de la carpeta a www-data, y el grupo www-group que son los usuarios con los cuales sube el apache
chown www-data:www-group -R /var/www/linuxdev
Reiniciar el apache
/etc/init.d/apache2 stop /etc/init.d/apache2 start
y entrar mediante un navegador a la direccin http://www.linuxdev.org segura. y notar que ser redirigido al sitio https://www.linuxdev.org pues esta aplicacin trabajo solo sobre conexin