Mini-Host Asir Jose Maria de La Roza Millan

download Mini-Host Asir Jose Maria de La Roza Millan

If you can't read please download the document

Transcript of Mini-Host Asir Jose Maria de La Roza Millan

PRACTICA

ASIR

MINI HOST

Jos Mara De la Roza Millnndice de contenidoCreacin y enrutamiento de maquinas virtuales.3DHCP6Servidor DNS8Instalacin de interfaz grfica en nuestro ServerDebian.11Servidor web Apache12Apache con modulo php16Modulo de autenticacion simple.18Modulo de estadsticas Apache 21Autenticacion digest en Apache.21Apache con SSL23Instalacin de ftp25FTP Usuario annimo27FTP: Usuario enjaulado28FTP mediante Filezilla.30FTP Usuarios que no se pueden conectar.31FTP Banner.32FTP con mascara.33Servidor de Correos34Instalacin del servidor de mensajera openfire.37Creacin de un usuario en openfire43Instalacin de telefona asterisk463xcphone para comunicarnos con asterisk47VoIP Buzon de voz.50

Creacin y enrutamiento de maquinas virtuales.

Creamos maquina una Debian con 2 adaptadores de red uno custom para la Intranet y otro bridged para Internet

Instalamos Debian 6.0La maquina se llama RouterDebian. El usuario y contrasea es jmdelaroza.Tras la instalacin, este es el estado inicial de mi maquina. Solo reconoce una tarjeta de red y si IP es dinmica.

Modificamos el archivo /etc/network/interfaces como aparece a continuacin convirtiendo la tarjeta eth1 como la tarjeta que nos dar acceso a Internet con IP dinmica y aadiendo la tarjeta eth0 como la tarjeta que nos dar acceso a la Intranet, con una IP esttica 10.10.10.1, en la red 10.10.10.0 con mascara de red 255.255.255.0 y direccin de broadcast 10.10.10.255

Reiniciamos el servicio de red mediante el comando /etc/init.d/networking restartLamentablemente las tarjetas siguen sin funcionar asi que levantamos ambas tarjetas mediante el comando ifup eth0 y ifup eth1 y ya tenemos ambas tarjetas funcionando.

A continuacin debemos descomentar la siguiente linea.

Esto,junto al comando /proc/sys/net/ipv4/ip_forward activa el reenvo de datos entre las dos tarjetasPara que el cambio tenga efecto ejecutamos el comando sysctl -p

Para configurar el servicio NAT en nuestra maquina con Linux aadimos dos reglas al firewall:iptables -P FORWARD ACCEPTiptables --table nat -A POSTROUTING -o eth1 -j MASQUERADE

Para que estas reglas sobrevivan reboot, las tenemos que aadir tambin a /etc/rc.local

OJO: No olvidar escribirlas encima de exit 0, si no, al reiniciar nuestra maquina no enrutar.

DHCP

A la hora de configurar el servicio DHCP, cuando intent instalar ISC-SERVER , Debian no me permita bajrmelo. Tuve que entrar en /etc/apt/sources.list y agregar los repositorios oficiales que no venan por defecto:

deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-freedeb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free

A continuacin lo instalamos mediante el comando apt-get install isc-dhcp-server y modificaremos los archivos /etc/default/isc-dhcp-server para que sepa que interfaz hace de servidor DHCPy el archivo /etc/dhcp/dhcpd.conf para indicarle la red en la que tiene que trabajar, la mascara de red, el intervalo de direcciones con el que trabajar, la puerta de enlace, la direccin del servidor DNS y autorizamos para que la configuracin del servidor de DHCP sea concluyente y los clientes mal configurados que sean detectados por el servidor, cambien su configuracin.

Ademas como nuestro servidor va a tener IP fija, lo indicamos tambin en este archivo aadiendo lo siguiente

Vemos el resultado

Servidor DNS

Instalamos el programa bind9 mediante el comando apt-get install bind9 y lo configuramos entrando en /etc/bind9/named.conf.options

Aqu van los servidores DNS que nos interesen (en mi caso solo aad el de Google).

Configuramos ahora nuestro archivo /etc/bind/named.conf.local para aadir donde buscar los archivos donde se encuentran los registros del dominio asir.com (zona directa e inversa).

Una vez hecho esto copiamos el archivo db.local (para usarlo de plantilla) y lo renombramos db.directa. Aqui introducimos nuestro nombre de dominio (asir.com) ademas de los nombres y direcciones de nuestros distintos servidores.

Hacemos lo mismo con la zona inversa con el archivo db.127 y renombrado db.inversa.

Modificamos tambin el archivo /etc/resolv.conf para que use como dns nuestro servidor.

