Capítulo 13. Uso de Apache como servidor Web seguro

Introducción

Este capítulo proporciona información básica sobre cómo instalar el servidor Apache World Wide Web (WWW or Web) con el módulo de seguridad mod_ssl y con las librerías y el kit de herramientas OpenSSL. La combinación de estos tres componentes, proporcionados por Red Hat Linux, aparecerá en este manual como secure Web server o simplemente como servidor seguro.

Los Servidores Web suministran páginas web a los navegadores (como por ejemplo, Netscape Navigator, Internet Explorer de Microsoft) que lo solicitan. En términos más técnicos, los servidores Web soportan el Protocolo de Transferencia de Hypertexto conocido como HTTP (HyperText Transfer Protocol), el estándar de Internet para comunicaciones web. Usando HTTP, un servidor web envía páginas web en HTML y CGI, así como otros tipos de scripts a los navegadores o browsers cuando éstos lo requieren. Cuando un usuario hace click sobre un enlace (link) a una página web, se envía una solicitud al servidor Web para localizar los datos nombrados por ese enlace. El servidor Web recibe esta solicitud y suministra los datos que le han sido solicitados (una página HTML, un script interactivo, una página web generada dinámicamente desde un base de datos,...), o bien devuelve un mensaje de error. Apache, el servidor Web suministrado con este producto, es el más usado en Internet actualmente (vayaa http://www.netcraft.net/survey/).

El servidor Web Apache está diseñado de forma modular; consiste en muchas porciones de código que hacen referencia a diferentes aspectos o funcionalidades del servidor Web. Esta modularidad es intencionada, con lo cual, cada desarrollador puede escribir su propia porción de código para cubrir una necesidad en particular. Su código, llamado módulo, puede ser integrado en el servidor Web Apache con relativa facilidad.

El módulo mod_ssl es un módulo de seguridad para el Servidor Web Apache. El módulo mod_ssl usa las herramientas suministradas por el OpenSSL Project para añadir una característica muy importante al Apache —, la posibilidad de encriptar las comunicaciones. A diferencia de las comunicaciones entre un navegador y un servidor web usando HTTP "normal", en la que se envía el texto íntegro, pudiendo ser interceptado y leído a lo largo del camino entre servidor y navegador.

El OpenSSL Project incluye un kit de herramientas que implementa los protocolos SSL (Secure Sockets Layer) y TLS (Transport Layer Security), así como una librería de codificación de propósito general. El protocolo SSL se usa actualmente para la transmisión de datos segura sobre Internet; El protocolo TLS es un estándar de Internet para comunicaciones privadas (seguras) y fiables a través de Internet. Las herramientas OpenSSL son usadas por el módulo mod_ssl para aportar seguridad en las comunicaciones Web.

Este capítulo no es una documentación completa ni exclusiva de cada uno de estos programas. Cuando sea posible, esta guía le citará los lugares apropiados donde podrá encontrar información que trate sobre temas particulares con más detalle.

Este capítulo le mostrará cómo instalar los programas incluidos, así como los pasos necesarios para generar una clave privada y una petición certificada. También se le enseñarán los pasos adecuados para generar su propio certificado firmado y como instalar un certificado para usarlo con el servidor Web seguro.