Fundamentos de Seguridad en Servidores Web Apache: Autenticación, Control de Acceso y Criptografía SSL/TLS
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,75 KB
Mecanismos de Seguridad en Apache
Autenticación, Autorización y Control de Acceso
Autenticación en Apache
La Autenticación comprueba la identidad del usuario. Este proporciona nombre y contraseña y, si coinciden con su base de datos (BBDD), se da por terminada la primera fase.
Existen dos tipos principales de autenticación: Básica y Digest. Es crucial recordar que estos métodos solo autentifican al usuario, pero no protegen el intercambio de información.
Autorización
La Autorización ocurre después de la validación. El servidor comprueba si el usuario está en la lista de aquellos que pueden acceder a los recursos ofrecidos.
Control de Acceso
El Control de Acceso gestiona qué máquinas (independientemente del usuario que acceda) tienen permiso para acceder a un recurso.
Se gestiona mediante el archivo .htaccess, al igual que la autorización, y también a través de la directiva Directory, aunque esta última añade las directivas Files y Location.
El Servidor Web Seguro y el Protocolo SSL/TLS
Un servidor web es considerado seguro cuando garantiza la comunicación con el cliente web mediante autentificación y confidencialidad.
Protocolo SSL (Secure Sockets Layer)
El protocolo SSL (o su sucesor, TLS) permite establecer una comunicación segura y codificada entre el servidor y el navegador. Trabaja conjuntamente con el protocolo HTTP, creando el protocolo conocido como HTTPS.
Tipos de Criptografía
SSL utiliza dos tipos de criptografía:
- Criptografía Simétrica: Utiliza una clave compartida. Es rápida y eficaz.
- Criptografía Asimétrica: Utiliza un par de claves (clave pública-privada). Cada usuario protege su contraseña. Es muy lenta para el cifrado masivo de datos.
Firma Digital
La Firma Digital es una porción de código que se adjunta a un mensaje y que garantiza al destinatario la identidad del remitente y la integridad del mensaje. Se utiliza fundamentalmente en entornos de clave pública.
Proceso de Generación y Verificación de la Firma
- El usuario origen aplica una función hash a los datos y genera un valor hash.
- Utilizando su clave privada, transforma el valor hash en la firma digital.
- El usuario origen envía los datos, la firma y el certificado de origen.
- El usuario destino aplica la misma función hash a los datos recibidos, generando un nuevo valor hash.
- El usuario destino utiliza la clave pública del usuario origen y el valor hash obtenido para comprobar la firma.
Si la verificación coincide, se asegura que el mensaje no ha sido modificado (respetando la integridad) y que el único usuario que pudo haberlo firmado es el remitente, ya que solo él posee la clave privada correspondiente a la clave pública con que se ha descifrado.
Garantías y Funcionamiento del Protocolo SSL
El Protocolo SSL garantiza una sesión de conexión segura mediante encriptación.
Garantías de Seguridad Ofrecidas por SSL
- Confidencialidad: Cifra la información transferida.
- Integridad: Controla la modificación o manipulación de los datos.
- Autenticación al Cliente (Opcional): Asegura la identidad del cliente mediante un certificado de cliente y asegura el acceso a áreas protegidas.
- Autenticación al Servidor: Asegura la identidad del servidor mediante un certificado de servidor.
Claves de Sesión y Longitud
SSL utiliza una clave de sesión que se genera en cada transacción. Cuanto mayor sea la longitud de la clave, más difícil será romper la encriptación. Normalmente se utilizan claves de 128 bits.
Fases de la Comunicación SSL
- Fase de Saludo o Handshaking: Se produce el intercambio de claves públicas y se lleva a cabo la autentificación utilizando certificados digitales.
- Fase de Comunicación: Se realiza el intercambio de datos utilizando las claves de tipo simétrico (establecidas durante el Handshaking).