apache

of 9 /9

Click here to load reader

Embed Size (px)

Transcript of apache

Sistemas Operativos Monopuesto

http://monopuesto.com

Sistemas Microinformticos y Redes

Ciclo de Grado Medio de Formacin Profesional

Xavier Cardona y Anna Ferrer

Manresa - 18 de marzo de 2011

i|

Sistemas Operativos Monousuario http://monopuesto.com

ndice1. Apache 1.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. Funcionamiento del protocolo HTTP . . . . . . . . . . . . . . . . 1.2. Instalacin del servicio en el servidor . . . . . . . . . . . . . . . . . . . . 1.2.1. Mdulos de processamiento MPM . . . . . . . . . . . . . . . . . 1.3. Elementos de conguracin . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1. Puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2. Usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Ficheros de conguracin . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1. Fichero de actividades . . . . . . . . . . . . . . . . . . . . . . . . 1.5. Parada y arrancada de Apache . . . . . . . . . . . . . . . . . . . . . . . 1.5.1. Parada y arrancada de Apache desde la lnea de rdenes . . . . . 1.5.2. Parada y arrancada de Apache desde Webmin . . . . . . . . . . . 1.6. Monitorizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1. Monitorizacin del proceso . . . . . . . . . . . . . . . . . . . . . 1.6.2. Monitorizacin de los puertos . . . . . . . . . . . . . . . . . . . . 1.7. Conguracin de los clientes http . . . . . . . . . . . . . . . . . . . . . . 1.8. Personalizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.1. Puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.2. Parmetros de tiempo . . . . . . . . . . . . . . . . . . . . . . . . 1.8.2.1. Tiempo de acceso . . . . . . . . . . . . . . . . . . . . . 1.8.2.2. Tiempo de persistencia de la conexin . . . . . . . . . . 1.8.3. Pgina inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.4. Lmite de procesos . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.5. Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8.5.1. Alias con Webmin . . . . . . . . . . . . . . . . . . . . . 1.9. Mdulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9.1. Mdulo userdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9.2. Administracin de Mdulos con Webmin . . . . . . . . . . . . . . 1.10. Hosts virtuales en una misma IP . . . . . . . . . . . . . . . . . . . . . . 1.10.1. Administracin de hosts virtuales en una misma IP con Webmin 1.11. Estadsticas: Awull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11.1. Conguracin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11.2. Ejecucin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.12. Segurida bsica: .htaccess y .htpasswd . . . . . . . . . . . . . . . . . . . 1.12.1. Casos prcticos de uso de .htaccess . . . . . . . . . . . . . . . . . 1.12.1.1. Restriccin de acceso a carpetas . . . . . . . . . . . . . 1.13. Conexin segura y Certicados . . . . . . . . . . . . . . . . . . . . . . . 1.14. Protecci contra ataques de fuerza bruta: fail2ban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 7 7

Sistemas Operativos Monousuario http://monopuesto.com |

ii

Sistema informtico

ApacheServidor de pginas web

E1.1.1.

l objetivo del tema consiste en instalar y congurar el servidor de pginas web Apache y comprobar diferentes conguraciones con clientes HTTP, llamados navegadores.

CSS, siglas de Cascading Style Sheets o hojas de estilo en cascada es un lenguaje que dene la presentacin de un documento. Por ejemplo, con CSS se puede denir el tipo de letra y color del ttulo de la pgina. En cada peticin de una URL pueden suceder dos casos:

ApacheIntroduccin

HTTP, siglas de Hypertext Transfer Protocol o Protocolo de Transferencia de Hipertexto en un protocolo de Internet de la capa de aplicacin que funciona siguiendo el esquema cliente-servidor. Apache es un servidor de pginas web que utiliza el protocolo HTTP/1.1, descrito en el documento rfc2616. Este servidor es el que actualmente tiene una mayor cuota de mercado. 1.1.1. Funcionamiento del protocolo HTTP