Para que no haga falta aadir escribir el FQDN cada vez que queremos acceder a uno de los servidores, volveremos a modificar el archivo/etc/dhcp/dhcpd.conf

Finalmente reiniciamos tanto el servicio dns con /etc/init.d/bind restart como el servicio dhcp con services isc-dhcp-server restart.

Ahora vamos a comprobar que todo funciona. Empezamos comprobando que hemos escrito bien los archivos donde buscar las direcciones.

A continuacin instalamos nslookup en nuestro ServerDebian mediante el comando apt-get install dnsutils.

Comprobamos que todo funciona desde el servidor con nslookup

Finalmente probamos a hacer ping desde un cliente XP

Instalacin de interfaz grfica en nuestro ServerDebian.

Aadimos los repositorios oficiales como antes.A continuacin instalamos la interfaz gnome mediante el comando aptitude install xorg xserver-xorg-core gnome-core gdm y reiniciamos el sistema.

Servidor web Apache

Primero nos iremos a nuestro RouterDebian y en el archivo db.directa aadimos un alias para nuestro servidor web

Vamos ahora a nuestro ServerDebian e instalamos el paquete apache mediante el comando apt-get install apache2

Cuando termino de instalarlo e intento arrancar el sistema con apache2ctl restart me da un error asi que entro en el archivo /etc/hosts y lo modifico aadiendo la FDQD de nuestra maquina y su direccion IP y ademas comentaremos la linea que nos daba problemas.

Como vemos Apache funciona (la pagina It works se nos crea en la carpeta var.www/index.php al instalar Apache).

Tambin podemos probarlo desde alguno de los ordenadores dentro de la red

Podemos comprobar como Apache esta corriendo con el comando ps -ef | grep apache y ademas vemos que los usuarios de los procesos son root y www-data.

Podemos ver los mdulos descargados

Y los sitios activos

Probamos Apache sin virtual hosting

Ahora vamos a mapear el puerto 80 en nuestro router aadiendo una entrada de iptables en el archivo rc.local

Nos conectamos ahora desde nuestro anfitrin a nuestra web Apache

Apache con modulo phpEmpezamos por convertir nuestro index en una pagina php

Pero como podemos observar el modulo php esta cargado pero no habilitado.

Al intentar entrar en la pagina, en vez de interpretar el archivo php lo que hace es descargarlo

Lo que tenemos que hacer es descargar el modulo mediante el comando a2enmod y el nombre del modulo.

Ahora si interpreta el archivo

Modulo de autenticacion simple.Lo primero es comprobar si el modulo esta cargado o habilitado y como no lo esta lo cargaremos como hicimos anteriormente (a2enmod auth_basic).

Vamos a agregar ahora un usuario

A continuacin debemos configurar el archivo 000-default para indicarle que tipo de autenticacion es (ahora mismo es bsica), la base de datos donde se encuentran los usuarios y el nombre del usuario.

Reiniciamos Apache (como siempre que cargamos un modulo) mediante service apache2 reload.

Intentamos entrar de nuevo a nuestra pagina web y esta vez nos pide contrasea y usuario

Metemos los datos vistos anteriormente (usuario1 como usuario y contrasea).

Y ya podemos entrar en la pagina de nuevo

Modulo de estadsticas Apache

Este modulo me venia ya cargado por defecto, tan solo tecleamos en el navegador server-status tras la ip y nos aparece una pagina con estadsticas sobre el trafico de mi pagina.

Autenticacion digest en Apache.

Lo primero sera cargar el modulo digest ( y como no, recargar Apache, como siempre).

Vamos a crear un usuario en la base de datos de digest mediante el comando htdigest -c usuarios_digest.db asir.com user (user es el usuario y la contrasea). Ojo. Es importante poner el nombre de dominio de nuestro Mini host (yo me confund y puse otro dominio y no haba manera de autenticarse).

Vamos a nuestro fichero de configuracin sites-enabled/default y lo modificamos poniendo el nombre de dominio, el tipo de autenticacion y decirle donde esta la base de datos con los usuarios que se podrn autenticar (aqu de nuevo insisto, hay que poner el nombre de dominio de nuestro server porque si no no funcionar).

Intentamos entrar con el nuevo usuario y efectivamente nos muestra la pagina

Apache con SSL

Vamos a cargar ahora el modulo de autenticacion SSL. Como siempre nos vamos a mods-available y ejecutamos el comando a2enmod seguido del nombre del modulo. Recargamos nuestro servicio Apache para que surja efecto.

Apache ya trae por defecto un sitio con certificados y llaves y es el que vamos a usar nosotros. Cargamos este sitio y recargamos de nuevo Apache.

Como lo vamos a probar desde nuestro anfitrin tenemos que mapear el puerto https (443) en nuestro ruter.

