Вы находитесь на странице: 1из 26

I.E.

S JAUME II EL JUST Especialidad Administracin de Sistemas en Red Curso 2 ASIX ASIGNATURA SERVICIOS DE RED E INTERNET

Autor: NSTOR PASTOR PIERA

Tavernes de la Valladigna 9 de Marzo de 2013

INDICE Introduccin ................................................................................................................................... 3 Instalacin Ubuntu 10.04 ............................................................................................................... 4 Servidor DNS Bind9 ...................................................................................................................... 9 Servidor WEB Apache .................................................................................................................. 13 Servidor DHCP ............................................................................................................................. 18 Servidor SSH ................................................................................................................................ 19 Servidor FTP ................................................................................................................................. 21

2 de 26

INTRODUCCIN

Para el desarrollo del proyecto he elegido la distribucin Ubuntu 10.04 virtualizada mediante Vmware. Me he decantado por esta distribucin por ser la misma que he empleado en las dems prcticas. El primer paso es difinir el hardware a virtualizar.

Una vez definido el hardware instalaremos Ubuntu 10.04 en nuestra mquina virtual e iremos instalando y configurando un servidor dns, un servidor web con diferentes sitios, un servidor dhcp, un servidor ssh y un servidor ftp.

3 de 26

UBUNTU 10.04 Una vez que hemos definido el hardware a virtualizar iniciamos la instalacin del sistema operativo. Para ello asignamos al lector de dvd virtual un soporte externo donde elegimos la iso del SO que deseamos instalar e iniciamos la mquina.

Iniciamos la mquina virtual desde la iso y lo primero que nos pregunta es si queremos ejecutarla en modo live o instalarla.

4 de 26

La instalacin es muy sencilla, nicamente hay que leer con detenimiento y elegir las opciones deseadas.

Eleccin de la distribucin del teclado; por defecto nos sugiere el estndar de Espaa. La zona horaria, que en mi caso es Espaa(Madrid).

5 de 26

El nombre del equipo, del usuario y la contrasea. Podemos elegir entre iniciar sesin con o sin autenticacin.

Llegados a este punto hay que decidir si instalamos el SO directamente o creamos particiones en el disco duro para gestionar mejor el sistema.

6 de 26

En este caso he creado particiones en funcin de las necesidades observadas:

Puntos de montaje: / o raz: Es la raz del rbol de directorios, desde donde se ramifica todo el sistema operativo. /home: Corresponde a la particin de datos de usuarios. Es donde se colocan las carpetas para cada usuario con los perfiles de cada cuenta. En este caso puesto que vamos a instalar un servidor ftp con usuarios de sistema enjaulados, es lgico tratar el home como la particin que almacenar todos los datos subidos por el servidor ftp, as que adems de ser una particin independiente deber ocupar casi la mitad de la capacidad disponible. /var: Corresponde a la particin de datos de servicios. En esta particin se encuentran todos los datos relacionados con el servidor Apache que instalaremos ms tarde, tales como documentos web, imgenes, archivos temporales del servidor web, backups, etc... Esta particin tambin necesitar mucho espacio por lo general, aunque depender de cada caso, le asignamos casi la mitad de la capacidad total de almacenamiento. swap: Espacio fsico para la memoria virtual del sistema. Debe asignarse el doble del tamao del RAM fsico. Esta ser siempre la ltima particin del disco duro. No se asigna punto de montaje. Es importante particionar el disco duro por varios motivos. Imaginemos que por un error de administracin permitimos que los usuarios ftp ejecuten transacciones sin lmite de subida. Podramos ocupar todo el espacio disponible, saturar los servicios activos e incluso el sistema, comprometiendo su disponibilidad. Los clientes que dependen de este equipo para resolver dominios no podran navegar, los usuarios de ftp no seran capaces de descargar o subir datos, las pginas web alojadas en esta mquina no estaran disponibles y el servidor dhcp no asignara ips. Un caos total. 7 de 26

Una vez definido el particionado puede empezar la instalacin.

La instalacin termina y ya podemos iniciar sesin.

Antes de empezar a instalar los diferentes servicios hay que modificar dos archivos: /etc/resolv.conf /etc/network/interfaces 8 de 26

Editamos el archivo /etc/network/interfaces y asignamos las ip esttica, mscara de red y puerta de enlace. En este caso he definido dos interfaces de red sobre una misma tarjeta (eth0 y eth0:1). En /etc/resolv.conf definimos el dominio de bsqueda NPprojecte.es y una ip para el reenvo en caso de no resolver una peticin dns. Para evitar que el archivo /etc/resolv.conf sea reescrito por el network-manager hay que parar este servicio: sudo /etc/init.d/network-manager stop Es importante reiniciar los servicios cada vez que cambiamos su configuracin, este caso el servicio de red: sudo /etc/init.d/networkin restart Hecho esto, podemos empezar a instalar y configurar los diferentes servicios que prestar la mquina. SERVIDOR DNS BIND9