Si la peticin hace referencia a una pgina web esttica, entonces Apache la enva al cliente tal y como estn almacenadas en el servidor, sin ningn cambio. Las pginas estticas suelen tener la extensin .htm o .html Un ejemplo de pgina web esttica es el siguiente: Ejemplo Hola

Apache es un servicio que escucha peticiones en el puerto HTTP (puerto 80). Los clientes piden al servidor cheros codicado como una direccin URL, es decir: protocolo://direccin/directorio/chero. Por ejemplo: http://www.monopuesto.com/index.html . Los cheros que puede enviar Apache son de dos tipos: Ficheros binarios de datos: imgenes, sonido, pelculas,... Ficheros de texto: cheros que contienen instrucciones en un lenguaje, generalmente, HTML, Javascript o CSS.

Si la peticin hace referencia a una pgina web dinmica, entonces Apache ejecuta el cdigo de la pgina y enva el cdigo HTML resultante al cliente. Las pginas dinmicas suelen tener la extensin .php, .aspx , .jsp, ... Un ejemplo de pgina web dinmica es el siguiente, que muestra la fecha actual: Ejemplo

HTML son las siglas de Hypertext Markup Language o Lenguage de Marcas de Hipertexto. Estos cheros, tambin llamados pginas web, son interpretados por el navegador y presentados segn las etiquetas denidas en el chero. Una caracterstica de los cheros HTML es que son hipertextuales, es decir, pueden enlazar a otros En este captulo supondremos que la direccin IP del cheros. servidor Apache es 192.168.1.222 Las referencias a Javascript es un lenguaje que se utiliza dicha IP debern sustituirse por la direccin IP de para mejorar la interfaz de usuario, permi- su servidor. Por ejemplo, si la IP de su servidor es tiendo, por ejemplo, el autocompletado en 192.168.0.111, deber sustituir cualquier referencia a 192.168.1.222 por 192.168.0.111 las cajas de texto. 1| Sistemas Operativos Monousuario http://monopuesto.com

Ejercicio 1 Utilice

la

encuesta

de

http://news.netcraft.como/archives/webserversurvey.html

para explicar la evolucin de las cuotas de mercado de los servidores HTTP durante los dos ltimos aos. Ejercicio 2 Comprueba que el servidor tiene una direccin IP esttica.

1.2.1.2.1.

Instalacin del servicio en el servidorMdulos de processamiento MPM Ejercicio 3 Enve a su profesor/a una captura de pantalla con las opciones principales de conguracin de Apache. Ejercicio 4 Identica el mdulo MPM ms adecuado para: Un servidor Apache con poca memoria RAM y muchas peticiones. Un servidor Apache de una tienda virtual que debe tratar las petiones de los clientes de manera que si una peticin se cuelga, no afecte a otras peticiones. Ejercicio 5 Acceda con un navegador a la URL http://192.168.1.222 y comprueba que Apache se ha instalado correctamente y muestra una mensaje como el siguiente: It works! This is the default web page for this server. The web server software is running but no content has been added, yet.

Los mdulos de procesamiento o MPM gestionan las peticiones que llegan al servidor Apache. Algunas peticiones pueden provocar problemas a Apache. Por ejemplo, una peticin puede consumir toda la memoria, de manera que otras peticiones no se podrn atender. Las peticiones que entran en bucles innitos tambin son fuente de problema y se deben detectar y eliminar. En la instalacin de Apache, debe elegir entre los siguientes dos mdulos MPM: MPM Prefork: Cada peticin a Apache genera un proceso independiente. Una peticin problemtica queda aislada del resto de peticiones, por lo tanto, es muy estable. Consume mucha memoria. MPM Worker: Cada peticin a Apache genera un hilo. Un hilo es como un proceso, pero ms ligero. Una peticin problemtica puede afectar a diferentes hilos de un proceso, siendo menos estable que MPM Prefork. Consume menos memoria. En aqueste documento se instalar la versin MPM prefork. Para instalar Apache, ejecute desde la consola como root: # apt-get install apache2 Apache se ejecutar como servicio cada vez que se inicie el sistema operativo.