Cuando intentemos acceder desde nuestro ordenador nos aparecer un aviso sobre la seguridad del certificado. Damos a continuar.

Efectivamente la pagina carga.

En el archivo de configuracin de default-ssl podemos ver como el servicio ssl viene activado y las llaves que vienen por defecto ( y donde se guardan).

Instalacin de ftp

Instalamos el paquete vsftp

A continuacin ejecutamos el comando netstat -ln para ver si el servidor esta escuchando por el puerto 21 (tambin podemos ver que el 80 de Apache esta funcionando).

Vamos a modificar ahora el fichero vsftpd.conf para que nos permita logearnos de forma local y ademas tambin permitiremos la inclusin de usuarios annimos.

De nuevo volvemos a mapear puertos para poder acceder desde fuera.

Aqu podemos ver como desde el anfitrin nos conectamos por ftp al servidor.

Y tambin desde un cliente dentro de la red interna

FTP Usuario annimo

Ya que hemos habilitado el usuario annimo vamos a ingresar con el

Vamos a modificar nuestro fichero de configuracin vsftpd.conf ahora para que el usuario annimo no pueda entrar.

Reiniciamos el servicio una vez mas (como siempre que hagamos un cambio).

Efectivamente, el usuario annimo ya no puede logearse.

FTP: Usuario enjaulado

Vemos al conectarnos que el usuario jmdelaroza no esta enjaulado

Vamos al archivo etc/vsftpd.chroot_list y aadimos al usuario que vamos a enjaular.

A continuacin en nuestro archivo de configuracin de etc/vsftpd.conf descomentamos las lineas que habilitan el archivo anterior y que indican donde se encuentra.

Reiniciamos nuestro servicio con service vsftpd restart.Al ingresar de nuevo e intentar salirnos de la carpeta, aunque diga que lo hemos logrado con xito, vemos que seguimos en la misma carpeta (no pude poner un pantallazo mas grande pero se puede observar que los ltimos archivos de la carpeta anterior son los mismos que los de la carpeta actual una vez hemos salido de la carpeta).

FTP mediante Filezilla.

Vamos a crear un par de archivos en nuestra carpeta home para el usuario jmdelaroza

A continuacin nos vamos a nuestra maquina XP dentro de nuestra red interna y ejecutamos el agente Filezilla. En la parte superior debemos indicar la direccin de nuestro servidor, el nombre y contrasea del usuario y no hace falta escribir el puerto puesto que Filezilla se conectara por defecto a los puertos 21. Podemos ver como se conecta sin problemas y vemos los archivos creados. Ahora tan solo tenemos que arrastrarlos a la carpeta de nuestro ordenador donde queramos guardarlos.

FTP Usuarios que no se pueden conectar.

En el archivo etc/ftpusers podemos poner una lista de usuarios que no pueden conectarse al servicio ftp. Vamos a probarlo con el usuario jmdelaroza. Lo inscribimos en nuestra lista y reiniciamos el servicio como siempre.

Efectivamente jmdelaroza ya no se puede conectar.

Tras la prueba lo eliminamos de la lista y reiniciamos el servicio.

FTP Banner.

En nuestro archivo de configuracin vsftpd.conf descomentamos la linea del banner y escribimos uno adecuado.

Al reiniciar el servicio y conectarnos nos aparece.

FTP con mascara.

En nuestro archivo vsftpd.conf descomentamos la linea local_umask y le asignamos unos permisos de escritura y lectura para el propietario y de lectura para grupo y resto.

Como podemos observar se cumple.

Servidor de Correos

En nuestro servidor Debian instalamos el paquete de postfix mediante un apt-get install postfix y seguimos los pasos que nos va indicando el programa de instalacin. El nombre de nuestro sistema de correo sera el de nuestro servidor: ServerDebian.asir.com

Una vez instalado nos vamos al archivo de configuracin y nos aseguramos de que los nombres de dominio estn bien y las redes en las que vamos a trabajar.

Ahora instalaremos dovecot mediante el comando apt-get install dovecot-imapd dovecot-pop3d dovecot-common. Una vez instalado nos vamos a su archivo de configuracin y descomentamos la linea donde vienen los protocolos con los que puede trabajar nuestro correo.

Comprobamos que nuestro servidor esta escuchando por esos puertos:

El 110 es el puerto pop3, el 143 es el puerto imap entrante, el puerto 25 es el puerto smtp saliente y los puerto 993 y 995 son puertos SSL de imap y pop3 respectivamente.

Nos aseguramos de que el programa dovecot este funcionando

Enviamos un correo de prueba al usuario root y desde nuestro equipo anfitrin vemos que el correo llega

Instalacin del servidor de mensajera openfire.

