memoria 2014

37
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE CIENCIAS FISICAS Y MATEMATICA INGENIERIA INFORMATICA PROTOCOLOS DE COMUNICACION ING. EDUARDO SUAREZ QUINTO – II FREDDY GEOVANNY GUZMAN ALARCON 6 DE ENERO DEL 2014 SEGUNDO HEMISEMESTRE MARCO TEORICO CLIENTE - SERVIDOR DNS BIND Berkeley Internet Name Domain: servidor de nombres, es el estándar en Unix. Usa el protocolo UDP en el puerto 53. Si la respuesta a la consulta DNS es superior a 512 bytes, usará protocolo TCP en el puerto 53. SERVIDOR: ESCENARIO: NOMBRE DEL SERVIDOR: srvuio DOMINIO: pollainformatica.com IPADDRESS: 192.168.5.100 Primero debemos instalar los paquetes necesarios para trabajar con BIND yum –y install bind* bind-chroot asegura el directorio de instalación de BIND contra ataques y accesos no autorizados bind-sdb: significa Simplified Database Backend, es decir, capacidad para soportar bases alternas de datos sobre ZONAS almacenadas en servidores LDAP (ldapdb), bases postgreSQL (pgsqldb), bases sqlite (sqlitedb) o en el sistema de archivos (dirdb), además de hacerlo por defecto en memoria RAM en la base RBT (Red Black Tree) zone database. También incluye soporte para DLZ (Dynamic Loadable Zones). Ahora determinamos la versión de BIND named –v

Upload: javier-benavides

Post on 19-Jan-2016

34 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Memoria 2014

UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE CIENCIAS FISICAS Y MATEMATICA

INGENIERIA INFORMATICA PROTOCOLOS DE COMUNICACION

ING. EDUARDO SUAREZ QUINTO – II

FREDDY GEOVANNY GUZMAN ALARCON 6 DE ENERO DEL 2014

SEGUNDO HEMISEMESTRE

MARCO TEORICO

CLIENTE - SERVIDOR DNS

BIND Berkeley Internet Name Domain: servidor de nombres, es el estándar en Unix. Usa el protocolo UDP en el puerto 53. Si la respuesta a la consulta DNS es superior a 512 bytes, usará protocolo TCP en el puerto 53.

SERVIDOR:

ESCENARIO: NOMBRE DEL SERVIDOR: srvuio DOMINIO: pollainformatica.com IPADDRESS: 192.168.5.100

Primero debemos instalar los paquetes necesarios para trabajar con BIND yum –y install bind*

bind-chroot asegura el directorio de instalación de BIND contra ataques y accesos no autorizados bind-sdb: significa Simplified Database Backend, es decir, capacidad para soportar bases alternas de datos sobre ZONAS almacenadas en servidores LDAP (ldapdb), bases postgreSQL (pgsqldb), bases sqlite (sqlitedb) o en el sistema de archivos (dirdb), además de hacerlo por defecto en memoria RAM en la base RBT (Red Black Tree) zone database. También incluye soporte para DLZ (Dynamic Loadable Zones).

Ahora determinamos la versión de BIND named –v

Page 2: Memoria 2014

Configuramos la NIC de nuestro ordenador para usar una IPADDRESS estática y no de forma dinámica por DHCP, nos dirigimos a la parte superior derecha del escritorio damos clic derecho sobre el icono de red seleccionamos Editar las conexiones, podemos Añadir una nueva conexión o simplemente Editar una existente.

Nombre de la conexión: Ingresamos un nombre Disponible para todos los usuarios: activamos el check list Ajustes de IPV4: seleccionamos el metodo manual e ingresamos, direccion IP, mascara y gateway, es importante indicar que en Servidores DNS la misma IP que identifica nuestro ordenador.

Verificamos en nuestro archivo de configuración ubicado en:

cat /etc/sysconfig/network-scripts/ifcfg-Home

Page 3: Memoria 2014

Reiniciamos el servicio:

service network restart

NOTA: Antes de modificar cualquier archivo de configuración, hacer una copia de la versión anterior de dicho archivo! Modificaremos el archivo network donde colocaremos el nombre completo de nuestro equipo.

vim /etc/sysconfig/network

Configuramos el archivo hosts para agregar la ip el nombre completo de nuestro equipo.

vim /etc/hosts

Añadimos la ip del servidor, modificamos el archivo resolv.conf para incluir otro servidor DNS, si se existiera otro adicional en nuestra red con la misma sintaxis nameserver .

vim /etc/resolv.conf

Abrir el archivo /etc/named.conf y agregar la línea 12 y 19, vim /etc/named.conf

Page 4: Memoria 2014

Ahora abra /etc/named.rfc1912.zones y modifique la línea siguiente nos 13,14,31 y 32

vim /etc/named.rfc1912.zones

Copiar los archivos named.localhost, named.loopback con los nombres forward.zone y reverse.zone respectivamente. Estos nuevos archivos sirven para definir las zonas frontales e inversas del DNS. cd /var/named/

Page 5: Memoria 2014

cp /var/named/named.loopback /var/named/reverse.zone cp /var/named/named.localhost /var/named/forward.zone Editamos los archivos forward.zone y reverse.zone como sigue:

vim /var/named/forward.zone

vim /var/named/reverse.zone

Cambiamos de propietario y grupo a los archivos forward y reverse.

chgrp named /var/named/forward.zone chgrp named /var/named/reverse.zone chown named /var/named/forward.zone chown named /var/named/reverse.zone

Ahora inicie el servicio.

service named start Ejecute el siguiente comando para iniciar el servicio en el arranque cada vez que reinicie el servidor.

chkconfig --levels 235 named on

Después de reiniciar el servicio. Digite el siguiente comando para probar el servidor dns dig dig srvuio.pollainformatica.com dig 192.168.5.100 nslookup 192.168.5.100 nslookup srvuio.pollainformatica.com ping srvuio.pollainformatica.com

Page 6: Memoria 2014

Prohibido olvidar activar el Puerto en el firewall.