1.3.1.3.1.

Elementos de conguracinPuertos

Apache es un servicio que escucha peticiones en el puerto HTTP (puerto 80). Usuarios

Para que Webmin detecte el servicio Apache, siga los 1.3.2. pasos de la seccin ?? de la pgina ??. Compruebe que en el men de la columna izquierda, aparece la opcin Servidores->Servidor Web Apache y seleccinela.

El servicio Apache empieza ejecutndose como el usuario root, pero tan pronto como puede, para evitar posibles problemas de seguridad, cambia su UID efectivo por el de la usuario www-data y el grupo por www-data . Estos valores se pueden cambiar con las directivas APACHE_RUN_USER y APACHE_RUN_GROUP, respectivamente, del chero de conguracin /etc/apache2/envvars Ejercicio 6 A partir del chero de conguracin de Apache o bin con Webmin, seleccionando en el men Servidor Web Apache la opcin Usuarios y grupos, averigua el nombre del usuario y del grupo que ejecutan el programa Apache

Las opciones principales de conguracin de Apache sern las siguientes:

Sistemas Operativos Monousuario http://monopuesto.com | 2

El resultado deber ser parecido al siguiente (slo se muestra la primera y la ltima columna): USER COMMAND root /usr/sbin/apache2 -k start www-data /usr/sbin/apache2 -k start www-data /usr/sbin/apache2 -k start www-data /usr/sbin/apache2 -k start 1.4. Ficheros de conguracin root grep apache2 Los chero de conguracin de Apache son cheros de Como se observa, hay 4 procesos Apache, de los cuales, texto que se localizan en /etc/apache2. Las lneas que uno pertenece al usuario root y los otros al usuario empiezan por el smbolo # son ignoradas. Las otras www-data. El proceso que pertenece al root no sirve lneas estn formadas por directivas de conguracin pginas web, sino que crea otros procesos Apache conseguidas de parmetros. forme se necesitan. La necesidad de ejecutar un proceso Apache como root viene dada porque los puertos hasta el 1024 slo 1.4.1. Fichero de actividades pueden ser ledos por dicho usuario. El chero /var/log/apache2/access.log informa sobre los accesos a las pginas. 1.6.2. Monitorizacin de los puertos El chero /var/log/apache2/error.log informa sobre Para listar los puertos que utiliza Apache y qu direclos errores producidos por el servicio. ciones atiende, ejecute la orden: Ejercicio 7 Desde que direcciones IP se ha # netstat -petuan|grep apache2 accedido al servidor Apache?Qu navegador y El resultado de la anterior orden ha de ser parecido a: sistema operativo ha utilizado el cliente para acActive Internet connections (servers and established) ceder a Apache? Proto Local Addres Foreign Address State Program Ejercicio 8 Accede a una pgina inexistente como, por ejemplo, http://192.168.1.222/noexiste.htm y verica que el acceso errneo se ha registrado.tcp6 :::80 :::* LISTEN apache2

Es decir, por defecto Apache utiliza el puerto 80 para atender las peticiones que le llegan desde cualquier direccin IP.

1.5.

La mayora de los sistemas operativos instalan, por 1.5.1. Parada y arrancada de Apache desde la defecto, clientes http denominados navegadores. Es recomendable que el navegador cumpla los estnlnea de rdenes dares web (Mozilla-Firefox, Chrome, ?) que sea seguro El servicio Apache se ejecuta automticamente cada y de fcil uso. vez que se ejecuta el sistema operativo. Se recomienda huir de Internet Explorer por no Cada vez que cambie algn chero de conguracin, cumplir las anteriores condiciones. deber reiniciar el servicio. Ejercicio 9 Compara el resultado de los Apache se puede parar manualmente con el orden navegadores con el Acid Test disponible en # service apache2 stop http://www.webstandards.org/action/acid2/ Apache se inicia manualmente con la orden: y http://www.webstandards.org/action/acid3/ # service apache2 start y explica qu navegador cumple mejor los La siguiente orden reinicia el servicio Apache: estndares. # service apache2 restart 1.5.2. Parada y arrancada de Apache desde Webmin