Antes que nada necesitaremos instalar mysql, y phpmyadmin ademas de la plataforma de desarrollo open java (la versin 7 no me funciono asi que tuve que instalar la 6). Este ultimo se instala mediante el comando sudo apt-get install openjdk-6-jdk openjdk-7-jre

Necesitamos crear una base de datos para nuestro sistema de mensajera:

Es el momento de descargar el openfire mediante el comando wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3_7_1.tar.gz y seguidamente lo descomprimimos mediante el comando tar -xvzf openfire_3_7_1.tar.gz

Actualizamos el esquema:

No hizo falta entrar en el archivo de configuracin de openfire para modificar la linea INSTALL4J_ADD_VM_PARAMS="-Xms512m -Xmx2048m" porque ya venia por defecto bien.Ahora iniciamos nuestro openfire

Vamos a crear un grupo y un usuario openfire en la base de datos.

Podemos observar como nuestro puerto 9090 esta a la escucha, este puerto es necesario para poder acceder a la consola web de administracin (podemos ver tambin que el puerto mysql 3306 esta abierto).

Ademas vamos a mapear el puerto 9090 para poder acceder mediante web desde fuera.

Entramos en la interfaz mediante web desde nuestro servidor indicando nuestra IP local y el puerto 9090. Una vez dentro elegimos idioma.

En el siguiente apartado introduciremos el dominio y los puertos para su administracin por consola

Nos pregunta como queremos realizar la conexin a la base de datos openfire y elegimos estndar.

En el siguiente apartado indicaremos donde se encuentra nuestra base de datos, y el usuario y contrasea

Tras esto, indicamos como queremos que se guarden los datos de grupos y usuarios.

Introducimos los datos del administrador.

Ya hemos terminado la instalacin del servidor.

Creacin de un usuario en openfire

Vamos a crear ahora un usuario

Ahora en nuestro anfitrin descargamos el programa spark para mensajera. Indicamos nuestra cuenta de usuario, contrasea y el servidor (en este caso el router que redirigir directamente al servidor una vez que mapeemos los puertos 5222 y el 5223 que es el seguro).

Vemos como se conecta un cliente desde la red externa (anfitrin) y otro desde la interna.

Instalacin de telefona asterisk

Instalamos el paquete asterisk mediante el comando wgethttp://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.19.1.tar.gz y lo descomprimimos con el comando tar-zxfv asterisk-1.8.19.1.tar.gz Seguidamente me met en el archivo de configuracin sip.conf en el que agregue dos extensiones para que se puedan comunicar entre ellas. Aqu hay que poner que el numero a marcar para conectarse con el, la contrasea, el puerto por el que conecta (es 5060 udp) y luego negamos todos los tipos de conexiones para mas tarde agregar solo el tipo de conexin que nos interese. Qualify se refiere a la latencia (necesita un mnimo de calidad para que el telfono acepte una llamada).

Ahora desde la terminal nos metemos en la consola de linea de comando con asterisk -vvvcUna vez dentro recargamos el archivo sip

De nuevo volvemos a mapear puertos (5060 udp como dijimos antes) para poder acceder desde fuera de nuestra red interna

3xcphone para comunicarnos con asterisk

Lo siguiente es descargarnos el programa 3cxphone en nuestros clientes para poder llamarnos entre nosotros. Una vez instalados toca configurarlos poniendo el nombre de usuario, numero de extensin, identificador, password y direccin del servidor (de nuevo, en nuestro anfitrin pondremos la direccin del router).

Lamentablemente el archivo de configuracin sip estaba mal y tuve que aadir que el tipo de host era dinmico y que los usuarios eran tipo friend.

Ademas, debemos modificar el archivo extensions.conf y aadir lo siguiente.

Desde la CLI podemos observar como alguien esta llamando y le llega a nuestro servidor (letras en amarillo, NOTICE).

Ahora tan solo tenemos que arrancar nuestros telfonos en ambos equipos y teclear el numero de extensin.

Desde la CLI podemos observar como alguien esta llamando y le llega a nuestro servidor (letras en amarillo, NOTICE).

VoIP Buzon de voz.

En nuestro archivo Sip.conf agregamos un mailbox (buzn de llamadas) en ambas extensiones.

Pero esto no es suficiente. Tambin tendremos que entrar en el archivo extesions.conf y bajo la linea de cada extensin, escribiremos que las llamadas que no se cojan tras n tonos vayan al buzon de voz por defecto de cada extensin (no es necesario escribir Exten en cada linea, basta con escribir same y la flechita).

Intente ejecutarlo as, pero segua sin funcionar as que tuve que modificar tambin el archivo voicemail.conf y escribir las siguientes lineas.

Finalmente hacemos la llamada y vemos desde la CLI como carga el buzn de voz

/