Estoy aprendiendo mucho más sobre el servidor HTTPD de Apache, pero sigo siendo sobre todo un novato.

Recientemente, he estado trabajando en el ajuste de la seguridad, agregando encabezados a un VirtualHost. Pero, si tengo un httpd.conf con (Di) 10 Definiciones de VirtualHost, ¿es necesario agregar el mismo encabezado (s) a las 10 definiciones de VirtualHost?

¿Es posible tener una sección de httpd.conf (o un archivo de teléfono electrónico separado que se incluirá en todas las definiciones de VirtualHost, sin tener que agregar individualmente el encabezado a cada definición de VirtualHost?

Entonces, es posible, en lugar de hacer:

<VirtualHost *:80>
    ServerAdmin my@myorg.com
    ServerName  www.myorg.com
    Strict-Transport-Security: max-age=31536000; includeSubDomains
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin my@myorg.com
    ServerName  www2.myorg.com
    Strict-Transport-Security: max-age=31536000; includeSubDomains
</VirtualHost>
<VirtualHost *:443>
    ServerAdmin my@myorg.com
    ServerName  www.myorg.com
    Strict-Transport-Security: max-age=31536000; includeSubDomains
    SSLEngine On
    SSLProtocol ALL -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder on
    SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 H+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"
    SSLCertificateFile      /etc/httpd/conf/ssl_certs/nitssolutions.com/nitssol1_cert.pem
     SSLCertificateKeyFile   /etc/httpd/conf/ssl_certs/nitssolutions.com/nitssol1_key.key
     SSLCertificateChainFile    /etc/httpd/conf/ssl_certs/nitssolutions.com/gd_bundle-g2-g1.crt

</VirtualHost>
<VirtualHost *:443>
    ServerAdmin my@myorg.com
    ServerName  www2.myorg.com
    Strict-Transport-Security: max-age=31536000; includeSubDomains
    SSLEngine On
    SSLProtocol ALL -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder on
    SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"
    SSLCertificateFile      /etc/httpd/conf/ssl_certs/nitssolutions.com/nitssol1_cert.pem
    SSLCertificateKeyFile   /etc/httpd/conf/ssl_certs/nitssolutions.com/nitssol1_key.key
    SSLCertificateChainFile    /etc/httpd/conf/ssl_certs/nitssolutions.com/gd_bundle-g2-g1.crt
</VirtualHost>

¿Es posible definir una sección de httpd.conf (o un archivo de inclusión de httpd.conf), donde puedo poner estos encabezados y otras directivas una vez y pídales que se apliquen a todos definiciones de virtualhost?

Algo así como: sección específica de httpd.conf:

    Strict-Transport-Security: max-age=31536000; includeSubDomains
SSLProtocol ALL -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder on
    SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 H+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"

Y luego, cuando defino un VirtualHost, solo hago:

<VirtualHost *:80>
    ServerAdmin me@myorg.com
    ServerName  www.myorg.com
</VirtualHost>
<VirtualHost *:443>
    ServerAdmin me@myorg.com
    ServerName  www.myorg.com
</VirtualHost>

De esta manera, puedo definir (y, en el futuro, cambiar) mis directivas relacionadas con la seguridad en un solo lugar, y no tienen que hacer ajustes en 5 o 10 o 20 o más lugares?

¿Posible?

0
Mark J. Bobak 28 jun. 2019 a las 17:56

1 respuesta

La mejor respuesta

Hay un par de opciones.

Opción 1: La configuración en el contexto global (fuera de cualquier virtualhost) se aplica a todos. Consulte https://serverfault.com/questions/834349/834349/Does -Apache2-Have-A-Way-of-Sarting-Global-Vhosts

Opción 2: MOD_MACRO. Puede configurar Macros para simplificar la configuración múltiple. Consulte https://httpd.apache.org/docs/2.4/es /mod/mod_macro.html

Opción 3: Configuraciones dinámicas de Mass VirtualHost. Aquí usas comodines. Consulte https://httpd.apache.org/docs/2.4/es /vhosts/mass.html

1
Nic3500 28 jun. 2019 a las 16:31