Parada y arrancada de Apache

1.7.

Conguracin de los clientes http

1.8.

Personalizacin

La conguracin del servicio Apache viene dada por los cheros de conguracin de /etc/apache2/ . Una Ejecute Webmin y seleccione la opcin Servidores- vez modicado el chero, se debe reiniciar el servicio. >Servidor Web Apache. En la parte superior de la conguracin aparecern las opciones Aplicar Cam- 1.8.1. Puertos bios y Parar Apache. Apache es un programa que acta como un servicio, escuchando en el puerto 80. Este valor se asigna en chero /etc/apache2/ports.conf en la lnea: Listen 80

1.6.1.6.1.

MonitorizacinMonitorizacin del proceso

1.8.2.

Parmetros de tiempo

Para comprobar que el servicio Apache est funcionando, ejecute la orden: Los parmetros de tiempo estn declarados en el chero /etc/apache2/apache2.conf . # ps aux|grep apache2 3| Sistemas Operativos Monousuario http://monopuesto.com

1.8.2.1. Tiempo de acceso Por defecto, si una peticin a Apache no se puede servir en 300 segundos, el cliente recibe un mensaje informndole que ha sobrepasado el tiempo mximo de espera. La directiva que controla el tiempo de acceso se llama Timeout. En Webmin el parmetro Timeout est traducido comoTiempo de espera para requerimientos.

Si hay ms de MaxSpareServers procesos Apache sin trabajar, se matan algunos de estos procesos, hasta quedar slo MinSpareServers. Apache limita el nmero mximo de peticiones que puede servir con la directiva Maxclients. Esta directiva se puede modicar en el chero/etc/apache2/apache2.conf . En el programa Webmin, la opcin MaxSpare1.8.2.2. Tiempo de persistencia de la conex- Servers est traducida en como Mximo nmero in Cada vez que un nuevo cliente solicita una pgi- de procesos libres del servidor, la opcin MinSna web, se establece una conexin que puede ser re- pareServers est traducida como Mnimo nmero utilizada si el cliente solicita una nueva pgina web y de procesos libres del servidor y la opcin Startno ha pasado un tiempo mximo determinado. Si una Servers est traducida como Procesos iniciales del conexin es reutilizada, se aprovecha mejor la memo- servidor. ria y el ancho de banda. La directiva que controla el mximo nmero de peticiones que se pueden atender en una conexin reutilizada es MaxKeepAliveRequests. En Webmin este parmetro est traducido comoRequerimientos mltiples por conexin. El tiempo de espera entre las peticiones de un cliente con una misma conexin es KeepAliveTimeout. En Webmin el parmetro KeepAliveTimeout est traducido comoTiempo de espera para mantener Ejercicio 11 Compruebe con Webmin los valvivos. ores de MinSpareServers, MinSpareServers y de MaxSpareServers. Utilize las opciones Servidores->Servidor Web Apache y en la pestaa Global conguration seleccione la opcin Lmites y procesos. 1.8.5. Alias

Ejercicio 10 Ejecute Webmin. Utilize las opciones Servidores->Servidor Web Apache y en la pestaa Global conguration seleccione la opcin Redes y direcciones. Averige los valores por defecto del puerto que escucha Apache y los parmetros Keep-alive timeout, Request timeout y Multiple requests per conection. 1.8.3. Pgina inicial

Los Alias permiten, a los clientes de Apache, acceder a los directorios del servidor con un nombre ms sencillo de recordar. Por ejemplo, para acceder al wordpress instalado en /var/www/aplicaciones/lamp/wordpress-v3.1 , hace falta escribir desde el navegador http://192.168.1.222/aplicaciones/lamp/wordpress-v3.1 . Para crear un Alias ms amigable como, por ejemplo, http://192.168.1.222/blog, debe aadir a /etc/apache2/sites-enabled/000-default antes de:Alias /doc/ "/usr/share/doc/"

