Está en la página 1de 18

TALLER AUTODIAGNOSTICO SERVIDORES

POR

RICARDO ANDRES CANO

CODIGO 

20111

ADMISNSTRACION DE REDES 

PROFESOR 

CAMILO ZAPATA

CENTRO DE SERVICIOS Y GESTION EMPRESARIAL

SERVICIO NACIONAL DE APRENDIZAJE SENA

MEDELLIN 

2010
PROBLEMA PLANTEADO

La empresa IT­SENA ofrece servicios de Hosting para el alojamiento de aplicaciones WEB. 
En días recientes la empresa adquirió un nuevo servidor bajo Linux con el objetivo de 
configurar los siguientes sitios WEB para sus clientes:

Cliente 1:

Dos sitios web, www.galileo.lab y sec.galileo.lab. Estos sitios Web deben estar alojados en la 
misma dirección IP. El sitio www.galileo.lab será de acceso publico, mientras que el sitio 
sec.galileo.lab solo deberá estar disponible para una lista de usuarios con contraseñas que el 
cliente dispondrá.

Cliente 2:

Dos sitios web, www.voyager.star y conf.voyager.star. El primer sitio (www.voyager.star) será 
usado para fines de divulgación, por lo tanto será de acceso público, mientras que el segundo 
sitio (conf.voyager.star) solo deberá estar disponible desde las direcciones IP especificadas 
por el cliente. El cliente requiere que los sitios esten alojados en dos direcciones IP distintas, 
y sobra especificar que estas direcciones deben ser diferentes a cualquier Dirección IP 
empleada con cualquier otro cliente.

La empresa IT­SENA ofrece a sus clientes la posibilidad de actualizar sus sitios web a través 
de FTP, al cual pueden acceder solo después de autenticarse con una credencial 
administrativa.

La Administración Remota del Servidor, por parte de IT­SENA, deberá contar con una 
conexión segura a través de SSH. El login remoto solo será permitido a un usuario específico 
sin privilegios, y solo desde este usuario se puede tomar control administrativo del sistema.
SOLUCION DEL PROBLEMA PLANTEADO

La solución del problema planteado requiere que el servidor, tenga un sistema operativo 
Linux por lo cual se utilizara la distribución 9.04 del Ubuntu.  Por esto para la instalación de 
los servicios se requerirá de la actualización de los repositorios como primer paso seguido de 
la descarga de los paquetes específicos que son necesarios para la puesta en marcha de los 
servicios. 

Para cada uno de los servicios requeridos, se cuenta con diferentes paquetes así:

FTP se utilizara el paquete vsftpd

WEB se utilizara el paquete apache2

DNS se utilizara el paquete bind9

SSH se utilizara el paquete ssh

NOTA además se descargara un motor de bases de datos y un modulo para combinarla  con el 
ftp para ingresar la lista de usuarios del cliente. Este paquete se llama mysql­server

INSTALACION DEL FTP:

Para la instalación del ftp debemos de ingresar en una terminal de nuestro sistema operativo, 
allí ingresaremos el siguiente comando con el fin de actualizar los repositorios de nuestra 
maquina. 

Apt­get update con este comando se  actualizatar los repositorios 

1. luego de haber actualizado la maquina pasamos a descargar el paquete del ftp este paquete 
es el vsftpd mediante el comando apt­get install vsftpd mysql­server libpam­mysql los dos 
paquetes adicionales son necesarios para la creación de la base de datos con los usuarios en 
nuestro caso se realizara así.

2. procedemos a ingresar en el motor de base de datos mediante el siguiente comando 

Mysql –u root –p

3. cuando ingresamos en el programa. Todo esto desde la terminal, procedemos a ingresar en 
la   base  de datos  por defecto que posee  el mysql­server esta esta bautizada  como  mysql. 
Mediante el siguiente comando ingresaremos 

Use mysql;
4.  procedemos a ingresar un usuario para en una tabla de usuarios de esta base de datos. 
Utilizamos la siguiente línea de comandos.

Insert into user (host, user, password) values (‘localhost’,‘racano’,password(’123’));

5. ingresaremos en la tabla db un base de datos que nosotros crearemos mas adelante en este 
tutorial. Ingresamos la siguiente línea:

Insert into db (host, db, user, select_priv) values (‘localhost’,’ftp’,’racano’,’Y’);

6. luego actualizaremos los privilegios para el usuario que se acaba de crear asi:

Flush privileges;

7. creamos la base de datos que se menciono en la tabla.

Create database ftp;

8.  creamos una tabla en a cual incluiremos dos columnas para los usuarios el nombre del 
usuario y su contraseña.

Create table `usuarios` (

> `usuario` varchar(30) not null default,

> `password` varchar(50) no null default

>);

9.  procedemos a crear el usuario para la base de datos en nuestro caso es  racano para ello 


