Errores comunes de seguridad en Apache

A continuación se describen soluciones para algunas de las notificaciones más comunes al realizar scaneos con herramientas VRA (Nessus, ScanAlert, etc) y/o Web-Servers Scanners

1) SSL Anonymous Cipher Suites Supported

  • Synopsis: The remote service supports the use of anonymous SSL ciphers.
  • Description: The remote host supports the use of anonymous SSL ciphers. While this enables an administrator to set up a service that encrypts traffic without having to generate and configure SSL certificates, it offers no way to verify the remote host’s identity and renders the service vulnerable to a man-in-the-middle attack.
  • See also: http://www.openssl.org/docs/apps/ciphers.html

* Solución implementada:

Se agrego la directiva “SSLCipherSuite !ADH:HIGH:MEDIUM” en el file /etc/apache2/sites-available/ssl

2) Web Server Supports Weak SSL Encryption Certificates / SSL Weak Cipher Suites Supported

  • Synopsis: Esto quiere decir que el web-server soporta métodos de encripción menores a 128 bits cuando se utilizan los protocolos SSL y/o TLS, la solución es habilitar el uso de encripciones mayores o iguales a 128 bits
  • Impacto: Como impacto del cambio puede ocurrir que ciertos clientes con versiones viejas de sus exploradores de Internet no puedan navegar la página debido a la obligatoriedad de encripción mayor o igual a 128 bits.
  • Más info: La versión 5.5 de IE con fecha de release de Julio de 2000 y posteriores vienen con el soporte para encripciones de 128 bits, la versión 5.01 necesitan la intalación del parche High Encription Pack . Como datos adicionales cabe destacar que el uso total de la cuota de mercado de Internet Explorer en Abril de 2009 es del 66,10% siendo 0,04% y 0,03% el uso de IE 5 y IE 5.5 respectivamente. Fuente Wikipedia. Todas las versiones de Firefox soportan cipher strength superiores a 128 bits. Fuente Mozilla. Firefox tiene el 22,51% de cuota de mercado. Fuente Wikipedia. Para poder chequear el cifrado que puede realizar un browser existe la siguiente página web (click aquí), esta es una buena opción para Customer Care en el caso de necesitar probar la encripción de algún cliente.

* Solución implementada:

Se agrego la directiva “SSLCipherSuite !ADH:HIGH:MEDIUM” en el file /etc/apache2/sites-available/ssl
* !ADH = Deshabilita el uso del ciphers “Anonymous Diffie-Hellman key exchange”
* HIGH:MEDIUM = SSL server accepts strong encryption only

  • See also:
  1. http://httpd.apache.org/docs/2.0/ssl/ssl_howto.html
  2. htttp://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslciphersuite
  3. htttp://www.derkeiler.com/Newsgroups/comp.os.linux.security/2008-02/msg00044.html

3) Outdated SSL v2 Protocol / SSL Version 2 Protocol Detection

  • Synopsis: The remote service encrypts traffic using a protocol with known weaknesses.
  • Description: The remote service accepts connections encrypted using SSL 2.0, which reportedly suffers from several cryptographic flaws and has been deprecated for several years. An attacker may be able to exploit these issues to conduct man-in-the-middle attacks or decrypt communications between the affected service and clients.
  • Más info: La encripción de SSL se utiliza para proveer una solución para la transmición de datos sensibles a través de Internet entre un cliente y un servidor web. IE 7 y posteriores deshabilitan el uso de SSLv2 y habilitan por default el uso de TLSv1 (desarrollo basado en SSLv3), esto quiere decir que las implementaciones de IE 7 y superiores solo negociaran conexiones HTTPS usando SSLv3 o TLSv1, se espera que firefox quite el soporte pasa SSLv2, en sus próximas versiones, aunque ya está el soporte para la versión 2 deshabilitado por default. Los siguientes exploradores soportan por default la versión 3 del protocolo SSL:
  1. Internet Explorer 5.5 or higher (PC)
  2. Internet Explorer 5.0 or higher (Mac)
  3. Netscape 2.0 (Domestic) or higher (PC/Mac)
  4. Firefox 0.8 or higher (PC/Mac/Linux)

Fuente: ApacheHacker

* Solución implementada:
o Editar el archivo “/etc/apache2/sites-available/ssl”, y agregar las siguientes líneas, simpre debajo de la directriz “SSLEngine on”:

# Deshabilitar el uso de SSLv2
SSLProtocol all -SSLv2
Restartear el Apache Web-Server

4) HTTP Server type and version

  • Synopsis :A web server is running on the remote host.
  • Description :A través de la información del tipo y versión del web-server se envía en los HTTP responses información que no es necesaria y que puede ser utilizada de forma indeseada, modificando estas dos directivas en la configuración del Apache se limita esta información, que solo viaja en los headers HTTP y no tienen injerencias en las aplicaciones.

* Solución implementada:

Editar el archivo “/etc/apache2/httpd.conf”, y agregar lo siguiente:

# Para no envíar nada configuración actual en la respuesta HTTP
ServerTokens Prod
# No envíar información en las páginas de error
ServerSignature Off
Restartear el Apache Web-Server

5) HTTP TRACE / TRACK Methods

  • Synopsis: Debugging functions are enabled on the remote web server.
  • Description: The remote webserver supports the TRACE and/or TRACK methods. TRACE and TRACK are HTTP methods which are used to debug web server connections.
  • Más info: Los métodos TRACE and TRACK definidos en la implementación del protocolo HTTP/1.1, se utilizan con el propósito de testing o debugging de los requests de un web-server pero traen aparejado un posible cross-site-scripting, al ser un método implementado en el protocolo los web-servers no toman este problema como un bug, por lo cual no existen parches y la única opción es deshabilitar el método, información sobre como deshabilitarlo (click aquí)

* Solución implementada:

Se deben realizar los siguientes pasos: Editar el archivo “/etc/apache2/httpd.conf”, y agregar lo siguiente

# Disable TRACE and TRACK method
TraceEnable off
Restartear el Apache Web-Server

Creditos de este Post a Diego Rivero, el es el auto completo de este texto, el gracias o los comentarios a el.

One Response to “Errores comunes de seguridad en Apache”

  1. Diego Says:

    Hola.

    En el punto numero 2, cuando se cita \"Para poder chequear el cifrado que puede realizar un browser existe la siguiente página web (click aquí), esta es una buena opción para Customer Care en el caso de necesitar probar la encripción de algún cliente.\"

    Podrias linkear el sitio? \"click aqui\" no es un enlace valido.

    Gracias por la data, me sirvieron muchisimo las configuraciones!

Leave a Reply

*