CONFIGURACIONES PARA SER CLIENTE DE UN SERVIDOR DNS: Archivo hosts: AQUÍ PUEDE INTRODUCIR MANUALMENTE NOMBRES DNS CON SUS DIRECCIONES IP cat /etc/hosts Archivo resolv.conf: AQUÍ PONER LA DIRECCIÓN IP DEL SERVIDOR DNS QUE ESTE NUDO VA A CONSULTAR cat /etc/resolv.conf Archivo nsswitch.conf: INDICA EN QUÉ ORDEN EL NUDO CONSULTA PARA BUSCAR NOMBRES DNS cat /etc/nsswitch.conf

Prueba de funcionamiento desde el cliente.

Page 7: Memoria 2014

Bibliografias: http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m2/servidor_dns_bind9.html http://www.krizna.com/centos/how-to-install-dns-server-in-centos-6/ http://www.gianoliveira.com/como-conseguir-un-dominio-gratis.html

http://www.taringa.net/posts/ciencia-educacion/11770389/Como-Obtener-Un-

Dominio-com-y-Hosting-Gratis.html

http://www.youtube.com/watch?v=HjLMjkoYh2A

Page 8: Memoria 2014

CONFIGURACION HTTP

INTRODUCCIÓN

HTTP y HTTPS

-puerto TCP por defecto para HTTP: 80

-puerto TCP por defecto para HTTPS: 443

Instalación de Apache

yum install httpd

Package httpd-2.2.15-28.el6.centos.i686 already installed and latest version

Nothing to do

Habilitar HTTP y HTTPS en el firewall desde setup o modo grafico.

Asegurarse de httpd arranque siempre que arranque el sistema operativo:

chkconfig httpd on

Confirmar lo anterior:

chkconfig --list httpd

Iniciar el demonio httpd:

service httpd start

Iniciando httpd: [ OK ]

Confirmar el estado del demonio: note los varios procesos que necesita httpd para

funcionar...

service httpd status

Se está ejecutando httpd (pid 3176)...

Los números de los procesos (PIDs) son útiles cuando se hace depuración del kernel.

Arranque el navegador y pruebe navegar en su dirección IP o su dominio. Esto lo

podemos hacer también desde un cliente ingresando la dirección de la misma forma.

http://<su dirección IP>

http://192.168.5.100/xyz

http://www.pollainformatica.com/

El comando elinks también es útil para verificar el buen funcionamiento del servidor

http:

yum install elinks

elinks http://localhost Apache 2 Test Page powered by CentOS

Pulsar Q para salir.

Package elinks-0.12-0.21.pre5.el6_3.i686 already installed and latest version

Nothing to do

Page 9: Memoria 2014

Para ver la versión de Apache que ha instalado, puede introducir en su navegador lo

siguiente:

http://<su dirección IP>/xyz

http://192.168.5.100/xyz

Not Found The requested URL /xyz was not found on this server.

Apache/2.2.15 (CentOS) Server at 192.168.5.100 Port 80

O en la línea de comandos de una venta de terminal:

httpd -v

Server version: Apache/2.2.15 (Unix)

Server built: May 13 2013 22:08:57

Configuración de Apache

La documentación completa y oficial de Apache se encuentra en

http://httpd.apache.org/docs/

Todos los archivos de configuración de Apache en el servidor se encuentran en:

cd /etc/httpd/

El siguiente directorio contiene el archivo central de configuración de Apache

(httpd.conf):

ls /etc/httpd/conf

El siguiente directorio contiene los archivos de configuración de software

complementario de Apache:

ls /etc/httpd/conf.d

Primeros cambios necesarios en el archivo de configuración:

vim /etc/httpd/conf/httpd.conf

Buscar la variable ServerAdmin y modificarla con la dirección de correo electrónico

con la cual ponerse en contacto en caso de errores del servidor web:

#ServerAdmin root@localhost ( línea 262)

ServerAdmin [email protected]

Nombre del servidor y puerto TCP:

#ServerName www.example.com:80 ( línea 276)

ServerName www.pollainformatica.com:80

Verifique la correctitud actual de la sintaxis en el archivo de configuración de Apache:

service httpd configtest

Syntax OK

El anterior comando es muy útil para determinar errores en las declaraciones

sintácticas para configurar Apache, si tomamos en cuenta que es un archivo con 1000

líneas de configuración en promedio.

Compruebe que el servicio httpd arranca correctamente con los cambios efectuados a

Page 10: Memoria 2014

la configuración:

service httpd restart

Parando httpd: [ OK ]

Iniciando httpd: [ OK ]

Cambiar el valor de la variable AllowOverride None a AllowOverride All

vim /etc/httpd/conf/httpd.conf

# AllowOverride None (linea 339)

AllowOverride All

Reiniciar httpd

service httpd restart

Parando httpd: [ OK ]

Iniciando httpd: [ OK ]

PROTEGER DIRECTORIOS DE CONTENIDOS WEB MEDIANTE CONTRASEÑA:

Por ejemplo, proteger el directorio principal de contenidos web de Apache:

vim /var/www/html/.htaccess

Introducir lo siguiente:

<Files .htaccess>

order allow,deny

deny from all

</Files>

<Files .htpasswd>

order allow,deny

deny from all

</Files>

AuthUserFile /etc/httpd/htpasswd

AuthName "Secret Secure Area"

AuthType Basic

require valid-user

La primera y segunda partes impedirán que los usuarios puedan descargar los

archivos .htaccess o .htpasswd

La tercera parte:

AuthUserFile apunta al archivo .htpasswd que contiene información de login (=

apertura de la sesión) de los usuarios en el servidor web.

AuthName es el texto que aparecerá en la ventana de login.

AuthType es el tipo de autenticación, casi siempre es de tipo básico (= Basic).

Page 11: Memoria 2014

Si lo desea, puede especificar los usuarios que tendrán acceso así:

require user <username>

Ejemplo:

require user admin

CREAR CUENTAS DE USUARIO EN EL SITIO WEB:

Primero podemos ver que no hay un archivo con ese nombre:

ls -a /etc/httpd

. .. conf conf.d logs modules run

Para crear las cuentas de usuario usamos el comando htpasswd asociado a

/etc/httpd/.htpasswd así:

htpasswd -c /etc/httpd/htpasswd admin

New password: 123456

Re-type new password: 123456

Adding password for user admin

La opción -c crea el archivo si no existía. Por ello, en futuros usos ya no será

necesaria.

Ejemplo:

htpasswd /etc/httpd/htpasswd huesped