ingresaremos los siguientes comandos.

useradd ­­home /home/racano ­­gid nogroup ­m ­­shell /bin/false racano

10. después pasamos a modificar el archivo de configuración vsftpd.conf

Nano /etc/vsftpd.conf
11.  en este archivo tendremos que eliminar la información que se encuentra por defecto o 
también se puede comentar con un numeral antes d cada párrafo, para proceder y agregar la 
siguiente lista de instrucciones en este archivo.

listen=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

nopriv_user=racano (el nombre que le dimos al crear nuestro usuario)

chroot_local_user=YES

secure_chroot_dir=/var/run/vsftpd

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/certs/vsftpd.pem

guest_enable=YES

guest_username=racano

local_root=/home/racano/$USER (el nombre de la ruta )

user_sub_token=$USER

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd_user_conf

12. pasamos a modificar el archivo de configuración del libpam­mysql con un editor de texto.

Nano /etc/pam.d/vsftpd 

En este archivo ingresaremos las siguientes líneas: como se observa en la imagen.
auth required /lib/security/pam_mysql.so user=racano 
passwd=PASSWORDQUEPUSISTE host=localhost db=vsftpd table=usuarios 
usercolumn=usuario passwdcolumn=password crypt=2

account required /lib/security/pam_mysql.so user=racano 
passwd=PASSWORDQUEPUSISTE host=localhost db=vsftpd table=usuarios 
usercolumn=usuario passwdcolumn=password crypt=2

13. ingresamos de Nuevo a la base de datos y modificaremos la table de la base de datos que 
se había creado en pasos anteriores para esto nos ubicamos en la base de datos y ingresamos 
los siguientes datos para ingresar un nuevo usuario.

insert into usuarios (usuario, password) values ( 'felipe',password('123'));

14. procedemos a crear el directorio para el usuario es decir el sitio que se le designara para 
su ftp por medio del siguiente comando.

mkdir /home/racano/Felipe

además de esto le pondremos los permisos al directorio que se acaba de crear. Mediante la 
siguiente instrucción:

chown racano:nogroup Felipe con esta instrucion cabíamos el dueño del directorio.

15. por ultimo reiniciamos el servicio:

Service vsftpd restart

Con esto ya podremos iniciar nuestro sitio web en orden.
INSTALACION  SERVICIO WEB CON HOSTING.

Para iniciar nuestros sitios WEB requerimos istalar el paquete del servidor WEB este se llama 
apache2, esta intalacion se lleva por medio del siguiente comando desde una terminal de 
nuestro sistema.

Apt­get install apache2

Luego procedemos a configurar los siguientes ficheros primero creamos el directorio de 
nuestro sitio web por medio de el siguiente comando:

Mkdir /home/cano/usuario1/privada/sec.galileo.lab

Mkdir /home/cano/usuario1/publica/www.galileo.lab

Mkdir /home/cano/usuario2/privada/conf.galileo.star

Mkdir /home/cano/usuario2/publica/www.galileo.star

NOTA: en estos directorios ingresaremos las paginas web de los diferentes sitios web.

Pasamos a configurar el archivo de configuración hosts que se encuentra en la ruta /etc/hosts 
y procedemos por medio del comando :

Nano /etc/hosts

Después de haber modificado el archivo host procedemos a ingresar a la ruta de los sitios web 
que se encuentra en  /etc/apache2/sites­avalibles/ para ingresar allí necesitaremos el 
comando cd  una vez estemos allí procedemos a copiar el archivo por default de los sitios web 
por los nuevos asi:
Cp default sec.galileo.lab

Cp default www.galileo.lab

Cp default www.voyager.star

Cp default conf.voyager.star

Y modificaremos cada uno de los sitios de la siguiente manera por medio del comando nano 
que es el editor de texto por consola.

Nano sec.galileo.lab y observamos el archivo y modificamos la líneas que se encuentran en 
color 

la línea ServerName se debe de agregar y es el nombre del sitio web.

La línea DocomentRoot especificamos la ruta del nuevo sitio web es decir donde se encuentra 
alojada la pagina.

AllowOverride nos sirve para decirle al servicio que abera solo a los usuarios que se ingresen 
en el archivo htaccess  por ultimo tenemos la directiva DirectoryIndex en la cual se especifica 
el nombre del archivo que contiene la pagina de inicio del sitio web. Grabamos el archivo y 
salimos de el por medio de los comando ctrl o y ctrl x

Por ultimo nos queda reiniciar el servicio y subir los sitios web para ello ingresamos las 
siguientes líneas a2ensite sec.galileo.lab con esta directiva activaremos el sitio web y 
ingresamos service apache2 restart para reiniciar el servicio web en nuestro servidor. Se nos 
debe presentar asi:
INSTALACION SERVIDOR DNS 

