Anda di halaman 1dari 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 estndar 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 instalacin 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), adems de hacerlo por
defecto en memoria RAM en la base RBT (Red Black Tree) zone database. Tambin incluye
soporte para DLZ (Dynamic Loadable Zones).
Ahora determinamos la versin de BIND
named v
Configuramos la NIC de nuestro ordenador para usar una IPADDRESS esttica y no de forma
dinmica por DHCP, nos dirigimos a la parte superior derecha del escritorio damos clic derecho
sobre el icono de red seleccionamos Editar las conexiones, podemos Aadir una nueva
conexin o simplemente Editar una existente.


Nombre de la conexin: 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 configuracin ubicado en:
cat /etc/sysconfig/network-scripts/ifcfg-Home


Reiniciamos el servicio:

service network restart

NOTA: Antes de modificar cualquier archivo de configuracin, hacer una copia de la versin
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



Aadimos 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 lnea 12 y 19,

vim /etc/named.conf


Ahora abra /etc/named.rfc1912.zones y modifique la lnea 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/
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

Despus 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

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 DIRECCIN 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.


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

CONFIGURACION HTTP

INTRODUCCIN
HTTP y HTTPS
-puerto TCP por defecto para HTTP: 80
-puerto TCP por defecto para HTTPS: 443
Instalacin 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 nmeros de los procesos (PIDs) son tiles cuando se hace depuracin del kernel.

Arranque el navegador y pruebe navegar en su direccin IP o su dominio. Esto lo
podemos hacer tambin desde un cliente ingresando la direccin de la misma forma.
http://<su direccin IP>
http://192.168.5.100/xyz
http://www.pollainformatica.com/

El comando elinks tambin 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

Para ver la versin de Apache que ha instalado, puede introducir en su navegador lo
siguiente:
http://<su direccin 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 lnea de comandos de una venta de terminal:
httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: May 13 2013 22:08:57

Configuracin de Apache
La documentacin completa y oficial de Apache se encuentra en
http://httpd.apache.org/docs/
Todos los archivos de configuracin de Apache en el servidor se encuentran en:
cd /etc/httpd/
El siguiente directorio contiene el archivo central de configuracin de Apache
(httpd.conf):
ls /etc/httpd/conf
El siguiente directorio contiene los archivos de configuracin de software
complementario de Apache:
ls /etc/httpd/conf.d
Primeros cambios necesarios en el archivo de configuracin:
vim /etc/httpd/conf/httpd.conf
Buscar la variable ServerAdmin y modificarla con la direccin de correo electrnico
con la cual ponerse en contacto en caso de errores del servidor web:
#ServerAdmin root@localhost ( lnea 262)
ServerAdmin root@pollainformatica.com

Nombre del servidor y puerto TCP:
#ServerName www.example.com:80 ( lnea 276)
ServerName www.pollainformatica.com:80

Verifique la correctitud actual de la sintaxis en el archivo de configuracin de Apache:
service httpd configtest
Syntax OK
El anterior comando es muy til para determinar errores en las declaraciones
sintcticas para configurar Apache, si tomamos en cuenta que es un archivo con 1000
lneas de configuracin en promedio.

Compruebe que el servicio httpd arranca correctamente con los cambios efectuados a
la configuracin:
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 CONTRASEA:

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 impedirn que los usuarios puedan descargar los
archivos .htaccess o .htpasswd
La tercera parte:
AuthUserFile apunta al archivo .htpasswd que contiene informacin de login (=
apertura de la sesin) de los usuarios en el servidor web.
AuthName es el texto que aparecer en la ventana de login.
AuthType es el tipo de autenticacin, casi siempre es de tipo bsico (= Basic).

Si lo desea, puede especificar los usuarios que tendrn 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 opcin -c crea el archivo si no exista. 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 contraseas que usa Apache por defecto es crypt().
Otros algoritmos disponibles para cifrar contraseas en Apache son MD5 y SHA.
Adems, es posible no cifrarlas si escoge el mtodo PLAINTEXT.
cat htpasswd
cat /etc/httpd/htpasswd
admin:R.d9Y/dH5KInU
huesped:fSlB/WwXgOMXI
freddy:Rg7FlH70Zz/Uc

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 PGINAS 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>Pgina 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 PGINA ANTERIOR
Apache 2 Test Page.

INSTALACIN DE SSL:
yum install mod_ssl
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 instalacin con el navegador y la siguiente pgina web:
https://<su direccin 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.


Acptela y conctese usando el user and password que estime conveniente. Podemos
observar que ingresamos correctamente a nuestra pagina de pruebas.

CERTIFICANDO NUESTRAS PGINAS WEB

Para obtener un certificado SSL firmado por una autoridad de certificacin (=
Certificate Authority, CA), por ejemplo Verisign o Thawte, debe pagar por aquel
certificado. Cuesta aproximadamente US$1.000 por ao. Certificados SSL
relativamente ms 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/
cd /etc/certs/
DEBE CREAR UNA CLAVE PARA CADA SITIO WEB.
Durante la creacin 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 pblico dicho archivo, algn hacker podra usar el siguiente comando para
descargarse el archivo:
wget https://sudominio.com/www_sudominio.key
Note lo til que podra ser el comando wget.