Con un ping a www.google.es comprobamos que tenemos conexin a internet, la configuracin es correcta. Descargamos el paquete bind9 y algunos otros paquetes adicionales de los cuales nos avisa el gestor dpkg. 9 de 26

Una vez instalado debemos crear los archivos que bind9 utiliza para resolver dominios e ips.

El archivo /etc/bind/directa.db servir para las resoluciones directas y en l incluimos todos los dominios a resolver con sus respectivas ips. He definido el servidor dns ns1.NPprojecte.es, el servidor web con dos dominios www y virtual con la misma ip ya que montaremos dos VH basados en nombre, y tres clientes.

En el archivo /etc/bind/inversa.rev servir para resolver de manera inversa, con la ip resolver el dominio, y en el asociamos la ips con los nombres de dominio de las mquinas.

10 de 26

Tambin hay que modificar el archivo /etc/bind/named.conf.options, en este archivo ponemos la directiva forwarders para permitir el reenvo en caso de no poder resolver.

Reiniciamos el servicio: sudo /etc/init.d/bind9 restart Con la herramienta nslookup podemos comprobar que el servidor dns resuelve de forma directa.

11 de 26

Y de forma inversa.

Puesto que el servidor dns resuelve correctamente slo nos queda comprobar que el reenvo tambin se haga correctamente.

Y efectivamente tras hacer ping tanto a www.NPprojecte.es como a www.google.es comprobamos que se los nombres de dominio son resueltos.

12 de 26

SERVIDOR WEB APACHE2 Instalamos los paquetes necesarios.

El archivo principal de configuracin es /etc/apache2/apache2.conf aunque para este proyecto no necesitamos modificarlo.

Como vemos el servidor ya responde por el puerto configurado por defecto (80). Ahora vamos a crear y configurar los virtual host segn nuestras necesidades. Modificamos el virtual host default para que se atiendan las peticiones por el puerto 85, para esto hay que modificar la directiva Listen <puerto>, que se encuentra por defecto en el archivo /etc/apache/ports.conf; por comodidad yo lo que hago es comentar esta directiva en este archivo y colocarla en el archivo /etc/apache/sites-avaliable/default. Adems hay que aadir autenticacin para varios usuarios, pero ojo que no son de sistema, sino nicamente para apache. Algunas funcionalidades de Apache no vienen compiladas por defecto y hay que cargarlas para poder utilizarlas, se conocen como mdulos. En la carpeta /etc/apache/mods-avaliable tenemos un montn de ellos. Puesto que para la autenticacin he optado por el mtodo digest, tengo que cargar el mdulo correspondiente. 13 de 26

Este mtodo aporta un cifrado en el proceso de autenticacin, tambin podra haber utilizado basic que est disponible por defecto. Creamos el directorio /etc/apache/passwd/, en este directorio vamos a crear un archivo oculto con una lista de usuarios que podrn acceder a nuestro sitio default. El comando para crear la lista de usuarios por el mtodo digest es htdigest.

El archivo ya est creado, ahora aado las directivas al archivo default.

He aadido el puerto, la direccin ip, nombre de dominio, un alias, la raiz del sitio y las directivas de autenticacin. Si la lista de usuarios se limitara a un slo usuario modificaramos la directiva Require valid-user a Require <nombre_usuario>. Despus de reiniciar Apache accedemos desde el navegador a nuestro sitio web por el puerto 85 y nos debe pedir autenticacin.

14 de 26

Ahora vamos a crear otro VH basado en nombre, este sitio tendr otra raz con su pgina por defecto y dos carpetas personales para dos usuarios con sus pginas correspondientes. El hecho de que sea un VH basado en nombre quiere decir que no cambiamos la ip y el puerto sino el nombre de dominio del sitio. Adems crearemos varios usuarios de sistema para que tengan su propio contenido web en su carpeta personal. /home/<nombre_usuario>/www

Creamos los documentos html que van a ser mostrados por defecto para cada usuario.

Y lo mismo para el usuario Cliente2NP. Ahora creamos el nuevo VH, podramos ponerlo en el archivo default pero yo prefiero crear otro archivo que llamar virtual.

15 de 26

Le asignamos la raz Document Root al VH, misma ip y puerto que al VH default y modificamos el nombre de dominio. Adems incluyo dos alias a los usuarios cliente1P y cliente2P para evitar poner ~ en la url. www.NPprojecte.es:85/~cliente1NP Recordemos que tenemos que cargar el VH con el comando a2ensite. Este VH nos gestiona tres sitios web. /var/www/virtual/<sitio_default> / home/cliente1NP/www/<sitio_cliente1> /home/cliente2NP/www/<sitio_cliente2> Para gestionar los usuarios activamos el mdulo userdir.

Y modificamos su archivo de configuracin /etc/apache/mods-avaliable/userdir.conf