La lnea:

La pgina inicial que sirve Apache viene da- Alias /blog "/var/www/aplicaciones/lamp/wordpress-v3.1" da por la directiva DocumentRoot, denida en Reinicie el servicio Apache. /etc/apache2/sites-available/default. 1.8.5.1. Alias con Webmin Para crear un Alias con Webmin, seleccione las opciones Servidores>Servidor Web Apache->Existing virtual hosts. A continuacin seleccione el servidor en el cual desea crear el Alias. En este ejemplo, lo crearemos en el Cuando se inicia Apache, se crean 5 procesos hijos servidor Servidor por Defecto. Seleccione el icono que gestionan las peticiones. Si hay ms de 5 peti- Alias y Redireccionamientos. ciones, Apache aumenta el nmero de hijos. La directiva que controla el nmero de servidores iniciales es StartServers. Esta directiva se puede modicar en el chero /etc/apache2/apache2.conf Si se producen ms conexiones simultneas, el proceso Apache del usuario root crear tantos procesos Apache como conexiones, hasta un cierto lmite. 1.8.4. Lmite de procesos Sistemas Operativos Monousuario http://monopuesto.com | 4

Ejercicio 12 Cree un chero /var/www/24/enero/2010/index.htm cuyo contenido sea una pgina web que saluda al usuario. A continuacin, cree un Alias de forma que el acceso a 2http://192.168.1.222/datos muestre el contenido del /var/www/24/enero/2010/index.htm

Para que el dominio funcione deber relacionar los dominios anteriores con la direccin IP 192.168.1.222 congure un servidor DNS o bien edite en los clientes el chero /etc/hosts en Linux o c:\windows\system32\drivers\etc\hosts en Windows y aada la siguientes lnea: 192.168.1.222www.manoloohara.com www.aitortilla.com

1.9.

Mdulos

Ejercicio 14 Compruebe con un ping que el cliente sabe resolver las direcciones www.manoloohara.com y www.aitortilla.com. 1) Cree los directorios:# mkdir -p /home/apachevirtual/manoloohara/htdocs

Apache se congura en una estructura modular. # mkdir /home/apachevirtual/manoloohara/logs Puede consultar la lista de los mdulos instalados en # mkdir /home/apachevirtual/manoloohara/cgi-bin /etc/apache2/mods-available y los mdulos activados # echo "Soy manoloohara" \ >>/home/apachevirtual/manoloohara/htdocs/index.html en /etc/apache2/mods-enabled . Para activar un mdulo, utilice la siguiente sintaxis: Ejercicio 15 Explique qu directorios debe # a2enmod nombre_modulo crear para el dominio www.aitortilla.com. ExpliPara desactivar un mdulo, utilice la siguiente sinca la funcin de cada directorio. taxis: 2) Cree el chero /etc/apache2/sites-available/www.manoloohara. # a2dismod nombre_modulo 1.9.1. Mdulo userdir ServerAdmin [email protected] ServerName manoloohara.com ServerAlias www.manoloohara.com DocumentRoot /home/apachevirtual/manoloohara/htdocs/ ErrorLog /home/apachevirtual/manoloohara/logs/error.log CustomLog /home/apachevirtual/manoloohara/logs/access.log combined

Este mdulo permite que los cheros de los usuarios situados en ~/public_html se visualicen con el navegador como http://ip_ordenador/ nombre_usuario. 1.9.2. Administracin de Mdulos con Webmin

Ejercicio 16 Explique qu contenido debe tener el chero /etc/apache2/sitesavailable/www.aitortilla.com. Explique la Para administrar los mdulos de Apache con Webmin, funcin de cada lnea. seleccione las opciones Servidores->Servidor Web Apache->Congure Apache modules. A continuacin, 3) Habilite los dominios para gestionarlos con Apache: active o desactive los mdulos que desee. # a2ensite www.manoloohara.com # a2ensite www.aitortilla.com Ejercicio 17 Explique el contenido del directorio /etc/apache2/sites-enabled 4) Reinicialize el servicio Apache 5) Con un navegador, abra www.manoloohara.com y www.aitortilla.com . 1.10.1. Administracin de hosts virtuales en una misma IP con Webmin

