Tutorial lamp server

Solo disponible en BuenasTareas
  • Páginas : 13 (3007 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de abril de 2011
Leer documento completo
Vista previa del texto
Como configurar la seguridad del servidor Web Apache en GNU / Linux (Debian)
Fecha: 05-04-2004
Versión: 1.0

Índice de contenidos
1. Introducción
2. Entorno
3. Comprobación del entorno
4. Autenticación HTTP
4.1. Autenticación HTTP Basic
4.1.1. Configuración de httpd.conf
4.1.2. Creación de un usuario
4.1.3. Creación de un grupo
4.2. Autenticación HTTP Digest
4.2.1. Configuración dehttpd.conf
4.2.2. Creación de un usuario
4.3. Logout automático
5. SSL
5.1. Creando nuestra propia CA
5.2. Creamos nuestro CSR
5.3. Creamos nuestro CRT
5.4. Configuramos Apache
5.5. Limpia de archivos
6. Conclusiones
7. Sobre el autor

1. Introducción
La seguridad, ya sea en Apache o en cualquier otro servidor, es un tema bastante amplio y muy serio. Así que este tutorial sólopretende ser una introducción a como podemos configurar la seguridad en nuestro servidor Web Apache.
En este tutorial se verá una forma de configurar la seguridad, pero hay muchas otras. Cada uno debe buscar la que más se ajuste a sus necesidades.
Se recomienda encarecidamente leer la documentación que proporciona Apache en: http://httpd.apache.org/docs-2.0/ssl/.

2. Entorno
El tutorial está escritousando el siguiente entorno:
Hardware: Portátil Ahtex Signal X-9500M (Centrino 1.6 GHz, 1024 MB RAM, 60 GB HD).
Sistema Operativo: GNU / Linux, Debian Sid (unstable), Kernel 2.6.4, KDE 3.2
Apache 2.0.48 instalado en /usr/local/apache2
PHP 4.3.4 instalado en /usr/local/php4
MySQL 4.1.1 instalado en /usr/local/mysql
openssl 0.9.7d-1
Para saber como se instaló el entorno (MySQL, Apache, PHP)ver el tutorial 'Como instalar MySQL, Apache y PHP en GNU / Linux (Debian)'
Supondremos que todos los archivos que descargamos de Internet los guardaremos en /download.

3. Comprobación del entorno
Antes de empezar debemos comprobar que nuestro Apache está compilado con los módulos de seguridad que vamos a utilizar.
Para ver listar los módulos podemos ejecutar:
# cd /usr/local/apache2/bin
#./httpd -l
Compiled in modules:
core.c
mod_access.c
mod_auth.c
mod_auth_digest.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
mod_ssl.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
En lalista deben aparecer:
mod_auth.c: para autenticación básica.
mod_auth_digest.c: para autenticación con el método digest (usuario y password encriptados).
mod_ssl.c: para poder activar SSL (https).
mod_auth.c debería aparecer, ya que se trata de una opción por defecto. Si los otros dos módulos no aparecen tendremos que recompilar Apache.
Para compilar Apache con soporte SSL es necesario tenerinstalado los fuentes de openssl, ya que al compilar se necesitan los ficheros de cabecera (.h). También necesitamos tener instalado openssl para poder trabajar con los certificados.
Para instalar ambos paquetes basta con ejecutar:
# apt-get install openssl libssl-dev
Ahora ya estamos listos para recompilar nuestro Apache. Nos situamos en el directorio donde tentemos los fuentes de Apache y usamoslos siguientes comando:
# ./configure --prefix=/usr/local/apache2 --with-mpm=prefork --enable-so --enable-auth-digest --enable-ssl
# make
# make install

4. Autenticación HTTP
Podemos configurar Apache de forma que para acceder a cierto directorio (y subdirectorios) sea necesario introducir un usuario y una clave.
Dentro de esta posibilidad vamos a ver dos método:
Basic: cuando en elcliente se introduce el usuario y la clave, estos viajan al servidor sin cifrar.
Digest: el usuario y la clave van cifrados del cliente al servidor.
Estos métodos tienen la ventaja de que es Apache quien se encarga de comprobar las correctas credenciales del cliente, por lo que no tenemos que hacer ningún tipo de comprobación en nuestra aplicación.
Hay que tener en cuenta que estos dos métodos...
tracking img