Este documento describe el desarrollo de varios servidores en una máquina, incluyendo servidores DHCP, DNS, SSH, HTTP, FTP y de correo electrónico. Explica la instalación y configuración de cada servidor a través de Webmin y la línea de comandos, asignando direcciones IP estáticas y configurando los archivos necesarios para cada servicio.
1. Proyecto Servidores
DHC, DNS, SSH, HTTP, FTP, CORREO ELECTRONICO Y VOZIP
Autores:
Fº Javier Piris da Silva
Tutor: Jorge Simón Guerrero
2. INDICE
Características del Servidor...........................................................................................3
Ip Estática......................................................................................................................3
Webmin.........................................................................................................................4
SERVIDOR DHCP............................................................................................................5
Introducción...................................................................................................................5
Explicación teórica........................................................................................................6
Desarrollo del servidor..................................................................................................6
Conclusión.....................................................................................................................9
SERVIDOR DNS............................................................................................................10
Introducción.................................................................................................................10
Explicación teórica......................................................................................................10
Desarrollo del servidor................................................................................................10
Conclusión...................................................................................................................21
SERVIDOR SSH.............................................................................................................22
Introducción.................................................................................................................22
Explicación teórica......................................................................................................22
Desarrollo del servidor ...............................................................................................28
Conclusión...................................................................................................................44
SERVIDOR HTTP..........................................................................................................45
Introducción.................................................................................................................45
Explicación teorica......................................................................................................45
Desarrollo del servidor................................................................................................47
Conclusión...................................................................................................................64
SERVIDOR FTP.............................................................................................................66
Introducción.................................................................................................................66
Explicación teórica......................................................................................................66
Desarrollo del Servidor................................................................................................67
Conclusión...................................................................................................................75
SERVIDOR DE CORREO ELECTRONICO.................................................................76
Introducción.................................................................................................................76
Explicación teorica......................................................................................................76
Desarrollo del servidor................................................................................................77
Conclusión...................................................................................................................84
2
3. Consideraciones Previas
Características del Servidor
Tenemos un equipo con un procesador Intel Pentium i5 2,76Ghz, una memoria de 2Gb de RAM
DDR3, un disco duro de 20 GB y una red con IP estática.
Ip Estática
Primero ante todo deberemos configurar a nuestro servidor para que disponga una IP fija nos
otros queremos que se 192.168.128.32 para ellos deberemos ir a comandos e introducir el
comando: sudo gedit /etc/network/interfaces y se nos abrirá un fichero de texto que
deberemos modificar. (Ilustración 1)
Ya habiendo modificado varios parámetros e
introduciendo como queremos que sea la línea
deberemos modificar otro fichero mas ya que ahora
mismo dhcp no estaría funcionando con normalidad.
(Ilustración 2)
3
Ilustración 1. IP estática
Ilustración 2. Interfaz red estática
4. Ahora para acceder al archivo ultimo de modificación introduciremos el comando sudo gedit
/etc/resolv.conf
Eso quiere decir que esta correcto la modificación
entonces simplemente reiniciamos la máquina. Con esto
reiniciamos los servicios y veremos que la IP es la
nuestra y podemos navegar sin problemas.
(Ilustración 3)
Webmin
Webmin es una aplicación para la gestión y administración del servidor a través de una interfaz
web, nos permite administrar y configurar sus servicios de modo remoto.
Para la instalación de Webmin deberemos descargarlo, nos es necesario conocer la ruto del
archivo a descargar. (Ilustración 4)
Descargamos el archivo copiando el enlace en nuestro terminal y descargándolo con la orden
“sudo wget enlace “posteriormente lo instalaremos con la orden “sudo apt-get install directorio
donde se encuentra”.
4
Ilustración 3. resolv.conf
Ilustración 4. Webmin
5. Una vez instalado Webmin deberemos acceder a nuestro servidor introduciendo en la barra de
dirección https://localhost:10000. Deberemos registrarnos con nombre del servidor y la
contraseña. (Ilustración 5)
Después de introducir nombre del servidor y la contraseña ya hemos accedido. (Ilustración 6.
Webmin)
Ilustración 6. Webmin
SERVIDOR DHCP
Introducción
5
Ilustración 5. Localhost:1000
6. DHCP es un servicio que ayuda al administrador de la red donde esté instalado ya que asigna
direcciones IP a los equipos clientes que este dentro de un rango predeterminado que crea.
Tener un servidor de estas características instalado facilita el trabajo del administrador ya que
podemos controlar los equipos que tenemos conectados a la red ahorrando tiempo.
Explicación teórica
Un servidor DHCP es un servicio en una red TCP/IP donde esta instaurado un servicio DHCP.
Este servicio espera peticiones por parte del cliente y cuando las recibe el servidor responde
asignando una dirección IP y parámetros de red
El protocolo de transporte que utiliza es UDP ya que necesitamos que la entrega de IP sea lo
más rápido posible. Usa el puerto 67 para el servidor y el puerto 68 para el cliente.
Los parámetros que asigna un servidor DHCP son: la dirección IP, mascara de red, DNS y
puerta de enlace.
Proceso de asignación de una dirección IP
El cliente envía una señal por la red para detectar servidores DHCP con el mensaje
DHCPDISCOVER. Cuando un servidor activo reconoce este mensaje envía su respuesta al
cliente haciendo el ofrecimiento de configuración con el mensaje DHCPOFFER, recibirá tantos
mensajes como servidores hayan. El cliente recibe estas ofertas de configuración y selecciona la
primera valida enviando únicamente al servidor seleccionado el mensaje de DHCPREQUEST.
El servidor que recibe el mensaje envía el mensaje DHCPACK al cliente, este mensaje contiene
los parámetros de configuración de la red junto con la IP asignada. El cliente puede enviar el
mensaje DHCPRELEASE para indicar al servidor que la IP ya está libre.
Desarrollo del servidor.
Instalación del DHCP-Server
Instalaremos y configuraremos un servidor DHCP en Ubuntu, para ello nos será necesario
dhcp3-server, Webmin y Apache2.
6
7. Primero descargaremos desde el modo comando los archivos necesarios, sudo apt-get install
dhcp3-server y sudo apt-get install apache2.
Ahora accederemos al URL https://localhost:10000. Nos iremos al menú de servidores y debería
aparecer la entrada de servidor DHCP. (Ilustración 7)
Ahora nos
dirigimos a la consola y deberemos de modificar un fichero con gedit, pero antes por motivos de
seguridad haremos una copia. Introducimos sudo cp /etc/dhcp3/dhcpd.conf
/etc/dhcp3/dhcpd.conf.20131011 y así si comentemos algún error siempre tendremos el archivo
original. Ahora si podemos modificar el fichero con la orden sudo gedit /etc/dhcp3/dhcpd.conf
y lo modificamos de esta manera y debe de quedar así. (Ilustración 8)
Ya habiéndolo modificado accedemos a la consola y verificamos el status con sudo
/etc/init.d/dhcp3-server status y podremos ver si está parado o en marcha. Posteriormente
introduciremos en caso de que esté parada el comando sudo /etc/init.d/dhcp3-server start para
que empiece a funcionar.
7
Ilustración 7 Dhcp server.
Ilustración 8.dhcpd.conf
8. Abriremos nuestro cliente y verificaremos en la página de Webmin que estamos dando IP.
Podremos ver la información de las IP`s que estamos dando si accedemos al terminal e
introducimos en terminal la orden sudo gedit /var/lib/dhcp3/dhcpd.leases y nos aparecerá un
archivo con la información de los clientes a los que les estamos entregando IP. (Ilustración 9)
Ahora asignamos una IP fija a nuestro cliente previamente instalado debemos configurarlo en el
archivo dhcpd.conf (Ilustración 10)
Ilustración 10. Asignación IP fija cliente
Ahora vamos al cliente para verificar la IP que le estamos dando es la correcta. (Ilustración 11)
8
Ilustración 9.dhcpd.lease
9. Ilustración 11. IP cliente
Si es correcto quiere decir que el servidor esta optimo y está dando la IP que queremos al cliente
que queremos.
Conclusión
Un servidor DHCP me parece muy útil nos ayuda en la configuración de red y nos ahorra
tiempo ya que nos evita ir equipo por equipo configurándolo. Además es flexible a la hora de
configurar la asignación fija de IP a MAC y así independientemente donde se conecte el equipo
en nuestra red se le asignara automáticamente la IP que deseamos.
9
10. SERVIDOR DNS
Introducción
El servidor DNS es el encargado de traducir direcciones IP en nombres de dominio, ya sea que
hagamos peticiones a direcciones ip´s o a nombres de dominio este servidor será el encargado
de dirigirnos y conectarnos a donde deseamos.
Explicación teórica
El servidor DNS es el encargado de gestionar y mantener de forma distribuida las direcciones IP
´s y nombres de dominio. Da un servicio de búsqueda de nombres de dominio y direcciones IP´s
dentro de una red TCP/IP.
Dentro de la red TCP/IP las máquinas están identificadas con direcciones IP´s, para lograr un
sistema más eficiente a las direcciones IP se les asigna un nombre, también llamado nombre de
dominio. El servicio DNS es el encargado de la traducción de estos nombres a IP´s y de IP´s a
nombres.
Desarrollo del servidor
10
11. Instalación de DNS Server
Primero deberemos instalar lo que es el servidor de DNS, para ello utilizamos el comando
"sudo apt-get install bind9" (Ilustración 12. Install bind)
Ilustración 12. Install bind
Cuando hallamos instalado el servidor llega la hora de configurarlo, deberemos dirigirnos a
donde se localiza el archivo a modificar para ello utilizamos el comando " cd /etc/bind/"
cuando ya estemos ubicados en este archivo lo modificaremos introduciendo el comando "sudo
gedit named.conf.options" y se nos abrirá una ventana de texto donde des comentaremos una
parte y la modificaremos con la dirección de nuestra puerta de enlace. (Ilustración 13.
Named.conf.options)
Ilustración 13. Named.conf.options
11
12. Ahora iremos a la ventana de configuración de DHCP para modificar varios parámetros, ya sea
des comentar nuestro nombre de dominio como poner la dirección del servidor de DNS.
(Ilustración 14. Domain-name)
Ilustración 14. Domain-name
Ahora ya podemos crear las zonas, crear alias, servidor de correo y crear las direcciones
inversas y directas.
Primero nos dirigiremos a Webmin (https://localhost:1000) en la pestaña de servidores
seleccionamos DNS BIND y podremos crear las zonas maestras. (Ilustración 15. localhost.DNS)
Ilustración 15. localhost.DNS
12
13. Crearemos primero la zona maestra directa, le daremos a crear e introduciremos el nombre del
dominio, el servidor maestro e introduciremos una dirección de correos. (Ilustración 16. Zona
Maestra)
Ilustración 16. Zona Maestra
Con esto ya tendríamos creado lo que es la zona maestra directa ahora crearemos la zona
maestra inversa, haremos la misma operación pero en los parámetros de nombre de dominio
introducimos 192.168.128 el servidor maestro y el correo electrónico será el mismo y también
en la parte superior "tipos de zona" seleccionamos "inversas". (Ilustración 17.Zona Maestra INV)
Ilustración 17.Zona Maestra INV
13
14. Ahora ya podremos ver que se han creado zonas maestras tanto inversa como directa. (Ilustración
18.Inversa y Directa)
Ilustración 18.Inversa y Directa
El siguiente paso a seguir es la configuración de direcciones y alias, para ello seleccionamos la
zona maestra directa, se nos abrirá una ventana y seleccionamos direcciones. Ahora podremos
crear las direcciones.
Primero crearemos la de nuestro servidor que es server.serejpiris.com con la dirección
192.168.128.32 después la de Windows windows.serejpiris.com con la dirección ip
192.168.128.31 (Ilustración 20) y por último la del cliente Ubuntu que es cliente.serejpiris.com con
la dirección ip 192.168.128.39 (Ilustración 19). También tenemos que asegurarnos que la pestaña
de inversa actualizar está marcada eso nos será muy útil en la configuración de zona maestra
inversa. (Ilustración 21)
Ilustración 19.Datos cliente
14
DIRECTA
INVERSA
15. Ilustración 20. Datos Windows
Ilustración 21.Datos de los 3 registros.
Ahora nos dirigimos dentro de la zona maestra para poder configurar los alias (sirven para poner
más de un nombre a una misma maquina). (Ilustración 22)
Ilustración 22.Alias
15
16. Crearemos 3 alias ftp, web y mail.
Primero creamos el de ftp, ponemos en nombre ftp.serejppiris.com y en nombre real
server.serejpiris.com. (Es importantísimo que finalice en punto), sobre los otros dos alias es la
misma operación. (Ilustración 23)
Ilustración 23.Alias FTP
Ahora vamos a crear un servidor de correo electrónico (Ilustración 24)
Ilustración 24.Correo
Entramos en la opciones de servidor de correo y lo configuramos poniendo en nombre
serejpiris.com. , servidor pondremos meil.serejpiris.com. Le daremos además en la casilla de
prioridad le pondremos 10. (Ilustración 25)
Ilustración 25.Configuracion mail
16
17. Ahora deberemos crear una zona de dirección inversa para ello haremos la misma operación de
cuando creamos la zona maestra, pero tenemos que seleccionar zona inversa, en nombre de
dominio ponemos nuestra ip pero sin el ultimo valor, en servidor maestro poner nuestro servidor
(server.serejpiris.com.) y ponemos nuestra dirección de correos. (Ilustración 26)
Ilustración 26.Zona Maestra INV
Bueno ya tendríamos creada la zona maestra invertida pero se han añadido otros valores ya que
si recordamos cuando hacíamos la zona directa marcábamos actualizar zona inversa gracias a
esto automáticamente se nos ha configurado las inversas. (Ilustración 27)
Ilustración 27.Registros Dirección INV
17
18. El siguiente pasó en modificar el archivo de dhcp3. Desde el terminal con la orden sudo gedit
/etc/dhcp3/dhcpd.conf y la línea que hace referencia al DNS la modificamos poniendo la ip de
nuestro servidor. (Ilustración 28)
Ilustración 28.DHCP3 y IP servidor
Después de modificar este archivo modificaremos también la ip del dns, para ello pondremos el
comando sudo gedit /etc/resolv.conf y le ponemos nuestra ip. (Ilustración 29)
Ilustración 29.IP DNS y resol.conf
Ya con estos parametrso modificados reiniciamos el servidor DNS y si todo ha ido bien nuestro
servidor ya estará resolviendo y funcionando como un servidor DNS.
Si encendemos nuestro cliente y entramos desde el terminal al archivo resolv.conf debe
aparecer la dirección ip de nuestro reciente servidor DNS. (Ilustración 29)
18
19. Ahora comentaremos el archivo bind. Para ello estando en el servidor desde terminal con el
comando sudo gedit /etc/bind/named.conf.local .
Se nos abrirá un archivo y en la zona superior de cada zona pondremos // y a continuación
comentando poniendo a que zona hace referencia. (Ilustración 30)
Ilustración 30.Etc/bind
Después modificaremos el archivo donde se localizan los registros, para ello accederemos desde
el terminal con la orden sudo edit. /var/lib/bind/serejpiri.com.hosts en este archivo observan
os la asociación de direcciones con sus respectivos dominios ya que estamos en este archivo
introducimos la ip del cliente. (Ilustración 31)
Ilustración 31. Gedit del archivo serejpiris.com.hosts
19
20. En el archivo anterior veíamos los registros de la zona directa pero también podemos ver los
registros de la zona inversa con el comando sudo gedit /var/lib/bind/192.168.128.rev y nos
abrirá el archivo con los registros. (Ilustración 32)
Ilustración 32. Gedit del archivo 192.168.128.rev
Ahora reiniciamos el servidor DNS con el comando sudo /etc/init.d/bind9 restart para que se
apliquen las modificaciones realizadas. (Ilustración 33)
Ilustración 33. Bind9 restart
Ahora si queremos podemos ver como resuelve nuestro servidor si le damos un nombre de
dominio. Para ello deberemos poner en terminal nslookup www.terra.es y veremos si resuelve
o no. (Ilustración 34)
Ilustración 34. Prueba nslookup
20
21. Conclusión
El servidor DNS es muy práctico a mí entender ya que es más fácil recordar un nombre más que
una dirección IP, y en este momento hace aparición el servidor DNS darnos una dirección IP
cuando nosotros solo hemos introducido un nombre. Además para temas de seguridad nos
puede ayudar si deseamos confirmar la identidad de un dominio y confirmar que estamos
accediendo al necesario simplemente conociendo su IP nos daría el nombre. Por estos motivos
me parece un servidor muy práctico y de ayuda.
21
22. SERVIDOR SSH
Introducción
Es una herramienta que permite conectarse de modo seguro a otros equipos. Su misión es crear
conexiones remotas. La aportación más importante de SSH es que da soporte seguro a cualquier
protocolo que funcione sobre TCP con criptografía, quiere decirse que toda la información que
se transmite va encriptado. Hay versiones para UNIX, GNU, Windows y Mac OS.
Explicación teórica.
El servicio SSH permite crear conexiones seguras entre maquinas remotas. Utiliza el puerto 22
(TCP y UDP), sigue el modelo cliente/servidor. Permite la autenticación mediante contraseña p
sistema de llaves. Es muy flexible a la hora de compatibilidades ya que se puede integrar con
otros sistemas de autenticación como son Kerberos, PGP o PAM. Además podremos localizarlo
en la mayoría de los sistemas operativos y plataformas.
Gracias a ssh podemos evitar lo que sería la interceptación de la comunicación entre dos
sistemas y la suplantación de un host o enmascaramiento. A día de hoy disponemos de 2
versiones siendo la versión SSH2 la más utilizada.
La forma de comunicarse será creando túneles de SSH, estos túneles serán seguros y por dentro
es por dónde podrán ir los demás protocolos, ya sean telnet, POP3 o FTP con esto conseguimos
la seguridad necesaria para conectarse en remoto.
El proceso comienza con el cliente enviando una petición de conexión TCP sobre el puerto 22
del servidor. El siguiente paso es que servidor y cliente acuerdan la versión de SSH que se
utilizara y también el tipo de cifrado que se utilizara. En cuanto el paso anterior está finalizado
el siguiente paso lo dará el servidor enviando la clave pública, el cliente lo recibe y verifica que
la clave pública la tiene o nos llega a preguntar si la aceptamos en caso de que no la tengamos.
22
23. Ahora generamos una clave de sesión aleatoria, creamos un mensaje con clave y algoritmo
seleccionado; y ahora con la clave pública del servidor encriptamos todo y se lo enviamos al
servidor.
Hay 4 formas de hacer la conexión al servidor SSH; podemos conectarnos mediante cliente
Ubuntu GNU/Linux, desde Nautilus (aplicación de Ubuntu), desde un cliente Windows y desde
el terminal de un cliente.
Cliente Ubuntu GNU/Linux
En la pestaña de Lugares podemos seleccionar la opción de Conectar con el servidor. (Ilustración
35)
Ilustración 35. Conectar con el servidor
Cuando lo seleccionamos se nos abre una ventana. Ahora configuramos la venta para poder
conectarnos mediante SSH al servidor. (Ilustración 36)
Ilustración 36. Conexión mediante SSH
23
24. Ponemos los datos de la dirección ip o dominio de nuestro servidor, tipo de servidor elegimos
SSH, seleccionamos el puerto que por defecto es el 22 y la carpeta, que será en este caso la
carpeta raíz (/). Tendremos que poner también el nombre de usuario y la contraseña y si es la
primera vez que nos conectamos nos dirá que si estamos seguros de aceptar la autenticación le
daremos a que sí y se nos abrirá la venta de la carpeta raíz del servidor. ( Ilustración 37)
Ilustración 37. Ventana carpeta raíz servidor
Nautilus
Pulsando CTRL+L se no sabré una ventana, le introducimos el nombre del cliente dentro del
servidor, la ip del servidor y se conectara. “ssh://servidorlinupiris@192.168.128.32 . (Ilustración
38)
Ilustración 38. CTRL+L Nautilus
24
25. Cuando le demos abrir se nos abrirá la pantalla de la carpeta raíz del servidor. (Ilustración 39)
Ilustración 39. Capeta de servidor Nautilus
Cliente Windows.
Para conectarnos al servidor SSH de Linux deberemos tener la aplicación putty. Configuramos
la aplicación con la dirección IP del servidor, el puerto que utilizaremos para conectarnos que
será el 22 y seleccionamos SSH. (Ilustración 40)
Ilustración 40. Conexión cliente/servidor WIN
25
26. Cuando le demos a Open se nos abrirá una ventana de información indicandonos si queremos
aceptar el certificado, lo aceptaremos. (Ilustración 41)
Ilustración 41. Certificado conexión cliente Windows
Ahora nos pedirá usuario y contraseña para poder autenticarnos y así ya estaríamos conectados
en modo texto. Para salir deberemos poner “exit”. (Ilustración 42)
Ilustración 42. Autenticación desde cliente win
26
27. Otra de las maneras es poder conectarse desde el terminal de Linux. Para ello desde el cliente
introducimos la orden “ssh servidorlinuxpiris@192.168.128.32” nos pedirá la contraseña y
cuando la introduzcamos estaremos conectados, como ya anteriormente habíamos aceptado el
certificado nos conectaremos directamente. (Ilustración 43)
Ilustración 43. Conexión SSH desde terminal Linux
27
28. Desarrollo del servidor
Deberemos instalar desde el gestor de Synactic el servidor SSH. En la zona de búsqueda rápida
pondremos “openssh-“con esto nos acotara la búsqueda de paquetes y descargamos/instalamos
openssh-server, en caso de que ya esté instalado el cuadro aparecerá en verde. (Ilustración 44)
Ilustración 44. Openssh-server
Cuando ya esté instalado podremos comprobarlo desde Webmin ya que en servidores nos
deberá salir, pero antes dentro de Webmin deberemos refrescar los módulos y actualizar la
página para que se vea. (Ilustración 45)
Ilustración 45. SSH desde Webmin
28
29. Copia de archivos de modo remoto desde cliente a servidor y viceversa.
Para hacer copia de un archivo desde el cliente al servidor primero deberemos ir al cliente y
abrir el terminal. Debemos tener muy claro donde se localiza el archivo que queremos copiar
desde el servidor y como llegar a este archivo. Es aconsejable que cuando estemos en el cliente
tengamos abierto dos solapas en el mismo terminal uno del propio cliente y otro donde hallamos
conectado con el servidor. (Ilustración 46)
Ilustración 46. Conexión desde cliente a servidor
Ahora desde el cliente introducimos el comando “scp /home/jpiris/Ecritorio/pruebacleinte.txt
servidorlinuxpiris@server.serejpiris.com:/home/servidorlinuxpiris/Escritorio” con esta orden
copiaremos un archivo de prueba desde el escritorio del cliente al escritorio del servidor.
(Ilustración 47)
Ilustración 47. Comando SCP
29
30. Ahora lo haremos a la inversa desde el servidor copiaremos un archivo al cliente para ello
deberemos introducir el comando “ scp servidorlinuxpiris@server.serejpiris.com:
/home/servidorlinuxpiris/Escritorio/pruebaservidor.txt /home/jpiris/Escritorio. (Ilustración
48)
Ilustración 48. SCP copiar archivo a cliente
Conexión sftp de cliente a servidor
Para ello estando en el cliente en modo comando introducimos la orden “sftp
servidorlinuxpiris@server.serejpiris.com” y así habremos abierto una conexión ftp con el
servidor pero de modo seguro. (Ilustración 49)
Ilustración 49. Conexión SFTP
30
31. Con la orden help podremos ver los distintos comandos que podemos utilizar. (Ilustración 50)
Ilustración 50. Comando HELP en una conexión SFTP
Con los comandos put (Ilustración 52) podemos transferir el archivo del cliente al servidor y con
get (Ilustración 51) podemos transferir archivos del servidor al cliente.
Ilustración 51. Comando GETen conexión SFTP
Ilustración 52. Comando PUT en conexión SFTP
Para salir de la sesión sftp se usa el comando exit, quit o logout
31
32. Conectarse desde cliente Windows a nuestro servidor.
Descargamos la aplicación WinSCP y la lanzamos rellenamos la ip, nombre de usuario y
contraseña. (Ilustración 53)
Ilustración 53. WinSCP
Nos enviara el certificado y le daremos a aceptar. (Ilustración 54)
Ilustración 54. Certificado con WinSCP
32
33. En ese momento nos aparecerá una ventana donde aparece el cliente Windows y el servidor
Linux. Simplemente arrastraremos el archivo que deseamos copiar y nos saldrá un mensaje de
confirmación. (Ilustración 55)
Ilustración 55. Explorador cliente/servidor WinSCP
Le daremos a copiar y ya tendremos el archivo copiado. (Ilustración 56)
Ilustración 56. Copia de archivo con WinSCP
33
34. X Windows
Esta función sirve para abrir aplicaciones del servidor en modo grafico desde remoto. Para ello
deberemos editar el archivo de configuración sshd_config. Buscamos la línea donde haga
mención a X11Forwarding y debe de estar des comentado y con “yes”. (Ilustración 57)
Ilustración 57. Archivo sshd_config en el servidor
Ahora hacemos lo mismo en el cliente. (Ilustración 58)
Ilustración 58. Archivo sshd_config en el cliente
34
35. Ahora nos conectamos con nuestro cliente al servidor. Y lanzamos una aplicación o varias, si
queremos seguir utilizando el terminal para introducir más comando deberemos finalizar con
“&”. (Ilustración 59)
Ilustración 59. Lanzar aplicaciones desde cliente a servidor en modo remoto
Ahora si queremos ver las aplicaciones que están abiertas introducimos ps y saldrán las
aplicaciones que están en funcionamiento. En nuestro caso Xeyes y Firefox. (Ilustración 60)
Ilustración 60. Aplicaciones abiertas en remoto de modo grafico
35
36. Autenticación con contraseña
Primero debemos ir a nuestro servidor y dentro del archivo /etc/ssh/sshd_config tener los
siguientes parámetros puestos:
Port 22
Protocol 2
Hsotkey /etc/ssh/ssh_host_rsa_key
PubkeyAuthentication yes
PasswordAuthentication yes
X11Forwarding yes
Y el cliente Ubuntu tener configurado el archive /etc/ssh/ssh_config con los siguientes
parámetros:
Host *
Port 22
Protocol 2
StrictHostKeyCheking ask
PubkeyAuthentication yes
IndetityFile ~/.ssh/id_rsa
ForwardX11 yes
Ahora nos dirigimos al cliente y abrimos sesión en servidor, nos da el certificado lo aceptamos e
introducimos la contraseña de usuario. (Ilustración 61)
Ilustración 61. Conectarnos cliente/servidor
36
37. Ahora en cambio sí nos volvemos a conectar solo nos pedirá la contraseña ya que el certificado
es el mismo y no ha habido modificación. (Ilustración 62)
Ilustración 62. Conexión cliente/servidor sin contraseña
Autenticación con clave publica
En primer lugar deberemos generar la clave pública/privada para ello abrimos nuestro terminal
y escribimos la orden”ssh-keygen –t rsa” con esto conseguimos que se genera la clave y nos
solicita una frase clave. (Ilustración 63)
Ilustración 63. Generar clave y comando ssh-keygen -t rsa
37
38. Si nos dirigimos al directorio .ssh/ podremos ver las claves que se han creado. Una privada
(id_rsa) y otra publica (id_rsa.pub). (Ilustración 64)
Ilustración 64. Clave pública y privada
Ahora debemos copiar las claves en nuestro servidor. (Ilustración 65)
Ilustración 65. Copia de las claves al servidor
Ahora crearemos una carpeta que valla a contener las claves que se vallan recibiendo de otros
servidores a los que nos conectemos. Es obligatorio poner el símbolo “>>” así todas las claves
que recibamos se guardaran juntas. (Ilustración 66)
Ilustración 66. Creación de carpeta contenedora de claves
Ahora le quitamos los permisos a este archivo creado para que no haya problemas. (Ilustración 67)
Ilustración 67. Quitar permisos a carpeta de claves
38
39. Ahora volveremos a conectarnos y nos pide una contraseña pero en cuanto la introduzcamos ya
no hará falta que la introduzcamos más. (Ilustración 68)
Ilustración 68. Introducción de clave
Conexión entre cliente NX y servidor NX
Primero deberemos instalarnos los paquetes nxnode, nxclient y nxserver en servidor Linux,
después instalaremos el paquete nxclient en el cliente.
La instalación de nxclient en servidor. (Ilustración 69)
Ilustración 69. Instalacion de nxcliente en servidor
39
40. La instalación de nxnode en servidor. (Ilustración 70)
Ilustración 70. Instalacion de nxnode en servidor
La instalación de nxserver en el servidor. (Ilustración 71)
Ilustración 71. Instalacion de nxserver en el servidor
40
41. La instalación de nxclient en cliente. (Ilustración 72)
Ilustración 72. Instalacion de nxclient en cliente
Ahora nos dirigiremos al cliente para iniciar sesión para ello deberemos configurar la sesión
desde NX Connection Wizard. (Ilustración 73)
Ilustración 73. Iniciar sesien de nx en cliente
41
42. Pondremos primero el nombre de la sesión que iniciaremos, el nombre del servidor, el puerto
que usaremos (por defecto será el 22) y el tipo de tecnología que utilizamos (pongamos la que
pongamos no afecta en si a la conexión). (Ilustración 74)
Ilustración 74. Configuracion de conexion en cliente
Elegimos el sistema que utilizamos en nuestro caso UNIX/Gnome (Ilustración 75)
Ilustración 75. Eleccion de sistema para conexion nx
42
43. Ya lo tendremos configurado y podremos darle a ok esta ventana nos permitirá dar mas
opciones gracias a las pestañas de Advanced, Services….. (Ilustración 76)
Ilustración 76. Mas opciones de configuracion
Se nos abrirá una ventana nueva y podremos darle a conectarnos, solo deberemos poner la
contraseña. (Ilustración 77)
Ilustración 77. Conexion desde cliente
43
44. En nuestro caso nos dara un error al parecer al utilizar la versión 3.5 de NX deberemos
registrarnos y comprar una supcripcion del producto para empezar a usarlo. En caso que
tengamos una supcripcion ya estaremos conectados al servidor en modo grafico. (Ilustración 78)
Ilustración 78. Error en la version 3.5
Conclusión
Ssh para mi opinión es un protocolo magnifico para la ayuda al administrador de una red, no
solo le facilita el trabajo pudiendo trabajar en remoto sin tener que desplazarse al servidor o a
cada uno de los clientes sino que ahorra tiempo y eso es importante a la hora de prestar un
mantenimiento a una red.
También nos da ese plus de seguridad a la hora de transferir de maquina a máquina. Poder
utilizar los túneles Ssh me parece una idea buena para las empresas a nivel de trabajo desde casa
pudiendo dar seguridad a todos los datos que manejamos.
En conclusión facilita el trabajo a los administradores y trabajadores que lo utilizan y dificulta la
captura de nuestra información para uso ilícito.
44
45. SERVIDOR HTTP
Introducción
Un servidor Web es un programa que sirve para atender y responder a las diferentes peticiones
de los navegadores, proporcionando los recursos que soliciten usando el protocolo http.
Entre las principales características de un servidor Web están: servicio de ficheros estáticos,
seguridad y autenticación, contenido dinámico, servidores virtuales, actuación como
representantes y protocolos adicionales.
Un servidor Web se encarga de mantenerse a la espera de peticiones HTTP llevada a cabo por
un cliente HTTP que solemos conocer como navegador. El navegador realiza una petición al
servidor y éste le responde con el contenido que el cliente solicita.
Uno de los servidores que más se ha usado, y se sigue usando, es el servidor Apache.
Explicación teorica
Para conocer la forma de funcionamiento del protocolo HTTP iremos al terminal y en modo
comando utilizaremos la siguiente orden. Y nos conectaremos a la pagina de apache.
(Ilustración 79)
Ilustración 79. Conexion a la pagina de apache
45
46. Ahora cuando ya estamos conectados introducimos lo siguiente HEAD / y acontinuacion se
vera toda la información a la que accedemos. (Ilustración 80)
Ilustración 80. HEAD
Con la orden GET / podremos ver el código fuente de la pagina com ovemos acontinuacion.
(Ilustración 81)
Ilustración 81. GET
46
47. Desarrollo del servidor
Para la instalación del servicio HTTP deberemos descargar de synaptic Apache2. (Ilustración 82)
Ilustración 82. Instalacion de apache2
En cuanto lo seleccionemos para instalar se instalara además varios paqutes pertenecientes a
Apache.
Ahora nos dirigimos al terminal introducimos la orden apache2 –v y podremos ver la versión de
apache de la que disponemos. (Ilustración 83)
Ilustración 83. Ver version de apache
Ahora modificamos el archivo /var/www accederemos a el mediante nautilus. (Ilustración 84)
Ilustración 84. Acceso al directorio /var/www/
Aquí podremos mediante código html podremos modificar el mensaje de bienvenida de
localhost.
47
48. Ahora procederemos a crear un usuario llamado alumno1. (Ilustración 85)
Ilustración 85. Creacion de usuario
Ya creado deberemos acceder al usuario para que se creen las carpetas personales y asi el
usuario que hemos creado estará completo. (Ilustración 86)
Ilustración 86. Usuario alumno1 creado
48
49. Ahora iremos al Servidor Web Apache para poder editar los archivos de configuración. Para
ello escogemos la opción de “editar archivos de configuración” (Ilustración 87)
Ilustración 87. Acceso al editor de archivos de configuracion
Buscamos el archivo “userdir.conf” ya que nos indicara donde se guardan las paginas web de
los usuarios. Cuando lo localicemos le daremos a editar directivas. (Ilustración 88)
Ilustración 88. En busca de userdir.conf
49
50. Ahora cuando accedemos al archivo vemos donde se deben de guardar los archivos html
(Ilustración 89)
Ilustración 89. Ubicacion de los archivos html
Lo siguiente que debemos hacer es agregar el modulo userdir del Servidor. Podremos hacerlo en
“Globlal Configuration” y después en “Configurate Apache Modules” (Ilustración 90)
Ilustración 90. Configuracion de modulos de apache
50
51. Ahora activamos la casilla de userdir y lo activamos en la pestaña de abajo. (Ilustración 91)
Ilustración 91.Activacion de caskilla de userdir
Ahora introduciremos una pagina web al usuario alumno1 en la carpeta
/home/alumno1/public_html. La carpeta publi_html deberemos crearla antes. (Ilustración 92)
Ilustración 92. Introducir html en public_html
51
52. Ahora para poder acceder a la pagina web del usuario deberemos introducir la dirección
www.serejpiris.com/~alumno1/ en la barra del navegador. (Ilustración 93)
Ilustración 93. Acceso a la pagina web de alumno1
Ahora modificaremos el alias del usuario alumno1 para que pueda acceder a la pagina sin el
símbolo “~”. Para ello nos dirigimos a “Existing virtual hosts” y seleccionamos Servidor por
Defecto. (Ilustración 94)
Ilustración 94.Modificacion del alias del alumno1
52
53. Dentro del servidor por defecto seleccionamos “Alias y Redireccionamiento” (Ilustración 95)
Ilustración 95. Alias y redireccionamiento
E introducimos la dirección donde se localizan los archivos que pertenecen al usuario alumno1.
(Ilustración 96)
Ilustración 96. Localizacfion de archivos de alumno1
Y asi ahora se puede hacer a la pagina web del usuario alumno1 sin necesidad del símbolo ~
(Ilustración 97)
Ilustración 97. Pagina web sin simbolo ~
Creación de un host virtual
53
54. Para crear un host virtual deberemos acceder a la configuración del Servidor Web Apache y le
daremos a Create virtual host (Ilustración 98)
Ilustración 98. Crear host virtual
Cuando accedamos deberemos poner el nombre del host y carpeta raíz de los documentos.
Deberemos también añadir la dirección del registro en el Servidor DNS (Ilustración 99)
Ilustración 99. Configuracion de host virtual
54
55. En el apartado de selecionar el archivo daremos a los puntos para poder seleccionar la carpeta
que anteriormente deberíamos a ver creado en mi caso será virtualA (Ilustración 100)
Ilustración 100. Creacion de carpeta virtualA
Cuando ya lo hayamos creado deberemos ir al servidor DNS y cuando demos a crear nueva
zona primaria ponemos el nombre dirección y creamos la dirección de registro.
Y ya tenemos creaza la nueva zona creada con las anteriores que teníamos.
Ahora introducimos un archivo HTML en el directorio virtualA
55
56. Ahora reiniciamos el servidor para que los cambios se efectúen y después podremos acceder a la
pagina web.
Autenticación básica en apache2
Para la autenticación en apache2 deberemos ir al Servidor e ir al modulo que se encarga
de la autenticación. Deberemos mirar el modulo de “auth_basic” y fijarnos si esta
activado en caso que no este lo activaremos.
Ahora creamos la carpeta en el directorio /var/www/ y la llamaremos directorio_protegido
56
57. Después de crear la carpeta vamos a Webmin en Otros y Directorios Web Protegidos podremos
seleccionar la opción de agregar protección para un nuevo directorio
Ponemos la ruta del directorio protegido y ponemos el nombre del directorio que hemos creado.
57
58. Ahora vamos a nuestros host virtual y editamos la configuración de directivas
Y le añadimos unos parámetros (en la siguiente imagen aparece)
Ahora vamos al Directoriso WEB y agregamos usuario. Le daremos nombre y contraseña para
que se solicite cuando queramos acceder al directorio.
58
59. Cuando queremos acceder al directorio nos solicitara los datos introducidos anteriormente
Si los datos introducidos son correctos nos permitirá acceder
Seguridad SLL en apache
Para disponer de SLL en apache deberemos activa el modulo correspondiente como hicimos
anteriormente.
59
60. Después de activar el modulo debemos ir al archivo de configuración y confirmar el puerto de
escuchca que es el 443
Despues de confirmar el puerto de escucha creamos una carpeta llamada “htdocs” en la
dirección /var/www/ssl y creamos un host con el puerto 443 y la raíz para el documentos será en
la carpeta anteriormente creada.
Ahora descargamos el paquete que se encarga de los certificados de SLL con la orden
Ahora que ya lo hemos descargado lo descomprimimos y nos da don ficheros y los copiamos
en las rutas correspondientes:
60
61. ssleay.conf copiar en /usr/share/apache2
apache2-ssl-certificate copiar en /etc/apache2
Ahora que ya los tenemos huvicados donde corresponden creamos el certificado con la orden
sudo apache2-ssl-certificate. Nos solicitara que facilitemos unos datos que iremos dando
A continuacion tenemos que crear dos directorios dentro de ssl y en ellos copiaremos el
archivo apache.pem con diferentes nombres.
Ahora debemos crear el archivo serial y añadir el valor “01” y por ultimo copiar el archivo
apache.pem.
Después de copiar el archivo tenemos que agregar la ruta donde esta el certificado dentro de
Webmin en las opciones de SSL
61
62. Ya hemos realizado el paso anterior, pues nos dirigimos a editar el archivo de configuracion de
las Directivas y añadir lo siguiente.
Con esto ya disponemos de una pagina segura, HTTPS.
Accedemos al navegador y vamos a nuestra pagina web y entonces nos ofrecerá el certificado.
62
63. Aceptamos los riegos y añadimos la excepción y nos aparece una nueva ventana donde tenemos
que confirmar la excepción.
Si le damos a ver nos indicara a quien pertenece dicho certificado.
63
64. Cuando ya le hayamos dado aceptar certificado ya estaremos en una pagina web en modo
seguro
Conclusión
64
65. Es una forma fácil de configurar un servidor web de manera sencilla ya sea para crear accesos a
paginas de modo seguro como de poder acceder a paginas web sin seguridad.
Nos da la posibilidad de aprender como se rigen los certificados de SSL de una forma fácil y asi
poder adquirir los conocimientos necesarios para saber el funcionamiento de los certificados
65
66. SERVIDOR FTP
Introducción
El servidor FTP permite mover uno o más archivos con seguridad entre distintos ordenadores
proporcionando seguridad y organización de los archivos así como control de la transferencia,
nos permite la transferencia de archivos de una maquina simplemente disponiendo de una
dirección ip, usuario y contraseña.
Explicación teórica.
El Servidor de FTP proporciona un servicio a través de dos puertos el 20 para transferir
datos y el 21 para transferencia de ordenes.
El cliente se conecta al servidor usando un puerto mayor al 1024 que este lbre y toma el
puerto de destino el puerto 21 del servidor que se mantiene siempre a la escucha.
Una vez la conexión esta establecida podremos usar los comandos u ordenes especificas
de FTP de manejo de archivos y directorios remotos
66
67. Desarrollo del Servidor
Instalación del Servidor FTP
Accedemos al Gestor de Paquetes Synaptic e instalamos el Servidor FTP
Descargamos el modulo de vsftpd. Deberemos acceder a la pagina
http://provider4u.de/downloads.htnl para su descarga.
67
68. Nos dirigimos a Webmin e instalamos el modulo recién descargado desde Configuración de
Webmin y Modulos
Buscamos el modulo que descargamos y lo instalamos.
68
69. Ahora toca configurar el modulo. Nos dirigimos a Servidores vsftpd y accedemos a Generally.
Se nos abre una nueva pagina que deberemos cumplimentar.
A continuación nos dirigimos a Anonymous FTP y dejamos todas las casillas habilitadas.
69
70. Cuando ya tengamos lo de Anonymous FTP tendremos que ir a Local User que también
habilitaremos todas las opciones.
Terminamos con Local User y seguimos con Miscellaneous. Deberemos rellenar el puerto de
escucha que en nuestro caso pondremos 21.
70
71. Ahora vamos a Sistema , Usuarios y grupos
Instalación de Cliente FTP
Deberemos descargar el paquete gftp desde el Gestor de Synaptic desde un cliente Ubuntu.
71
72. Ahora abriremos gftp que acabamos de instalar en el cliente
Después de abrir la aplicación deberremos rellenar los campos con los datos del servidor
72
73. Cuando le demos a conectar si los datos son correctos podremos acceder
Ahora el acceso lo haremos con el usuario Anonymous. Este usuario podrá hacer únicamente a
la carpeta incoming que deberá de tener todos los permisos
73
74. Después del acceso con Anonymous deberemos hacerlo con el usuario alumno1
Iniciar sesión desde terminal
Abrimos el terminal desde el cliente y utilizamos la orden ftp
Ahora introducimos la orden open seguido de la ip del servidor
74
75. Ahora nos pedirá usuario y contraseña tendremos acceso al servidor podremos ver los ficheros
dentro del servidor si utilizamos ls –l
Podemos transferir archivos entre cliente servidor utilizando la orden “get” seguido del archivo
o descargarlo del servidor con “put” seguido del archivo
Conclusión
Es un método rápido y sencillo de conectarse al servidor desde un cliente y poder descargar y
subir archivos, útil para compartir archivos.
75
76. SERVIDOR DE CORREO ELECTRONICO
Introducción
El funcionamiento del servidor de correos es simial a la entrega postal pero en el mundo virtual.
El envio de mensajería no es instantáneo pero permite enviarlos sin necesidad de establecer
conexiones entre usuarios.
Hoy en dia se ha convertido en el mas usado por su sencillez, rapidez y coste que supone lo
único que se solicita es que los usuarios que usen el servicio dispongan de una cuenta o un
buzon alojado en una maquina.
Además de las características por el cual es el mas utilizado permite en envio de archivos
multimedia y de texto simultáneamente.
Explicación teorica
El correo se envía desde el MUA hacia el MTA y se enruta de servidor MTA en servidor MTA
hasta llegar al servidor MTA del destinatario,empleando protocolo SMTP
Despues el MTA de destino entrega el correo al servidor de correo entrante MDA, el cual
almacena el correo en el buzon del usuario.
El cliente de correo MUA accede al buzon para leer el correo empleando protocolo POP o
IMAP
Los MDA están protegidos pòr nombre de usuario y contraseña.
76
77. Desarrollo del servidor
Instalación de MTA “Postfix”
Primero deberemos descargar el agente desde Synaptic y buscamos el paquete correspondiente a
“postfix”
En el trascurso de la intalacion nos solicitara que configuremos ciertos aspectos para su
funcionamiento. El primero que no solicita es indicar el tipo de configuración que deseamos.
77
78. Seguidamnete deberemos introducir el nombre de nuestro dominio
Si se a instalado nos parecerá el cuador que le identifica en Synaptic en verde
78
79. Instalación de MDA
Ahora instalaremos el agente de entrega de correo. Necesitaremos descargar el paquete
“devecot-postfix” desde Synaptic
Cuando ya estén instalados nos dirigimos a Webmin para confirmar su instalación
79
80. Envio de correo con “postfix”
Ahora accedemos a configuración de Postfix dentro de la lista de servidores. Y nos dirigimos al
menú de User Mailboxes.
Seleccionamos nuestro usuario
80
81. Y nos aparecerá una ventana donde podremos rellenar ciertos campos. Este correo pondremos
que se envie al usuario alumno1.
Cuando ya este enviado volvemos a la lista de usuarios y veremos que el usuario alumno1 le
llego el correo anteriormente enviado.
81
82. Ahora utilizamos el dominio del Servidor para enviar un correo al usuario alumno1
Ahora nos dirigimos a la lista de usuarios de nuevo y seleccionamos el usuario alumno1 y
confirmamos que ya dispone de un segundo correo
82
83. Congiguracion de Cliente de Correo en el Servidor
Nos dirigimos a aplicaciones, oficina, correo y calendario de Evolution
Aparece una nueva ventana del asistente de configuración de Evolution cuando ya lo hayamos
instalado nos parecerá un certificado que deberemos de aceptar.
83
84. Después de ceptar el certificado deberemos poner la contraseña del usuario.
Con esto ya tendríamos configurada nuestra cuenta de correo de Evolution.
Conclusión
Una manera practica de disponer de cuentas propias de correo, para un entorno empresarial.
Fácil de configurar y de administrar.
84