working setup personalizar pages page not htaccess found error conf apache ssl cryptography

setup - personalizar error 404 apache2



¿Cómo habilito el secret forward perfecto por defecto en Apache? (8)

Desde mi propia comprensión, debes activar SSLHonorCipherOrder y SSLHonorCipherOrder SSLCipherSuite con ECDHE y DHE cifrado openssl ciphers -v

Desde mi /etc/apache2/mods-available/ssl.conf :

SSLHonorCipherOrder on SSLCipherSuite ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:AES128-SHA:RC4-SHA:HIGH:!aNULL:!MD5:!ADH

Para probar su sitio web, puede usar: https://www.ssllabs.com/ssltest

Nota: El DHE de curva elíptica solo parece funcionar con Apache 2.3.3 o superior (consulte la source y el comentario de Bruno).

Advertencia: utilice las recomendaciones para la configuración de Apache de las respuestas a continuación. Para qué cifrado (s) utilizar (s): las normas de seguridad cambian con el tiempo y algunos de los consejos de seguridad que figuran a continuación ya están desactualizados.

A raíz de los recientes eventos, he estado reconsiderando mi configuración de Apache. Actualmente, la configuración del sitio de mi apache se ve así:

<IfModule mod_ssl.c> <VirtualHost *:80> ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com </VirtualHost> <VirtualHost *:443> ServerAdmin webmaster@localhost ServerName example.com DocumentRoot /var/www-wordpress <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www-wordpress> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined SSLCertificateFile /etc/ssl/certs/example.com.crt SSLCertificateKeyFile /etc/ssl/private/example.com.key SSLCertificateChainFile /etc/ssl/certs/sub.class1.server.ca.pem <FilesMatch "/.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-6]" / nokeepalive ssl-unclean-shutdown / downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost>

¿Qué debo hacer para respaldar el secreto perfecto? ¿Cómo puedo habilitar el secreto de envío perfecto de SSL de forma predeterminada? ¿Cómo podría aplicarlo?


Eche un vistazo a https://cipherli.st

Allí encontrará copiar y pegar fragmentos de configuración para varios servicios, que deberían garantizar una sólida configuración de seguridad SSL.


Este artículo lo ayudará a configurar la seguridad y a ponerlo al día sobre los estándares actuales - https://community.qualys.com/blogs/securitylabs/2013/08/05/configuring-apache-nginx-and-openssl-for- secreto hacia adelante

A partir del 16/09/2015, obtendrá un A en los resultados de la prueba SSLLabs.

SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder On SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4


Ingrese este código de cifrado en su httpd.conf en la directiva main / core conf:

SSLCipherSuite AES128+EECDH:AES128+EDH SSLProtocol All -SSLv2 -SSLv3 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)"

Incluso puede verificar el estado de qué tan seguro es probándolo en: https://www.ssllabs.com/ssltest/analyze.html ?


Las suites de cifrado que proporcionan Perfect Forward Secrecy son aquellas que usan una forma efímera del intercambio de claves Diffie-Hellman. Su desventaja es su sobrecarga, que se puede mejorar utilizando las variantes de la curva elíptica (ver el blog de Vincent Bernat ).

Las suites de cifrado en Apache Httpd (siempre que esté utilizando mod_ssl compilado con OpenSSL) se configuran utilizando SSLCipherSuite , que toma una lista como se vería al usar el comando de openssl ciphers . Si miras la página man de OpenSSL , encontrarás que kEDH es lo que estás buscando. (También puede listar conjuntos de cifrado individualmente).


Pruebe este código en su ssl.conf:

SSLProtocol +TLSv1.2 +TLSv1.1 +TLSv1 SSLCompression off SSLHonorCipherOrder on SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RC4-SHA:AES256-GCM-SHA384:AES256-SHA256:CAMELLIA256-SHA:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA

Por cierto,

Sugerencia del experto: El truco de división dividida (1 / n-1) se implementa en Firefox desde hace un tiempo. Por lo tanto, puede deshabilitar de forma segura RC4 en Firefox en el menú de configuración avanzada. Para hacerlo, ingrese ''about: config'' en su barra de direcciones, luego busque ''rc4'' y cambie todos los valores encontrados a ''falso''. Si tiene problemas de conexión, cambie esos parámetros a verdadero.

https://cc.dcsec.uni-hannover.de/

Estos sitios web le brindan información sobre las suites de cifrado SSL que su navegador admite para proteger las conexiones HTTPS.


Qué tal si:

SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder On SSLCipherSuite EECDH+AES:EDH+AES:-SHA1:EECDH+RC4:EDH+RC4:RC4-SHA:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5

Tenga en cuenta la adición de la bandera -SSLv3 para deshabilitar SSLv3. Esto se agrega para proteger contra el ataque de POODLE .

Esto preferirá un secretismo perfecto, pero no a expensas de ser vulnerable al ataque BEAST. Como a Apache le falta una forma de configurar las preferencias de cifrado según la versión del protocolo, lo falsifico haciendo referencia a los sistemas de cifrado que solo están disponibles en los protocolos más nuevos. Específicamente, AES solo estaba disponible con hash SHA1 hasta TLSv1.2. Por lo tanto, la lista comienza con los cifrados Diffie-Hellman efímeros TLSv1.2, luego RC4 (primero con DH efímero, luego sin) y finalmente una opción AES vulnerable a BEAST. La exclusión de auth / encryption débil / hashing débil al final es solo para una buena higiene y podría omitirse ya que no se introdujeron dichos cifrados. Si el rendimiento es una preocupación, use EECDH solamente y omita EDH.

En combinación con Apache 2.2 (por lo tanto no hay EECDH como @Bruno dice), por https://www.ssllabs.com/ssltest/analyze.html , esto logra PFS para iOS Safari solamente. IE y Firefox son TLSv1.0, por lo que obtienen RC4 para evitar BEAST. (Desgraciadamente, no existe EDH RC4, por lo tanto, sin EECDH, abandona PFS). Esto es, creo, lo mejor que se puede esperar con esos buscadores en Apache 2.2. Chrome es el único mal atendido, ya que admite TLSv1.1 y podría usar EDH AES sin ser vulnerable a BEAST. En cambio, obtiene RC4-RSA como Firefox e IE. La actualización de Apache para habilitar EECDH RC4 debe tener PFS para Firefox, IE y Chrome.

Actualización 2013-11-09:

He encontrado algunas recomendaciones alternativas en la web. Ponen menos énfasis en la protección de BESTIA (tal vez sea sabio, BEAST es en su mayoría mitigada por el lado del cliente ahora ) y más énfasis en el secreto perfecto. En diversos grados, también tienen preferencias más fuertes por GCM y una mayor renuencia a aceptar RC4.

De particular interés son, creo, las siguientes recomendaciones:

Personalmente, voy a ir con Mozilla OpSec''s. Su razonamiento está bien explicado en su página. De nota, ellos prefieren AES128 sobre AES256. En sus palabras: " [AES128] proporciona buena seguridad, es realmente rápido y parece ser más resistente a los ataques de sincronización " .

Cabe destacar en las recomendaciones de Ivan Ristic y Geoffroy Gramaize que SSLv3 está desactivado. Creo que esto solo rompe IE6, aunque algunas diferencias relacionadas con la seguridad entre SSLv3 y TLS v1.0 se mencionan en Wikipedia .

También antes no hablé sobre CRIME y BREACH . Para protegerse contra CRIME, deshabilite la compresión SSL. Esto está incluido en los ejemplos vinculados. Para proteger contra el INCUMPLIMIENTO, debe deshabilitar la compresión en el nivel HTTP. Para Apache 2.4, solo hazlo una vez a nivel mundial:

<Location /> SetEnvIfExpr "%{HTTPS} == ''on''" no-gzip </Location>

Para versiones anteriores de Apache, ubíquelo en cada VirtualHost donde está SSLEngine:

<Location /> SetEnv no-gzip </Location>

Actualización 14/10/2014: la guía Mozilla OpSec ahora se divide en recomendaciones para compatibilidad antigua / intermedia / moderna. Con la configuración de intermedia o moderna, terminas con SSLv3 deshabilitado. Eso protegerá contra el ataque de POODLE.


SSLLabs un grado A (septiembre de 2016) en SSLLabs todavía admite Windows XP / Internet Explorer 8 usando esta configuración ssl.conf en Apache:

SSLProtocol All -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite EECDH+AESGCM:AES256+EECDH:DES-CBC3-SHA

En resumen: solo se permite TLS : todas las versiones son compatibles con compatibilidad y el cifrado DES-CBC3-SHA también admite compatibilidad. La primera, dos cifras preferidas están usando la curva elíptica Diffie-Hellman , la última fue añadida como una alternativa porque esta es una buena opción entre las cifras disponibles XP / IE . Si ha instalado la última versión de OpenSSL disponible, esta mezcla es suficiente para obtener una A en el momento en que estoy escribiendo.

Espero que esto sea útil.