Userdir utiliza como raz por defecto public_html as que debemos indicarle la que se ajuste a nuestras necesidades, en este caso Userdir www. Ahora podemos alojar diferentes webs para diferentes usuarios en sus carpetas www y para acceder a estos sitios utilizaremos la direccin virtual.NPprojecte.es:85/cliente1NP o virtual.NPprojecte.es:85/cliente2NP.

16 de 26

Por ltimo creamos un VH seguro tambin basado en nombre, el cual utiliza el puerto 443 para transferencias seguras.

De nuevo la misma ip, puerto 443 seguro, nombre de dominio sobre el que activamos el protocolo seguro y raz que en este caso es /var/www/secreta. El protocolo seguro ssl utiliza certificados y pares de claves para su funcionamiento, en este caso yo he dejado los que hay por defecto pero podramos personalizarlo creando nuestros propios certificados y claves mediante la herramienta openssl.

No hace falta poner el puerto 443 ya que queda implcito por el uso del protocolo https. Aceptamos y accedemos a la web.

17 de 26

SERVIDOR DHCP Instalamos el servidor.

Una vez instalado se intenta arrancar el servicio automticamente pero como es normal no arranca. Para poder iniciarlo hay que configurarlo correctamente. Estas son las directivas que he modificado.

18 de 26

Dominio al que pertenece la mquina e IP del servidor de dominios.

Rangos de Ip's que podr asignar a los clientes, red a la que pertenecen y puerta de enlace.

Reserva de ip, la cual va asociada a una direccin mac en concreto. SERVIDOR SSH El paquete openssh-server viene instalado por defecto en Debian, as que podemos pasar a su configuracin directamente. Editamos el archivo /etc/ssh/sshd_config

No permitimos loguearse al usuario root y establecemos en 5 segundos el mximo tiempo permitido para autenticarse.

19 de 26

Podemos activar el mensaje de bienvenida o incluso personalizarlo. Ahora creamos el par de claves.

Creo un par de claves pub/priv con el tipo de cifrado dsa En este caso cuando pide la frase de paso la dejo en blanco, as cuando utilicemos la clave pblica no nos pedir la frase de paso.

Ya tenemos la clave pub en nuestro directorio local. /home/proyecto/.ssh/id_dsa.pub

La copiamos a la carpeta ./ssh del directorio local del usuario proyecto en la mquina remota a la que queremos conectarnos sin introducir el password. Nos pide autenticacin.

20 de 26

Introducimos la clave pblica en un archivo de claves autorizadas, para permitir la conexin sin autenticacin.

Finalmente establecemos una conexin ssh con el usuario proyecto al host 192.168.221.150 sin autenticarnos mediante password. SERVIDOR FTP Instalamos el paquete vsftpd.

21 de 26

Puesto que queremos poder realizar conexiones seguras al servidor ftp, vamos a crear un par de claves y un certificado.

Mediante la herramienta openssl le indicamos que queremos crear un certificado con una validez de 365 das firmado con una clave del tipo rsa de 1024 bits. La clave privada se guardar en el archivo /etc/ssl/private/ftp.key y el certificado en el archivo /etc/ssl/private/ftp.crt Editamos el archivo de configuracin /etc/vsftpd.conf y modificamos algunas directivas segn nuestras necesidades.

Permitimos a los usuario annimos conectarse y ejecutar acciones que conlleven escritura. Adems permitimos tambin loguearse a los usuarios del sistema.

22 de 26

Permitimos a los usuarios annimos subir archivos y crear directorios, lgicamente debemos crear un directorio con permisos de escritura para el usuario ftp en la raz del servidor en Debian /srv/ftp.

Habilitamos el enjaulado para los usuarios del sistema de manera que no podrn salir de su carpeta personal y creamos una lista con los usuarios que si pueden salir de su carpeta personal /home/<usuario>. Debemos crear el archivo /etc/vsftpd.chroot_list donde ponemos la lista. Hay que tener en cuenta que los permisos de los usuarios que accedan por ftp sern los mismos que tengan sus respectivos usuarios de sistema. Con estas directivas existen varias combinaciones. Por ejemplo si le asignamos un No a la directiva chroot_local_user la lista sera de usuarios enjaulados. En este caso la lista es de usuario no enjaulados.

Por ltimo aadimos las directivas para las conexiones seguras por el mtodo explcito e implcito. Si queremos conectarnos mediante ftpes (explcito) debemos comentar las directivas implicit_ssl=YES y listen_port=990. Reiniciamos el servicio y probamos con un cliente ftp como por ejemplo el Filezilla.

23 de 26

Conexin ftps (implcita).

Conexin ftpes (explcita). Adems deberemos poder conectarnos con un ftp implcito, con el usuario apellido, i contrasea 12345. Para ello creo el usuario alumno.

24 de 26

Modifico el archivo /etc/vsftpd.conf para permitir conexiones implicitas.

Reinicio el servicio y pruebo este tipo de conexin.

Los usuario annimos tambin pueden acceder de firma directa o explcita, pero nunca de forma implcita.

25 de 26

26 de 26

Вам также может понравиться