New password: 123456

Re-type new password: 123456

Adding password for user huesped

htpasswd /etc/httpd/htpasswd freddy

New password: 123456

Re-type new password: 123456

Adding password for user freddy

Al final podemos cerciorarnos que se creó el archivo y ver su contenido:

ls -a /etc/httpd

. .. conf conf.d htpasswd logs modules run

El algoritmo de cifrado de contraseñas que usa Apache por defecto es crypt().

Otros algoritmos disponibles para cifrar contraseñas en Apache son MD5 y SHA.

Además, es posible no cifrarlas si escoge el método PLAINTEXT.

cat htpasswd

cat /etc/httpd/htpasswd

admin:R.d9Y/dH5KInU

huesped:fSlB/WwXgOMXI

freddy:Rg7FlH70Zz/Uc

Page 12: Memoria 2014

Para ver todas opciones del comando:

man htpasswd

Reinicie el servidor http:

service httpd restart

Parando httpd: [ OK ]

Iniciando httpd: [ OK ]

Compruebe con su navegador que ahora su sitio web le pide autenticarse (=

identificarse).

Damos enter y ya estamos en la pagina web de apache. Podemos loguearnos de

cualquier clienter unido al dominio usando cualquier credencial y contrasenia.

NUESTRAS PÁGINAS WEB

Si colocamos un archivo index.html en /var/www/html/, e ingresamos contenido que

se indica posteriormente:

vim /var/www/html/index.html

</html>

<head>

<title>Página Principal</title>

</head>

<body>

<p>Bienvenidos a nuestro servidor de practicas</p>

</body>

</html>

accedemos de nuevo a www.pollainformatica.com, lo que aparece es Bienvenidos a

nuestro servidor de practicas , es decir SE REEMPLAZA LA PÁGINA ANTERIOR

“Apache 2 Test Page”.

INSTALACIÓN DE SSL:

yum install mod_ssl

Page 13: Memoria 2014

Package 1:mod_ssl-2.2.15-28.el6.centos.i686 already installed and latest version

Nothing to do

service httpd restart

Parando httpd: [ OK ]

Iniciando httpd: [ OK ]

Comprobar la instalación con el navegador y la siguiente página web:

https://<su dirección IP>

https://www.pollainformatica.com

Podemos revisar el estado del certificado y verificar que aun no cuenta con los datos

necesarios, es decir la firma de una certificadora fiable.

Ahora ya puede usar https, pero con un certificado SSL auto-firmado, por eso la

advertencia.

Acéptela y conéctese usando el user and password que estime conveniente. Podemos

observar que ingresamos correctamente a nuestra pagina de pruebas.

CERTIFICANDO NUESTRAS PÁGINAS WEB

Para obtener un certificado SSL firmado por una autoridad de certificación (=

Certificate Authority, CA), por ejemplo Verisign o Thawte, debe pagar por aquel

certificado. Cuesta aproximadamente US$1.000 por año. Certificados SSL

relativamente más baratos son ofrecidos por DynDNS y GoDaddy.

Antes de obtener un certificado de una CA, debe genera una CSR (certificate-signing

request).

Antes de generar la CSR, debe crear una clave:

mkdir /etc/certs/

Page 14: Memoria 2014

cd /etc/certs/

DEBE CREAR UNA CLAVE PARA CADA SITIO WEB.

Durante la creación de la clave RSA le pedirá una frase de paso (= passphrase).

openssl genrsa -des3 -out www_pollainformatica_com.key 1024

Generating RSA private key, 1024 bit long modulus

...++++++

.........++++++

e is 65537 (0x10001)

Enter pass phrase for www_pollainformatica_com.key:123456

Verifying - Enter pass phrase for www_pollainformatica_com.key:123456

Note que el nombre del archivo en el que se guarda la clave alude al nombre de su

dominio.

ls -a /etc/certs

www_pollainformatica_com.key

El archivo contendrá la clave privada RSA de su servidor Apache.

¡NO PERMITA A NADIE ACCEDER A ESTE ARCHIVO!

Si hace público dicho archivo, algún hacker podría usar el siguiente comando para

descargarse el archivo:

wget https://sudominio.com/www_sudominio.key

Note lo útil que podría ser el comando wget.

Cree la petición CSR:

openssl req -new -key www_pollainformatica_com.key -out

www_pollainformatica_com.csr

Completamos la información que le solicitan con cuidado. En especial, cuando le

pidan "common name", introduzca el nombre FQDN de su servidor web pero sin el

punto final.

Enter pass phrase for www_pollainformatica_com.key: 123456

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [XX]:ec

State or Province Name (full name) []:Pichincha

Page 15: Memoria 2014

Locality Name (eg, city) [Default City]:Quito

Organization Name (eg, company) [Default Company Ltd]:Cynitech

Organizational Unit Name (eg, section) []:Administracion