Cree la peticin CSR:

openssl req -new -key www_pollainformatica_com.key -out
www_pollainformatica_com.csr

Completamos la informacin 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
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 []: root@pollainformatica.com

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 creacin 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 pblica de su servidor
Apache y la firma digital de la CA.

Copie ABSOULTAMENTE TODA LA SALIDA de "cat www_sudominio_com.csr" en
la pgina de la CA, cuando esta la solicite, SIN BLANCOS NI LNEAS EN BLANCO
ANTES O DESPUS.

Hasta aqu tenemos la solicitud de certificacin y tambin 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.

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/emailAddress=jhondefri_guz@hotmail.com
Getting Private key
Enter pass phrase for www_pollainformatica_com.key:123456

En criptografa, X509 es el estndar ITU (= International Telecommunication Union)
para infraestructuras de claves pblicas. Especifica los formatos de los certificados de
clave pblica y algoritmos para validacin de la ruta de certificacin.

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 ms baratos ofrecidos por
CAs ms pequeas. Los archivos correspondientes le son entregados por dichas CA.
certificate bundle: si tiene ms de un certificado, puede agruparlos todos en un slo
archivo (= bundle). Debe cifrarlo con algoritmo PEM. Puede pedirlo a su CA.
certificate chain: archivo con informacin para validar la ruta de certificacin. 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)
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)
DE APACHE: (ver pgs. 97-100 del libro de texto.)
EJERCICIO1: instalar WEBMAIL (pgs. 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 pginas 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.
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 []:root@pollainformatica.com

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 slo 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 lnea 20, localice #SLAPD_LDAPS=no: Elimine la almohadilla (#) y cambie no por yes, de
modo que quede como SLAPD_LDAPS=yes.
SLAPD_LDAPS=yes.

Creacin 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

Creacin 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 configuracin /etc/openldap/slapd.conf.

Se debe crear /etc/openldap/slapd.conf como archivo nuevo:
touch /etc/openldap/slapd.conf
vim /etc/openldap/slapd.conf

Por seguridad, dar permisos de lectura y escritura, slo 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 configuracin 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 aada ste al resto de los servicios que arrancan junto con el sistema, ejecutando los
siguientes dos mandatos:
service slapd start
chkconfig slapd on

Migracin 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 podrn 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'

Administracin
Teniendo en cuenta la complicidad de la creacin de usuarios y unidades organizativas que cuenta este
servicio, he decidido explicar cmo instalar un modo grfico para este, es decir, administrar openldap por
una interfaz grfica 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 lnea 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
password
Ahora entramos y podemos observar que esta la configuracin que habamos creado anteriormente por la
consola.

Configuracin 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 parmetros 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 prcticos, el valor del parmetro uri corresponde al nombre del servidor LDAP, previamente
resuelto por un DNS y el valor del parmetro base debe ser el mismo que se especific en el archivo
/etc/openldap/slapd.conf para el parmetro suffix. Considerando que el nombre de anfitrin 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 anfitrin 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.

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

chkconfig nslcd on
service nslcd start



Bibliografa:

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



CLIENTE - SERVIDOR SMTP

Instalacin 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 bsico del servicio de mail.
Envo 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 buzn 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

CONFIGURACIN PARA ENVIAR CORREO:

Postfix no enva 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 configuracin de postfix:
vim /etc/postfix/main.cf
Modificar las siguientes lneas.
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(lnea 117)
#permitir que todos los clientes del servidor le enven mail
mynetworks = 192.168.5.0/24,127.0.0.1/8(linea265)
#La direccin del servidor "repetidor" de mail, que en este caso es
#la de mail.andinanet.net
relayhost = 200.107.10.14(lnea314-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 parmetros por defecto de postconf:
postconf -d
Para ver el valor actual de parmetros especficos, por ejemplo:
postconf myhostname
myhostname = mail.pollainformatica.com
Para editar un parmetro en lnea 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" jhondefri_guz@yahoo.com
echo "prueba desde centos hacia hotmail" | mail -s "centos a hotmail" jhondefri_guz@hotmail.com
echo "prueba desde centos hacia gmail" | mail -s "centos a yahoo" friu1988@gmail.com


mail -s "desde CentOS" jhondefri_guz@yahoo.com
<?Aqui ingresamos el contenido del mensaje>
Holas Daniel, soy Dino, te escribo para...
<?Finalizamos con <.> >
EOT
mail -s "desde CentOS" jhondefri_guz@hotmail.com
Holas Daniel, soy Dino, te escribo para...
EOT
mail -s "desde CentOS" friu1988@gmail.com
Holas Daniel, soy Dino, te escribo para...
EOT


Ver el estado del log del servicio de correo.
cat /var/log/maillog


Configuracin para cifrar el envo de mails por la conexin SMTP:

Instalacin 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
Aadir las siguientes entradas al archivo /etc/postfix/main.cf:
vi /etc/postfix/main.cf
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_security_level = may
tls_random_source = /dev/urandom
Aadir la contrasea para que postfix se identifique:
vi /etc/postfix/sasl_passwd
mail.andinanet.net usuario:contrasea
Transformar la informacin anterior en archivo .db
postmap /etc/postfix/sasl_passwd
Usar el archivo .db creado:
service postfix reload

CONFIGURACIN 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

Aadir 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 user@dominioesc.org.ec,
# user@mail.dominioesc.org.ec, user@centos1.example.com
#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 smbolo 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: lourdes.suarez@andinanet.net
support: eduardo,huesped,cecilia
#Despus, obtener un archivo .db del anterior:
newaliases
#Reiniciar postfix.
service postfix restart

Recuperacin 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 buzn 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 ms 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->Administracin->Nivel de seguridad y Cortafuegos

Comprobacin de que aquellos puertos estn 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 grfico de correo electrnico:
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
Para integrar SpamAssassin y ClamAV con el servidor de mail: Instalar MailScanner




Bibliografa:

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/



CLIENTE - SERVIDOR SNMP

Equipamiento lgico necesario.
Instalacin a travs de yum.
yum -y install net-snmp net-snmp-utils
Procedimientos

Lo ms recomendable ser crear un archivo nuevo y limpio de contenido para poder partir de
algo ms 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 servirn 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 lnea 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 lnea hace lo mismo pero definiendo a la red 192.168.5.0/24.

Definicin de grupos.

Se crean al menos dos grupos: MyRWGroup y MyROGroup. El primero ser un grupo al que
se asignarn ms adelante permisos de lectura escritura y el segundo ser un grupo al que
posteriormente se asignarn permisos de solo lectura. Por cada grupo se asignan tres lneas 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 travs del servicio. Lo ms comn, para, por
ejemplo, utilizarse conMRTG, es lo siguiente:
##name incl/excl subtree mask(optional)
view all included .1 80

Asignacin de permisos a los grupos.

Se debe especificar que permisos tendrn los dos grupos, MyROGroup y MyRWGroup. Son
de especial inters 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
Parmetros de carcter informativo.

Se definen dos parmetros de carcter informativo para que cuando utilicen aplicaciones cliente
como MRTG se incluya algo de informacin acerca de que sistema se est accediendo.
syslocation Servidor Linux en srvuio.pollainformatica.com
syscontact Administrador (root@pollainformatica.com)

Un ejemplo funcional de configuracin.

El ejemplo que mostramos a continuacin 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 direccin 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
#Informacin de Contacto del Sistema
syslocation Servidor Linux en srvuio.pollainformatica.com
syscontact Administrador (root@pollainformatica.com)
Si es necesario aadir ms 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 lnea 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 configuracin surtan efecto, utilice:
service snmpd restart
Para detener el servicio snmpd utilice:
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 ejecucin (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
direccin IP es192.168.1.254, para probar si la configuracin funciona, solo hay que ejecutar los
dos siguiente mandatos a fin verificar que devuelvan informacin 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 polticas estrictas, como por ejemplo Shorewall, es necesario
abrir los puerto 161 y 162 por UDP (SNMP y SNMPTRAP, respectivamente).

CONFIGURACIN DE NAGIOS
Instalacin de nagios y nagios plug-ins:
yum install nagios nagios-plugins

Al final de la instalacin, todos los archivos de configuracin de Nagios se encontrarn en
/etc/nagios
El principal archivo de configuracin 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 configuracin de Nagios para el Apache
web server.
El archivo /usr/lib/nagios/cgi contiene scripts CGI de configuracin 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 esttica de la interface web de Nagios.
Los logs de Nagios se encuentran en /var/log/nagios
En el directorio /var/nagios se registra la informacin sobre el estado de los MDs.

CONFIGURACIN INICIAL:

Cambiar la direccin de contacto del administrador, a la cual Nagios enviar alertas:
vi /etc/nagios/objects/contacts.cfg
cambie la direccin nagios@localhost por su direccin de correo electrnico

Crear la clave de administrador de Nagios:
htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
El archivo /etc/nagios/htpasswd.users contiene los nombres y contraseas (cifradas) de los
usuarios creados en Nagios y es usado por el servidor web Apache para autenticarlos.

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

Asegrese de que el servidor HTTP Apache tambin arranque cuando el SO inicie:
chkconfig httpd on
Asegrese de que el demonio de Apache arranque:
service httpd start

Abra la interfaz web de nagios con su navegador en la siguiente direccin:
http://<su_servidorweb.su_dominio>/nagios/
O tambin:
http://<su_direccin_IP>/nagios/
Le pedir nombre de usuario y contrasea. Introduzca el nombre "nagiosadmin" y la
contrasea que cre para esta cuenta de usuario.

Pruebas de funcionamiento
Login al administrador de nagios





















Ahora con los servicios ya levantados.

Anda mungkin juga menyukai