UNIVERSIDAD POLITÉCNICA SALESIANA Ingeniería electrónica electrónica Nombre: Pablo Roberto Yépez Pulles Nivel: 7mo “Telecomunicaciones” Tema: IMPLEMENTACIÓN DE SERVICIOS DHCP, FTP, DNS Y WEB EN UN SISTEMA OPERATIVO GNU/LINUX. Objetivo General: Utilizando una PC como servidor, instalar e implementar los servicios de FTP y WEB. Objetivos Específicos:
Abstracto:
Implementar DHCP en un servidor con OS Centos, para que un cliente pueda tener acceso a ello de forma automática. Tener acceso a recursos guardados en un servidor mediante una sesión FTP. Configurar un servidor DNS para poder resolver nombres de dominio solicitados por un cliente web. Tener acceso desde un web browser a una página web localizada en un servidor.
Abstracto: En una PC con OS Centos v5.6 procedemos a levantar el servicio DHCP, para lo cual primero debemos asignar una dirección IP estática. Mediante la interface gráfica del escritorio GNOME v2.14 configuramos la dirección IP con los siguientes pasos:
En el panel superior seleccionar: Sistema, Administración y Red. Elegir la interface física de red que se utilizará.
Seleccionar: Configurar las direcciones Ip de manera estática. E ingresarlas.
Aceptar y salir de las configuraciones de red. Abrir una terminal y ejecutar: service network restart, para reiniciar las conexiones de red.
IMPLEMENTANDO DHCP
Verificar si está instalado el demonio DHCPD en nuestra PC con: service dhcpd status, si no lo está la podemos descargar e instalar desde los repositorios de Linux con: [root@localhost doc]# yum install dhcp Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.team-cymru.org * extras: mirror.team-cymru.org * updates: centos.mirror.netriplex.com base | 1.1 kB 00:00 extras | 2.1 kB 00:00 updates | 1.9 kB 00:00 updates/primary_db | 281 kB 00:06 Setting up Install Processdhcp-3.0.5 Resolving Dependencies --> Running transaction check ---> Package dhcp.i386 12:3.0.5-29.el5_7.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================== Package Arch Version Repository Size ================================================================================== Installing: dhcp i386 12:3.0.5-29.el5_7.1 updates 873 k Transaction Summary ================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total download size: 873 k Is this ok [y/N]: y Downloading Packages: dhcp-3.0.5-29.el5_7.1.i386.rpm Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded
| 873 kB
00:13
Running Transaction Installing : dhcp
1/1
Installed: dhcp.i386 12:3.0.5-29.el5_7.1 Complete!
Configurar los parámetros de asignación dinámica mediante la edición del archivo “dhcpd.conf”con el editor de texto “gedit” basándonos en un ejemplo que tenemos disponible en la ubicación: “/usr/share/doc/dhcp*/dhcpd.conf.sample”. [root@localhost doc]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf [root@localhost doc]# gedit /etc/dhcpd.conf
Nuestro pool de direcciones es el rango [192.168.0.2-192.168.0.20] Iniciar el demonio DHCPD con: [root@localhost dhcp-3.0.5]# service dhcpd start Iniciando dhcpd:
Conectamos otra PC (con OS Windows 7 y configurada su dirección Ip de manera dinámica) a nuestro servidor dhcp mediante cable cruzado UTP cat 5E.
Ir a centro de redes y recursos compartidos en el cliente Windows para verificar la dirección IP que ha sido asignada, y en una pantalla de comandos hacer ping a nuestro servidor para comprobar la red.
Abrir una terminal en el servidor linux y hacer ping al cliente.
**********LISTO, NUESTRO SERVIDOR YA TIENE LEVANTADO DHCP**********
IMPLEMENTANDO FTP
Descargar o actualizar el demonio “vsftpd” desde los repositorios de Linux y seguir todo los pasos siguientes: [root@localhost doc]# yum -y install vsftpd Editar el archivo “vsftpd.conf” en el cual configuramos las seguridades, los usuarios y los directorios a los que se tendrá acceso con: [root@localhost doc]# gedit /etc/vsftpd/vsftpd.conf
Crear la lista de usuarios que tendrán acceso al servicio ftp y agregarlos: [root@localhost doc]# touch /etc/vsftpd/chroot_list
[root@localhost ]# adduser usuario1 -d /var/www/usuario1/ -g ftp -s /sbin/nologin [root@localhost ~]# adduser usuario2 -d /var/www/usuario2/ -g ftp -s /sbin/nologin [root@localhost ~]# passwd usuario1 [root@localhost ~]# passwd usuario2 [root@localhost ~]# gedit /etc/vsftpd/user_list
Dar permisos a los archivos que se tendrá acceso:
[root@localhost ~]# cd /var/www/ [root@localhost ~]# chown -R usuario1 usuario1 [root@localhost ~]# chmod -R 755 usuario1 [root@localhost ~]# chown -R usuario2 usuario2 [root@localhost ~]# chmod -R 755 usuario2 Iniciar el demonio “vsftpd” ejecutando: [root@localhost doc]# service vsftpd start
En la carpeta “/var/www/usuario1” y “/var/www/usuario2” colocar todos los archivos que tendrán acceso los usuarios 1 y 2 respectivamente:
Para tener acceso al servicio FTP, en el cliente Windows ejecutar el comando “ftp” seguida de la dirección IP de nuestro servidor FTP, autenticarse y mediante una amplia selección de comandos que admite la sesión ftp, podremos navegar y tener acceso a los recursos permitidos por el servidor.
*********LISTO, NUESTRO SERVIDOR YA TIENE LEVANTADO EL SERVICIO FTP********
IMPLEMENTANDO DNS Para acceder a una página web (desde un cliente) con solo ingresar la dirección URL (nombre de dominio) en nuestro web browser, es necesario recurrir primero a un servidor DNS para que nos traduzca estos dominios a direcciones IP y de esa forma la red sabe donde buscar ese recurso (las máquinas se entienden por números y no por nombres). Entonces debemos seguir los siguientes pasos para levantar nuestro servicio DNS:
Instalar o actualizar los paquetes de DNS de nuestro OS (Centos v5.6). Una forma de hacerlo es descargándolos desde los repositorios de Linux en la red con el siguiente comando: [root@localhost ~]# yum -y installbind bind-chroot bind-libscaching-nameserver
Editar el archivo de configuración de DNS ubicado en la carpeta “/var/named/chroot”. [root@localhost ~]# gedit /var/named/chroot/etc/named.conf
Ingresar en la zona directa el nombre de dominio que para este ejemplo es “pablocorp.com”, tipo de servidor y la ruta del archivo de la configuración de la zona
directa. Ingresar en la zona inversa el nombre de zona inversa “0.168.193.in-addr.arpa”, tipo de servidor y la ruta del archivo de la configuración de la zona inversa.
Cambiar el propietario del archivo “named.conf” a root y al grupo named. [root@localhost ~]# chown root.named named.conf
Crear los archivos de configuración de zona directa e inversa basándonos en un ejemplo disponible en la ubicación “/var/named/chroot/var/named/” [root@localhost ~]# cd /var/named/chroot/var/named/ [root@localhost named]# cp named.local directa [root@localhost named]# cp named.local inversa
Editar cada uno de los archivos creados.
[root@localhost ~]# gedit /var/named/chroot/var/named/directa [root@localhost ~]# gedit /var/named/chroot/var/named/inversa
Ingresar el parámetro SOA que nos identifica a nuestro servidor como autoritario en el dominio pablocorp.com, definir nuestro servidor DNS “IN NS ns1.pablocorp.com”, asignarle una dirección IP “ns1 IN A 192.168.0.1” y agregar nuestro recurso we b que será
explicado en la siguiente etapa de este informe.
Ingresar el parámetro SOA que nos identifica a nuestro servidor como autoritario en el dominio pablocorp.com, definir nuestro servidor DNS “IN NS ns1.pablocorp.com”y colocar el nombre de dominio para que pueda encontrarlo a la inversa( mediante la dirección IP) “ns1 IN PTR ns1.pablocorp.com“.
Cambiar el propietario del archivo “named.conf” a root y al grupo named. [root@localhost named]# chown root.named directa [root@localhost named]# chown root.named inversa Editar el archivo “resolv.conf” que resuelve el nombre de dominio con la dirección IP de
nuestro servidor DNS.
Iniciar el demonio “named”. [root@localhost named]# service named start
Verificar nuestro servidor dns con la aplicación “nslookup”
Verificar el servicio DNS desde el cliente.
*************LISTO YA ESTÁ LEVANTADO NUESTRO SERVIDOR DNS*************
IMPLEMENTANDO SERVICIO WEB
Instalar o actualizar el demonio httpd, una de las opciones es descargarla directamente desdesde los repositorios de Linux en la red mediante: [root@localhost /]# yum install httpd Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: repo.genomics.upenn.edu * extras: centos-mirror.hostdime.com.br * updates: centos-mirror.hostdime.com.br ftp://repo.genomics.upenn.edu/centos/5.7/os/i386/repodata/repomd.xml: [Errno 4] IOError: [Errno ftp error] (111, 'Conexi\xc3\xb3n rehusada') Trying other mirror. base | 1.1 kB 00:00 extras | 2.1 kB 00:00 updates | 1.9 kB 00:00 updates/primary_db | 303 kB 00:06 Setting up Install Process Package httpd-2.2.3-53.el5.centos.3.i386 already installed and latest version Nothing to do
Editar el archivo de configuración web “ httpd.conf”. [root@localhost~]# gedit/etc/httpd/conf/httpd.conf Buscar la línea “NameVirtualHost *:80 y descomentarla.
Crear la carpeta donde estará ubicado nuestro sitio web en la ubicación “/var/www/html [root@localhost html]# mkdir sitio1
Crear el archivo “index” dentro de esta carpeta, en lenguaje html, el cual es nuestra página web a mostrar. [root@localhost sitio1]# gedit index.html
Crear el archivo de conficuración principal del sitio web “pyhacking.conf”en la ubicación “/etc/httpd/conf.d/”. [root@localhost conf.d]# gedit pyhacking.conf
Agregar el recurso web al DNS. [root@localhost conf.d]# gedit /var/named/chroot/var/named/directa
CNAME es para indicar que hay múltiple servicios en el mismo servidor Reiniciar el servidor DNS [root@localhost conf.d]# service named status number of zones: 2 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF recursive clients: 0/1000 tcp clients: 0/100 server is up and running Se está ejecutando named (pid 16674)... [root@localhost conf.d]# service named restart Deteniendo named: . [ OK ] Iniciando named: [ OK ]
Iniciar el demonio httpd.
[root@localhost conf.d]# service httpd status httpd está parado [root@localhost conf.d]# service httpd start Iniciando httpd: [ OK ]
En el cliente ingresar la dirección URL www.pablocorp.com en el browser y verificar los resultados.
*******************LISTO NUESTRO SERVIDOR WEB TRABAJA EXCELENTEMENTE********************
CONCLUSIONES
Entre los pasos más importantes de la configuración de los diferentes servidores está el dar atributos a los archivos de configuración, a las listas de usuarios y la declaración de propietarios. De no ser así nuestro OS nos mostrará ERROR cada vez que inicialicemos los servicios requeridos. Es necesario poner seguridades de alto nivel cuando se levanta servicios, porque una vulnerabilidad pasada por alto sería causa de ataques a nuestro servidor, el cuál posee información confidencial para sus usuarios.
Recomendaciones:
Guardar siempre una copia de los archivos originales de configuración cuando editemos estos, porque es necesario tener un respaldo en caso los modifiquemos incorrectamente.
Bibliografía:
Isaac´s BLOG, Isaac's BLOG Telecomunicaciones VoIP Linux Java Nuevas Tecnologias, Entretenimiento Personal, 07/07: Levantar un Servidor FTP para dar accesos a un programador y un diseñador en una web, Autor: Ing. Isaac Fernandez Baca, Pontificia Universidad Católica del Perú, Fecha de publicación: diciembre del 2001, Fecha de consulta: 2011-11-14, link: http://blog.pucp.edu.pe/item/25789/levantar-un-servidor-ftppara-dar-accesos-a-un-programador-y-un-disenador-en-una-web. alcance libre.org, Cómo configurar vsftpd (Very Secure FTP D aemon), Autor: Joel Barrios Dueñas, Última actualización: 2011-10-20, Fecha de consulta: 2011-10-22, link: http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd. Scribd.com, Tutorial Instalacion y Configuracion Servicio Dns Centos 5.4, Autores: FELIPE PANIAGUA V.JHON ALEXANDER PEREZ, Medellín-Antioquia, Fecha de consulta: 2011-1114, link: http://www.scribd.com/doc/47721153/Tutorial-Instalacion-y-ConfiguracionServicio-Dns-Centos-5-4. gnunick.blogspot.com, INSTALANDO UN SERVIDOR WEB EN CENTOS, Fecha de publicación: 2011-03-10, Fecha de consulta: 2011-11-14, link: http://gnunick.blogspot.com/2011/03/instalando-un-servidor-web-en-centos.html. Scribd.com, tutorial web, Autores: FELIPE PANIAGUA, Medellín-Antioquia 2010, Fecha de consulta: 2011-11-14, link: http://www.scribd.com/doc/47933960/tutorialweb.