Common Name (eg, your name or your server's hostname)

[]:www.pollainformatica.com

Email Address []: [email protected]

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:123456

An optional company name []:Cynitech S.A.

Compruebe la creación de la CSR:

cat www_pollainformatica_com.csr

-----BEGIN CERTIFICATE REQUEST----- MIICGTCCAYICAQAwgaMxCzAJBgNVBAYTAmVjMRIwEAYDVQQIDAlQaWNoaW5jaGEx DjAMBgNVBAcMBVF1aXRvMREwDwYDVQQKDAhDeW5pdGVjaDEXMBUGA1UECwwOQWRt aW5pc3RyYWNpb24xGjAYBgNVBAMMEXd3dy5zcnZ1Y2V1aW8uY29tMSgwJgYJKoZI hvcNAQkBFhlqaG9uZGVmcmlfZ3V6QGhvdG1haWwuY29tMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQCeHHAtw/mkM9TOtHBAty+BXqqHwl7HcNJwek4mV9KPA0xb XWLwk3UVaHBaDKjzpq2OHuVR3GqojO9YSPeIiaP+WBZH9T903s1p+0MTnB9mW7wS USncsm3UhOXy3XbkHZgqSGfHbw6hdnEyGGt63Nv5Bme6oNv1W0nnabvFoIo54QID AQABoDUwFQYJKoZIhvcNAQkHMQgMBjEyMzQ1NjAcBgkqhkiG9w0BCQIxDwwNQ3lu aXRlY2ggUy5BLjANBgkqhkiG9w0BAQUFAAOBgQAlGreUYhO0pqVydw6Ey9manXXi gUJjB9Jnrk9HwxMLK4oUu430RPHbKtk94Cj8aZR6reSoiNVm6tKUwHjiYsriwdu7 MJ5++loDUUH3Yx/UUCWsLPOqTJh8w2DgjXhvZjHdx+5cbfPdxlWjHkTG21GByjKM IXmfaCt1kQcAiyRZjQ== -----END CERTIFICATE REQUEST-----

El contenido de este archivo le será solicitado por la CA para crear su certificado

digital.

La CA generará su certificado a partir de su CSR, la clave pública de su servidor

Apache y la firma digital de la CA.

Copie ABSOULTAMENTE TODA LA SALIDA de "cat www_sudominio_com.csr" en

la página de la CA, cuando esta la solicite, SIN BLANCOS NI LÍNEAS EN BLANCO

ANTES O DESPUÉS.

Hasta aquí tenemos la solicitud de certificación y también la clave es decir dos

archivos en /etc/certs/

[root@dns01 certs]# ls

www_pollainformatica_com.csr www_pollainformatica_com.key

NOTA: debido al precio que cobran las CA por los certificados digitales, y para

finalizar este ejercicio de SSL, firme usted mismo su certificado.

Page 16: Memoria 2014

openssl x509 -req -days 365 -in www_pollainformatica_com.csr -signkey

www_pollainformatica_com.key -out www_pollainformatica_com.crt

Signature ok

subject=/C=ec/ST=Pichincha/L=Quito/O=Cynitech/OU=Administracion/CN=www.p

ollainformatica.com/[email protected]

Getting Private key

Enter pass phrase for www_pollainformatica_com.key:123456

En criptografía, X509 es el estándar ITU (= International Telecommunication Union)

para infraestructuras de claves públicas. Especifica los formatos de los certificados de

clave pública y algoritmos para validación de la ruta de certificación.

Compruebe el contenido del directorio /etc/certs:

ls -ahl /etc/certs

total 28K

drwxr-xr-x. 2 root root 4,0K jul 5 11:16 .

drwxr-xr-x. 121 root root 12K jul 5 09:36 ..

-rw-r--r--. 1 root root 1013 jul 5 11:16 www_pollainformatica_com.crt

-rw-r--r--. 1 root root 806 jul 5 11:03 www_pollainformatica_com.csr

-rw-r--r--. 1 root root 963 jul 5 10:52 www_pollainformatica_com.key

Modificar la variable SSLCertificateFile

vim /etc/httpd/conf.d/ssl.conf

#SSLCertificateFile /etc/pki/tls/certs/localhost.crt (linea 105)

SSLCertificateFile /etc/certs/www_pollainformatica_com.crt

Modificar la variable SSLCertificateKeyFile

vi /etc/httpd/conf.d/ssl.conf

#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key (linea 112)

SSLCertificateKeyFile /etc/certs/www_pollainformatica_com.key

Otros variables importantes en ssl.conf: intermediary certificate: Son generalmente certificados más baratos ofrecidos por

CAs más pequeñas. Los archivos correspondientes le son entregados por dichas CA.

certificate bundle: si tiene más de un certificado, puede agruparlos todos en un sólo

archivo (= bundle). Debe cifrarlo con algoritmo PEM. Puede pedirlo a su CA.

certificate chain: archivo con información para validar la ruta de certificación. Lo

debe proveer su CA.

Reinice el demonio httpd:

service httpd restart

Parando httpd: [ OK ]

Iniciando httpd: Apache/2.2.15 mod_ssl/2.2.15 (Pass Phrase Dialog)

Page 17: Memoria 2014

Some of your private key files are encrypted for security reasons.

In order to read them you have to provide the pass phrases.

Server www.pollainformatica.com:443 (RSA)

Enter pass phrase:123456

OK: Pass Phrase Dialog successful.

[ OK ]

Ahora su servidor http le pide clave para arrancar.

Si no desea que aquello suceda:

openssl rsa -in www_pollainformatica_com.key -out

www_pollainformatica_com.key

Enter pass phrase for www_pollainformatica_com.key: 123456

writing RSA key

Pruebe su certificado con su navegador, preferentemente desde otro equipo distinto

al que alberga su servidor http. (Ahora salen los datos que pusimos para el CSR)

Se anade la excepcion y se ingresa a la pagina logueandose con cualquier usuario

registrado.

VIRTUAL HOSTING

Para albergar varios sitios web en el mismo servidor:

Hosts virtuales basados en nombres. Para tener varios hosts en una misma IP.

UN PAR DE TRUCOS PARA MEJORAR EL RENDIMIENTO (= PERFORMANCE)

Page 18: Memoria 2014

DE APACHE: (ver págs. 97-100 del libro de texto.)

EJERCICIO1: instalar WEBMAIL (págs. 152-154 del libro de texto)

Creamos una carpeta en /var/www/html/ con el nombre pollainformatica

mkdir /var/www/html/pollainformatica

Editamos el archivo /etc/httpd/conf/httpd.conf y colocamos al último de todo el

archivo:

vi /etc/httpd/conf/httpd.conf

NameVirtualHost 192.168.5.100:80

<VirtualHost 192.168.5.100:80>

ServerName www.pollainformatica.com

ServerAlias pollainformatica.com *.pollainformatica.com

DocumentRoot /var/www/html/

</VirtualHost>

<VirtualHost 192.168.5.100:80>

ServerName www.pollainformatica.com

DocumentRoot /var/www/html/pollainformatica

</VirtualHost>

El primer bloque es el dominio por defecto, el segundo ya es el “extra”.

La directiva ServerName es el servidor (hhtp?) de nuestro dominio.

ServerAlias es otra forma de ver el mismo sitio web.

DocumentRoot es la ruta a nuestras páginas web

service httpd restart

Parando httpd: [ OK ]

Iniciando httpd: [ OK ]

Para poder probar esto debemos crear una nueva zona y editar los archivo

named.conf.

Page 19: Memoria 2014

CLIENTE - SERVIDOR LDAP yum -y install openldap openldap-clients openldap-servers nss-pam-ldapd yum -y install authconfig authconfig-gtk migrationtools

Procedimientos. Todo el contenido del directorio /var/lib/ldap debe tener contexto tipo slapd_db_t. chcon -R -t slapd_db_t /var/lib/ldap Lo anterior solo será necesario si se restaura un respaldo hecho a partir de un sistema sin SELinux. Certificados para TLS/SSL. cd /etc/pki/tls/certs rm -f slapd.pem

make slapd.pem Country Name (2 letter code) [XX]:ec State or Province Name (full name) []:Pichincha Locality Name (eg, city) [Default City]:Quito Organization Name (eg, company) [Default Company Ltd]:Cynitech Organizational Unit Name (eg, section) []:Administracion Common Name (eg, your name or your server's hostname) []:www.pollainformatica.com Email Address []:[email protected] Es indispensable que el archivo que contiene la firma digital y el certificado tenga permisos de acceso de lectura y escritura para el usuario root y permisos de acceso de sólo lectura para el grupo ldap:

chown root:ldap /etc/pki/tls/certs/slapd.pem chmod 640 /etc/pki/tls/certs/slapd.pem

Edite el archivo /etc/sysconfig/ldap: vim /etc/sysconfig/ldap Alrededor de la línea 20, localice #SLAPD_LDAPS=no: Elimine la almohadilla (#) y cambie no por yes, de modo que quede como SLAPD_LDAPS=yes. SLAPD_LDAPS=yes. Creación de directorios. Se crea un directorio y se configurará con permisos de acceso exclusivamente al usuario y grupo ldap. mkdir /var/lib/ldap/autenticar chmod 700 /var/lib/ldap/autenticar Se requiere copiar el archivo DB_CONFIG.example dentro del directorio /var/lib/ldap/autenticar/, como el archivoDB_CONFIG. Es decir, ejecute lo siguiente: cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/autenticar/DB_CONFIG chown -R ldap:ldap /var/lib/ldap/autenticar Creación de claves de acceso para LDAP. slappasswd Copie y respalde este criptograma. Sera la clave de acceso para el usuario Administrador, quien tendrá todos los privilegios sobre el directorio Archivo de configuración /etc/openldap/slapd.conf. Se debe crear /etc/openldap/slapd.conf como archivo nuevo: touch /etc/openldap/slapd.conf

Page 20: Memoria 2014

vim /etc/openldap/slapd.conf Por seguridad, dar permisos de lectura y escritura, sólo para usuarios ldap.

chown ldap:ldap /etc/openldap/slapd.conf chmod 776 /etc/openldap/slapd.conf

Elimine el conjunto de archivos y directorios que componen los configuración predeterminada: rm -rf /etc/openldap/slapd.d/* echo "" | slapadd -f /etc/openldap/slapd.conf slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d chown -R ldap:ldap /etc/openldap/slapd.d /var/lib/ldap/autenticar Restablezca los contextos de SELinux para los directorios /etc/ldap/slapd.d y /var/lib/ldap/autenticar ejecutando lo siguiente: restorecon -R /etc/openldap/slapd.d /var/lib/ldap/autenticar Inicio del servicio. Inicie el servicio slapd y añada éste al resto de los servicios que arrancan junto con el sistema, ejecutando los siguientes dos mandatos:

service slapd start chkconfig slapd on

Migración de cuentas existentes en el sistema. vim /usr/share/migrationtools/migrate_common.ph Modifique # Default DNS domain(linea71) $DEFAULT_MAIL_DOMAIN = "pollainformatica.com"; # Default base(linea74) $DEFAULT_BASE = "dc= pollainformatica, dc=com"; Genere el archivo base.ldif, genera el fichero en la ubicacion que estamos en ese momento. Importar los grupos y usuarios existentes en el sistema. Crear los archivos group.ldif y passwd.ldif, utilizando migrate_group.pl y migrate_passwd.pl. /usr/share/migrationtools/migrate_base.pl > base.ldif

/usr/share/migrationtools/migrate_group.pl /etc/group group.ldif /usr/share/migrationtools/migrate_passwd.pl /etc/passwd passwd.ldif

Los datos se podrán insertar en el directorio LDAP utilizando ldapadd -x -W -D 'cn=Administrador, dc=pollainformatica, dc=com' -h 127.0.0.1 -f base.ldif ldapadd -x -W -D 'cn=Administrador, dc=pollainformatica, dc=com' -h 127.0.0.1 -f group.ldif ldapadd -x -W -D 'cn=Administrador, dc= pollainformatica, dc=com' -h 127.0.0.1 -f passwd.ldif

Comprobaciones. ldapsearch -h 127.0.0.1 -x -b '' -s base '(objectclass=*)' namingContexts ldapsearch -x -b 'dc=pollainformatica,dc=com' '(objectclass=*)' ldapsearch -x -b 'uid=freddy01,ou=Administrador,dc= pollainformatica,dc=com' ldapsearch -x -b 'uid=named,ou=People,dc= pollainformatica,dc=com'

Administración

Page 21: Memoria 2014

Teniendo en cuenta la complicidad de la creación de usuarios y unidades organizativas que cuenta este servicio, he decidido explicar cómo instalar un modo gráfico para este, es decir, administrar openldap por una interfaz gráfica llamada phpldapadmin (phpldapadmin-1.2.3.tgz), esta deberá ser descargada y ejecutada como un directorio virtual.

Primero que todo debemos instalar nuestro servidor web httpd

yum –y install httpd*

Descargar el paquete, yo lo he descargado en el escritorio, luego debemos mover el archivo al directorio web /var/www/html.

cd Escritorio/

mv phpldapadmin-1.2.3.tgz /var/www/html/

cd /var/www/html/

Descomprimir el archivo y eliminar el comprimido.

tar -xvzf phpldapadmin-1.2.3.tgz

rm -r phpldapadmin-1.2.3.tgz

Entramos al directorio llamado config y buscaremos un archivo llamado config.php.example. Crear una copia, y configuramos la copia de nombre config.php y editamos la línea 286.

cd /var/www/html/phpldapadmin-1.2.3/config/

cp config.php.example config.php

gedit config.php

$servers->setValue('server','host','192.168.5.100');

Instalar los complementos del php para poder ejecutar el phpldapadmin

yum -y install php php-ldap

Reiniciar servicio httpd

service httpd restart

Ingresar en el navegador de la siguiente manera

http://192.168.5.100/phpldapadmin-1.2.3/

Damos clic en conectar para acceder al servidor para administrarlo.

cn=Administrador,dc=pollainformatica,dc=com

Page 22: Memoria 2014

password

Ahora entramos y podemos observar que esta la configuración que habíamos creado anteriormente por la consola.

Configuración de clientes. Los clientes CentOS 6 y Red Hat Enterprise Linux 6, requieren tener instalados los paquetes nss-pam-ldap, authconfig y openldap-clients-2.4.23-16.el6 (las versiones anteriores de este último tienen roto el soporte para TLS/SSL):

yum -y install authconfig openldap-clients nss-pam-ldapd Defina los valores para los parámetros host y base, a fin de establecer hacia que servidor y a que directorio conectarse, en el archivo /etc/pam_ldap.conf.

vim /etc/pam_ldap.conf Para fines prácticos, el valor del parámetro uri corresponde al nombre del servidor LDAP, previamente resuelto por un DNS y el valor del parámetro base debe ser el mismo que se especificó en el archivo /etc/openldap/slapd.conf para el parámetro suffix. Considerando que el nombre de anfitrión del servidor LDAP está resuelto por un servidor DNS, comoservidor.dominio.tld, puede definir lo siguiente: uri ldap://srvuio. pollainformatica.com/ base dc= pollainformatica,dc=tld ssl start_tls tls_checkpeer no pam_password md5 Asumiendo que el servidor LDAP tiene definido como nombre de anfitrión servidor.dominio.tld, previamente resuelto en un servidor DNS, ejecute lo siguiente: authconfig --useshadow --enablemd5 --enablelocauthorize –enablemkhomedir –enableldap --enableldapauth --ldapserver=srvuio.pollainformatica.com --ldapbasedn=dc=pollainformatica,dc=com enableldaptls --update Si utiliza CentOS 6 o Red Hat™ Enterprise Linux 6, con openldap-clients-2.4.23-15.el6 y versiones anteriores, utilice --disableldaptls, en lugar de --enableldaptls.

Page 23: Memoria 2014

Al terminar, debe iniciar y agregar a los servicios de arranque del sistema al servicio nslcd.

chkconfig nslcd on service nslcd start

Bibliografía: http://www.alcancelibre.org/staticpages/index.php/como-ldap-auth?query=openldap http://senadminredes.blogspot.com/2012/06/administrando-openldap-centos-56.html http://docs.adaptivecomputing.com/viewpoint/hpc/Content/topics/1-setup/installSetup/settingUpOpenLDAPOnCentos6.htm

Page 24: Memoria 2014

CLIENTE - SERVIDOR SMTP

Instalación del MTA (Mail Tranfer Agent) postfix:

yum install postfix

Permitir en el firewall el puerto 25. Confirmar que el puerto 25 acepta conexiones SMTP:

iptables -L | grep smtp

Configurar postfix para que inicie cuando arranque el servidor Centos

chkconfig postfix on

Confirmar lo anterior, que el servicio Postfix arranque en los RUNLEVEL 3 y 5:

chkconfig postfix --list

Arrancar el servicio postfix:

service postfix start

Probar el funcionamiento básico del servicio de mail.

Envío de un mensaje de correo.

echo "hello" | mail -s "asunto_prueba2013120601" root

Ver el log del servidor de correo.

cat /var/log/maillog

ver el buzón de entrada del usuario actual (root):

mail

CONFIGURACION DE POSTFIX:

Confirmar que postfix esté instalado:

rpm -q postfix

postfix-2.6.6-2.2.el6_1.i686

CONFIGURACIÓN PARA ENVIAR CORREO:

Postfix no envía mensajes de correo al usuario root por seguridad.

Para ello usa los alias creados en el archivo /etc/aliases.)

En el siguiente directorio almacena postfix los archivos para gestionar el sistema de correo.

ls /var/spool/postfix

En el siguiente directorio almacena postfix los buzones de correo de los usuarios.

ls /var/spool/mail/

Editar con el usuario root el archivo principal de configuración de postfix:

vim /etc/postfix/main.cf

Modificar las siguientes líneas.

myhostname = mail.pollainformatica.com (linea76)

mydomain = pollainformatica.com (linea84)

myorigin = $mydomain(linea100)

#permitir que postfix escuche mail en todas sus direcciones ip

inet_interfaces = all(línea 117)

#permitir que todos los clientes del servidor le envíen mail

mynetworks = 192.168.5.0/24,127.0.0.1/8(linea265)

Page 25: Memoria 2014

#La dirección del servidor "repetidor" de mail, que en este caso es

#la de mail.andinanet.net

relayhost = 200.107.10.14(línea314-srv amigo)

relayhost = 200.107.10.14

myhostname = mail.pollainformatica.com

mydomain = pollainformatica.com

myorigin = $mydomain

home_mailbox = mail/

mynetworks = 192.168.5.0

inet_interfaces = all

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

Para ver un resumen de los cambios realizados al archivo /etc/postfix/main.cf

postconf -n

Para ver todos los parámetros por defecto de postconf:

postconf -d

Para ver el valor actual de parámetros específicos, por ejemplo:

postconf myhostname

myhostname = mail.pollainformatica.com

Para editar un parámetro en línea y que su cambio entre en efecto de inmediato, por ejemplo:

postconf -e "myorigin = midominio.org"

Enviar un mensaje de correo a una cuenta en cualquier servicio de correo externo.

echo "prueba desde centos hacia yahoo" | mail -s "centos a yahoo" [email protected] echo "prueba desde centos hacia hotmail" | mail -s "centos a hotmail" [email protected]

echo "prueba desde centos hacia gmail" | mail -s "centos a yahoo" [email protected]

Page 26: Memoria 2014

mail -s "desde CentOS" [email protected]

<?Aqui ingresamos el contenido del mensaje>

Holas Daniel, soy Dino, te escribo para...

<?Finalizamos con <.> >

EOT

mail -s "desde CentOS" [email protected]

Holas Daniel, soy Dino, te escribo para...

EOT

mail -s "desde CentOS" [email protected]

Holas Daniel, soy Dino, te escribo para...

EOT

Ver el estado del log del servicio de correo.

cat /var/log/maillog

Configuración para cifrar el envío de mails por la conexión SMTP:

Instalación de bibliotecas para cifrado SASL (=Simple Authentication and Security Layer):

yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

Comprobar que el servidor mail.andinanet.net soporta cifrado TLS

telnet 200.107.10.14 25

help

ehlo 200.107.10.14

starttls

quit

Añadir las siguientes entradas al archivo /etc/postfix/main.cf:

vi /etc/postfix/main.cf

smtp_sasl_auth_enable = yes

Page 27: Memoria 2014

smtp_sasl_security_options = noanonymous

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

smtp_tls_security_level = may

tls_random_source = /dev/urandom

Añadir la contraseña para que postfix se identifique:

vi /etc/postfix/sasl_passwd

mail.andinanet.net usuario:contraseña

Transformar la información anterior en archivo .db

postmap /etc/postfix/sasl_passwd

Usar el archivo .db creado:

service postfix reload

CONFIGURACIÓN PARA RECIBIR CORREO:

Primero comprobar que el servidor DNS cuenta con registros MX

host -t MX dominioesc.org.ec centos1

host -t MX pollainformatica.com mail

Añadir las siguientes entradas al archivo /etc/postfix/main.cf:

vim /etc/postfix/main.cf

Si es que los mensajes son rechazados, que sea rechazo temporal y haya reintento:

soft_bounce = yes(linea22)

unknown_local_recipient_reject_code = 450(linea223)

Indicar a postfix que es el último salto hacia [email protected],

# [email protected], [email protected]

#y user@centos1:

(linea165)

mydestination = $mydomain, $myhostname, localhost.$mydomain, localhost

Confirmar que los usuarios que van a recibir mail realmente existan en el servidor

getent passwd huesped

getent passwd eduardo

...

NOTA: tan pronto como se crea un usuario, ya está listo para recibir mail.

Para crear alias para los usuarios, determinar primero el archivo de alias:

postconf alias_maps

Luego,

vi /etc/aliases

#Quitar el símbolo de comentario y cambiar el nombre del usuario

#que va a recibir los mails dirigidos a root:

root: eduardo

#Luego, introducir los alias que sean necesarios.

#Ejemplos:

mama: [email protected]

support: eduardo,huesped,cecilia

#Después, obtener un archivo .db del anterior:

newaliases

#Reiniciar postfix.

Page 28: Memoria 2014

service postfix restart

Recuperación del mail como cliente: DOVECOT: Servidor de IMAP4 y POP3

yum install dovecot

service dovecot start

vim /etc/dovecot/dovecot.conf

protocols = imap pop3

mail_location = maildir:~/mail

pop3_uidl_format = %08Xu%08Xv

chkconfig --level 235 dovecot on

Comprobar el funcionamiento de DOVECOT POP3: (Este es un protocolo menos complejo que

IMAP4, pues solamente controla la descarga del buzón de correo desde el servidor hacia el

cliente.)

telnet localhost 110

user eduardo

pass <password>

stat

list 1

retr 1

quit

Comprobar el funcionamiento de DOVECOT IMAP4: (Este es un protocolo más complejo que

POP3, pues debe gestionar todo desde el servidor.)

telnet localhost 143

a login leela 123456

a select Inbox

a fetch 1 body [text]

a logout

Permitir en el firewall los puertos TCP 993 (IMAP4S) y 995 (POP3S).

Usar para ello Sistema->Administración->Nivel de seguridad y Cortafuegos

Comprobación de que aquellos puertos estén abiertos:

iptables -L -v | grep -E "pop3|imap"

¡NO HAY NECESIDAD DE ABRIR LOS PUERTOS 110 y 143 SI TODOS LOS ACCESOS VAN

A SER UNICAMENTE CIFRADOS!

Instalar cliente gráfico de correo electrónico:

yum install thunderbird

Si tiene instalado nmap, puede comprobar los puertos activados con nmap:

nmap localhost -p 110,143,993,995

Comprobar el cifrado:

openssl s_client -connect localhost:995

openssl s_client -connect localhost:993

Para filtrar spam: Instalar SpamAssassin

Para filtrar virus: Instalar ClamAV

Page 29: Memoria 2014

Para integrar SpamAssassin y ClamAV con el servidor de mail: Instalar MailScanner

Bibliografía:

http://configuracioneslinux.blogspot.com/2012/07/servidor-de-e-mail-postfix-dovecot.html

Listita de comandos del Ing. Suarez

http://www.krizna.com/centos/setup-mail-server-in-centos-6/

Page 30: Memoria 2014

CLIENTE - SERVIDOR SNMP

Equipamiento lógico necesario. Instalación a través de yum.

yum -y install net-snmp net-snmp-utils

Procedimientos Lo más recomendable será crear un archivo nuevo y limpio de contenido para poder partir de algo más simple y funcional.

cp /etc/snmp/snmpd.conf /root/Escritorio/snmp/snmpd.conf Listas de control de acceso. Se deben crear las listas de control de acceso (ACL o Access Control List) correspondientes en el archivo/etc/snmp/snmpd.conf, las cuales servirán para definir lo que tendrá acceso hacia el servicio snmpd.

com2sec local 127.0.0.1/32 123456 com2sec miredlocal 192.168.5.0/24 123456

En lo anterior la primera línea significa que habrá una lista de control de acceso denominada «local» y que corresponderá solo a 127.0.0.1/32, asignando 123456 como clave de acceso. La segunda línea hace lo mismo pero definiendo a la red 192.168.5.0/24. Definición de grupos. Se crean al menos dos grupos: MyRWGroup y MyROGroup. El primero será un grupo al que se asignarán más adelante permisos de lectura escritura y el segundo será un grupo al que posteriormente se asignarán permisos de solo lectura. Por cada grupo se asignan tres líneas que especifican el tipo de acceso que se permitirá en un momento dado a un grupo en particular. Es decir, MyRWGroup se asocia a local y MyROGroup a miredlocal.

#Se asigna local al grupo de lectura escritura group MyRWGroup v1 local group MyRWGroup v2c local group MyRWGroup usm local #Se asigna miredlocal al grupo de solo lectura group MyROGroup v1 miredlocal group MyROGroup v2c miredlocal group MyROGroup usm miredlocal

Ramas permitidas. Se especifican las ramas que se van a permitir ver a través del servicio. Lo más común, para, por ejemplo, utilizarse conMRTG, es lo siguiente:

## name incl/excl subtree mask(optional) view all included .1 80

Asignación de permisos a los grupos. Se debe especificar que permisos tendrán los dos grupos, MyROGroup y MyRWGroup. Son de especial interés las últimas columnas.

## group context sec.model sec.level prefix read write notif access MyROGroup "" any noauth exact all none none access MyRWGroup "" any noauth exact all all all

Page 31: Memoria 2014

Parámetros de carácter informativo. Se definen dos parámetros de carácter informativo para que cuando utilicen aplicaciones cliente como MRTG se incluya algo de información acerca de que sistema se está accediendo.

syslocation Servidor Linux en srvuio.pollainformatica.com syscontact Administrador ([email protected])

Un ejemplo funcional de configuración. El ejemplo que mostramos a continuación se utiliza en todas los equipos que posee el autor en casa y en la oficina. Solo hay que reemplazar el valor redlocal por lo que uno considere apropiado y reemplazar el valor 192.168.5.0/24 por el valor de la red o la dirección IP desde donde se requiera acceder con un cliente snmp, como MRTG.

# Listas de control de acceso (ACL) ## sec.name source community (alias clave de acceso) com2sec local 127.0.0.1/32 123456 com2sec miredlocal 192.168.5.0/24 123456 #Se asigna ACL al grupo de lectura escritura group MyRWGroup v1 local group MyRWGroup v2c local group MyRWGroup usm local #Se asigna ACL al grupo de solo lectura group MyROGroup v1 miredlocal group MyROGroup v2c miredlocal group MyROGroup usm miredlocal # Ramas MIB que se permiten ver ## name incl/excl subtree mask(optional) view all included .1 80 # Establece permisos de lectura y escritura ## group context sec.model sec.level prefix read write notif access MyROGroup "" any noauth exact all none none access MyRWGroup "" any noauth exact all all all # Información de Contacto del Sistema syslocation Servidor Linux en srvuio.pollainformatica.com syscontact Administrador ([email protected])

Si es necesario añadir más equipos para que accedan al servicio snmpd, solo hay que hacer lo siguiente:

• Agregar una ACL con un nombre único. Ejemplo: com2sec micueva 192.168.1.251 123456

• Agregar un juego reglas que asignen al grupo, en este caso micueva, con lo siguiente:

group otrogrupo v1 local group otrogrupo v2c local group otrogrupo usm local

• Agregar una línea donde se establece que permisos tendrá el grupo otrogrupo. En este ejemplo, va a ser de solo lectura:

access MyROGroup "" any noauth exact all none none

Iniciar, detener y reiniciar el servicio snmpd. Para ejecutar por primera vez el servicio snmpd, utilice:

service snmpd start Para hacer que los cambios hechos tras modificar la configuración surtan efecto, utilice:

service snmpd restart Para detener el servicio snmpd utilice:

Page 32: Memoria 2014

service snmpd stop Agregar el servicio snmpd al arranque del sistema. Para hacer que el servicio de snmpd esté activo con el siguiente inicio del sistema, en todos los niveles de ejecución (2, 3, 4 y 5), se utiliza lo siguiente:

chkconfig snmpd on Comprobaciones. Considerando, como ejemplo, que sea signó como clave de acceso 123456 en un sistema cuya dirección IP es192.168.1.254, para probar si la configuración funciona, solo hay que ejecutar los dos siguiente mandatos a fin verificar que devuelvan información acerca del sistema consultado.

snmpwalk -v 1 192.168.5.100 -c 123456 system snmpwalk -v 1 192.168.5.100 -c 123456 interfaces

Modificaciones necesarias en el muro cortafuegos. Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo Shorewall, es necesario abrir los puerto 161 y 162 por UDP (SNMP y SNMPTRAP, respectivamente). CONFIGURACIÓN DE NAGIOS Instalación de nagios y nagios plug-ins: yum install nagios nagios-plugins Al final de la instalación, todos los archivos de configuración de Nagios se encontrarán en /etc/nagios El principal archivo de configuración es nagios.cfg Las definiciones para objetos gestionados (=Managed Objects = MO) se encuentran en /etc/nagios/objects Managed objects en Nagios: host object, service object, contact object. El archivo /etc/httpd/conf.d/nagios.conf contiene la configuración de Nagios para el Apache web server. El archivo /usr/lib/nagios/cgi contiene scripts CGI de configuración para la interface web de Nagios. El archivo /usr/lib/nagios/plugins contiene scripts para leer MIBs y enviar alertas al administrador. El archivo /usr/share/nagios contiene la parte estática de la interface web de Nagios. Los logs de Nagios se encuentran en /var/log/nagios En el directorio /var/nagios se registra la información sobre el estado de los MDs. CONFIGURACIÓN INICIAL: Cambiar la dirección de contacto del administrador, a la cual Nagios enviará alertas: vi /etc/nagios/objects/contacts.cfg cambie la dirección nagios@localhost por su dirección de correo electrónico Crear la clave de administrador de Nagios: htpasswd -c /etc/nagios/htpasswd.users nagiosadmin El archivo /etc/nagios/htpasswd.users contiene los nombres y contraseñas (cifradas) de los usuarios creados en Nagios y es usado por el servidor web Apache para autenticarlos.

Page 33: Memoria 2014

Configurar el demonio de Nagios para arrancar siempre que arranque el SO del servidor: chkconfig nagios on Arrancar el demonio de Nagios: service nagios start Asegúrese de que el servidor HTTP Apache también arranque cuando el SO inicie: chkconfig httpd on Asegúrese de que el demonio de Apache arranque: service httpd start Abra la interfaz web de nagios con su navegador en la siguiente dirección: http://<su_servidorweb.su_dominio>/nagios/ O también: http://<su_dirección_IP>/nagios/ Le pedirá nombre de usuario y contraseña. Introduzca el nombre "nagiosadmin" y la contraseña que creó para esta cuenta de usuario. Pruebas de funcionamiento

Login al administrador de nagios

Page 34: Memoria 2014
Page 35: Memoria 2014
Page 36: Memoria 2014

Ahora con los servicios ya levantados.

Page 37: Memoria 2014