Ejercicio 13 Active el mdulo userdir. Cree un usuario manoloohara y una pgina ~/home/manoloohara/public_html/index.html y acceda a ella desde un navegador. Qu permisos mnimos debe tener aquesta pgina para poder ser modicada por el usuario manoloohara y accedida por Apache?

1.10.

En el siguiente ejemplo crear un nuevo host virtual de nombre www.zebbomax.com . Antes de crear el host virtual, cree la carpeta /home/apachevirtual/zebbomax/htHosts virtuales en una misma IP docs y una pgina web en /home/apachevirtual/zebbomax/htdocs/index.html . Compruebe que desde un cliente puede realizar un ping a la direccin www.zebbomax.com . Ejercicio 18 Realice capturas de pantalla donde se observe la realizacin de las acciones del prrafo anterior. Ejecute Webmin y seleccione las opciones Servidores>Servidor Web Apache y la pestaa Create virtual host. En ell campo Raz para Documentos introduzca el directorio creado anteriormente /home/apachevirtual/zebbomax/htdocs y en el campo Nombre del Servidor introduzca el nombre www.zebbomax.com . Pulse el botn Crear ahora y reinicie el servicio Apache.

Como las direcciones IP cuestan dinero, Apache permite tener varios dominios en una misma IP. Por ejemplo, conguraremos Apache para que gestione los dominios www.manoloohara.com y www.aitortilla.com . Supodremos que las pginas de los dominios estan, respectivamente, a /home/apachevirtual/manoloohara y /home/apachevirtual/aitortilla. Suponga que la direccin IP del servidor es 192.168.1.222, cambie esta direccin por la que tenga asignada a su servidor.

5| Sistemas Operativos Monousuario http://monopuesto.com

Ejercicio 19 Realice dos capturas de pantalla donde muestre el grco de las pginas que ha servido Apache a cada hora del da y las pginas que ms veces han sido visitadas.

1.12.

Segurida bsica: .htaccess y .htpasswd

Los cheros .htaccess permiten congurar determinados parmetros de Apache de manera que dicha conguracin slo afecte a un directorio y a sus subdirectorios. Observe que el punto inicial de los cheros .htaccess y .htpasswd los convierte en ocultos. Para visualizar sus propiedades, sitese en la carpeta de los cheros Compruebe que en la pestaa Existing virtual hots y ejecute: aparece como entrada www.zebbomax.com y que puede # ls -la acceder a la pgina del nuevo dominio virtual medi- Los posibles parmetros que puede contener un chero ante un navegador. .htaccess vienen determinados por el parmetro AllowOverride dentro de la directiva Directory. Aunque los cheros .htaccess proporcionan una mayor exibilidad a la hora de congurar Apache, tienen los siguientes inconvenientes:

1.11.

Estadsticas: Awull

Awull permite generar estadsticas del acceso al servidor Apache a partir de los cheros log. Instalacin: # apt-get install awffull 1.11.1. Conguracin

Prdida de velocidad: Apache debe buscar en cada peticin si existe el chero .htaccess en el directorio del chero o en sus directorios superiores. Seguridad: si los usuarios pueden crear sus propios cheros .htaccess, se debe auditar qu modicaciones se permiten y su uso.