Para la instalación y configuración del servidor DNS instalaremos el paquete bind9 por 
medio del comando 

Apt­get install bind9

Una vez instalado se deberá procederá proceder a configurar los ficheros de este que se 
encuentran en /etc/bind/name.conf ingresamos por el editor de texto nano y lo modificamos 
de manera que nos quede como se muestra en la imagen:

Modificamos los archivos de las diferentes zonas en nuestro caso tenemos 2 Zonas directas y 
dos directas primero copiamos las zonas por defecto que posee el bind9 por medio del 
comando 

cp db.local db.directa 

cp db.127 db.inversa 

En la imagen observamos las líneas que tenemos y las comparamos con las de nuestro 
archivo.
Tambien tendremos que modificar nuestra zona inversa con el mismo comando nano 
/etc/bind/db.inversa y colocamos solo los PTR de los determinados sitios del dominio en 
cuestión.
Procedemos como siguiente paso a la configuración en la cual modificaremos el fichero de 
donde se especifica la dirección de el servidor DNS al cual recurrirá la maquina para resolver 
sus consutas ingresamos por medio del comando nano /etc/resolv.conf 

Le decimos search  para denominarle los dominios que la maquina deberá buscar en nuetro 
caso galileo.lab y voyager.star y las direcciones de determinados dominios.

Por último procedemos a reiniciar nuestro servicio con el comando apt­get bind9 restart 
como se observa en la imagen se detiene el servicio y seguido se inicia de nuevo y se procede 
a probar nuestras zonas. Por medio del comando nslookup 
INSTALACION SSH

Para la autenticación se requería que para las conexiones remotas al servidor se utilizara ssh 
para esta configuración será necesario la instalación del paquete ssh y lo instalaremos normal 
desde una terminal de nuestro sistema por medio del comando:

Apt­get install ssh 

La configuración de este servicio es muy básica por lo cual solo tendremos que configurar un 
solo fichero, este se encuentra en /etc/ssh/sshd_conf 

En este fichero procedemos a modificar las siguientes líneas como se observa en las 
siguientes imágenes:

En la línea comentada permiRootLogin yes esta sirve para permitir la conexión del usuario 
root por medio de ssh.

La línea PasswordAutentication yes para permitir la autenticación de password es decir 
usuarios

La línea AllowUsers  en esta línea ingresamos los usuarios a los cuales les permitiremos la 
conexión por ssh.
AUTENTICACIÓN DE USUARIOS 

Para la autenticación de usuarios procedemos a crear un fichero que nos permitirá proteger 
ficheros dentro de el directorio especifico en el cual lo situemos, lo ubicamos en el mismo 
lugar donde esta la pagina de inicio del sitio web en nuestro caso 
/home/cano/usuario1/sec.galileo.lab el archivo o fichero se llamara .htaccess y en el 
ingresamos las siguientes líneas:

La primera línea es la línea del mensaje que se mostrara en el momento de pedir 
autenticación 

La línea AuthType Basic este es el tipo de autenticación que se dispondrá 

AuthUserFile /etc/apache2/passwd  en esta línea se ingresa el fichero en el cual estarán los 
usuarios y las contraseñas para autenticar.

Requiere valid­user esta línea sirve para decirle al archivo que verifique en la lista de 
usuarios.

Procedemos a ubicarnos en el sitio que especificamos para la ubicación de la lista de usuarios 
con permisos en nuestro caso en /etc/apache2/ y lo creamos con el comando nano passwd y 
dejamos el fichero en blanco 

Para ingresar usuarios a este fichero procedemos a ingresar el siguiente comando 

.htpassw passwd racano 

Verificamos que el archivo si se  este modificado es decir que volvemos a ingresar al fichero 
passwd y observamos que se encuentre similar al que observamos en la imagen.
Donde observamos el usuario y la contraseña sencriptada.

Tambien debemos modificar el archivo de configuración del hosting virtual por medio del 
comando nano /etc/apache2/sites­avalibles/sec.galileo.lab

Y ingresamos la línea AuthConfig seguido de la línea Override y reiniciamos el servicio 
apache con el comando service apache2 restart

AUTENTICACION POR DIRECCIÓN IP 

la denegacion de ingreso a un sitio web por Direccion IP se realiza desde el archivo de 
configuracion del hosting virtual en este modificaremos las lineas que de refieren al acceso 
del documento, es decir como es el orden de ingreso como se observa en la imagen anterior

Order deny,allow esta linea se modifica para denegar a todos y permitir a los que se le 
especifica en la lineas siguientes.

Deny from all se utiliza para denegar a todos los usuarios. 
Allow from 192,168,20,10 esta linea nos permite ingresar la direccion IP de el pc que se le 
permitira el ingreso al sistema.
C

También podría gustarte