El chero de conguracin de Awull es 1.12.1. Casos prcticos de uso de .htaccess /etc/awull/awull.conf Para modicar el directorio donde se guardan los informes, edite: 1.12.1.1. Restriccin de acceso a carpetas Para restringir el acceso al chero OutputDir /var/www/awffull /var/www/secreto/index.html de manera que slo puedan acceder los usuarios usuario1 y usuario2 Para las webs con mucho trco, Apache crea ms de con contraseas respectivas 1234 y 5678, edite el un chero log al da. En este caso, debe modicar el chero /etc/apache2/sites-available/default y sustiparmetro: tuya las lneas: Incremental Options Indexes FollowSymLinks MultiViews 1.11.2. Ejecucin AllowOverride None Order allow,deny Webalizer es ejecutado cada da por el servicio cron. allow from all Para forzar la actualizacin de los datos manualmente, ejecute: # awffull Por: Para ver las estadsticas desde un navegador: http://192.168.1.222/awffull Options Indexes FollowSymLinks MultiViews AllowOverride AuthConfig Order allow,deny allow from all Para crear el chero con los usuarios y las contraseas, ejecute: # htpasswd -c /etc/apache2/htpasswdsecreto \ usuario1 Sistemas Operativos Monousuario http://monopuesto.com | 6 yes

Para aadir nuevos usuarios, repita la orden anterior 1.14. sin la opcin -c. Ejercicio 20 Repita la orden anterior con el usuario usuario2. Cree el chero /var/www/secreto/.htaccess con el siguiente contenido:

Protecci contra ataques fuerza bruta: fail2ban

de

A menudo, los servidores de Internet son atacados por programas que utilizan tcnicas de fuerza bruta para entrar como administrador. Los ataques de diccionario son un tipo de ataque de fuerza bruta que prueba una y otra vez contraseas utilizando palabras que se AuthType Basic pueden encontrar en un diccionario. Para eliminar esAuthName "Necesita validarse para continuar" tos tipos de ataques se utilizan diferentes programas, AuthUserFile /etc/apache2/htpasswdsecreto como el fail2ban. Instale el programa: Reinicie el servicio y acceda con un navegador a # apt-get install fail2ban http://192.168.1.22/secreto. Este servicio lee los cheros log y si encuentra una IP que genera muchos errores, no le permite el acceso al servidor durante un cierto tiempo. Las opciones de conguracin estn en el chero /etc/fail2ban/jail.conf . Las ms importantes son: ignoreip: Ignora los datos transmitidos o enviados por una IP bantime: Segundos durante los cuales un usuario o programa queda expulsado. maxretry: Nmero de faltas amarillas que equivalen a una tarjeta roja. Para parar los ataques por SSH, la conguracion por defecto es: [ssh] # Habilita enabled = true # Puerto port = ssh # Directorio del filtro filter = sshd # Fichero log logpath = /var/log/auth.log # Numero maximo de intentos fallidos permitidos maxretry = 6 Ejercicio 24 Modique fail2ban para que, despus de cuatro intentos errneos de validacin en una pgina con acceso mediante .htpasswd, el usuario no pueda conectarse al servidor durante 6 horas.

Ejercicio 21 Aada un tercer usuario usuario3 que pueda validarse en la pgina del ejemplo Ejercicio 22 Porqu es muy mala idea crear el chero /var/www/secreto/.htpasswd

1.13.

Conexin segura y Certicados

HTTPS son las siglas de Hypertext Transfer Protocol Secure o Protocolo Seguro de Transferencia de Hipertexto. Este protocolo est ubicado en la capa de Aplicacin y utiliza el puerto 443. HTTPS crea un canal cifrado entre el emisor y el receptor. Para crear una conexin segura, el cliente debe recibir del emisor un chero con un certicado vlido, rmado por una Autoridad de Certicacin. La Autoridad de Certicacin es una entidad que tiene la conanza de los usuarios a la hora de rmar digitalmente certicados digitales que legitiman ante los usuarios la relacin entre la identidad del servidor al que realizan una conexin y su clave pblica. Como los certicados de las Autoridades de Certicacin cuestan dinero, crearemos un certicado autormado. Cree el certicado con: # make-ssl-cert generate-default-snakeoil \ --force-overwrite Active el modulo HTTPS: # a2enmod ssl # a2ensite default-ssl Reinicie el programa Apache. Ejercicio 23 Compruebe que puede entrar mediante https al servidor.

7| Sistemas Operativos Monousuario http://monopuesto.com