Apache2 en 2019

Si, Apache2 en 2019, y no es troleo. Teniendo una empresa en la que se requiere usar Apache pues el hosting donde está su sitio no les permite usar otro servidor HTTP, me dí a la tarea de estudiarme la configuración este muchachón, que desde 2012, no lo uso, en favor de Nginx.

Aquí vamos!

Se debía montar un sitio web en Apache2 con TLS 1.2[certificado autofirmado, pues no tienen acceso a Let’s Encrypt] o superior, habilitarle el HTTP2 y el cifrado de datos mediante parámetros DH.

Arranqué con una configuración de Apache 2.2, que como todo lo de Apache cuando cambia de versión, no funciona. Modificando y editando como todo un campeón, llegué a esto:

nano /etc/apache2/sites-available/web.conf

<VirtualHost *:80>
    ServerName web.inutil.cu
    Redirect / https://web.inutil.cu/
</VirtualHost>

<VirtualHost *:443>
  ServerName web.inutil.cu
  ServerAlias web.inutil.cu
  DocumentRoot /srv/web-inutil.cu
  <Directory /srv/web-inutil.cu>
      DirectoryIndex index.php index.html
      AllowOverride All
      Options Indexes FollowSymLinks Includes ExecCGI
      Require all granted
  </Directory>
  SSLEngine on
  SSLOpenSSLConfCmd DHParameters /etc/apache2/ssl/dhparam.pem
  SSLCertificateFile /etc/apache2/ssl/inutil.crt
  SSLCertificateKeyFile /etc/apache2/ssl/inutil.key
  SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
  Header always set X-Frame-Options DENY
  Header always set X-Content-Type-Options nosniff
  SSLCompression off
  SSLSessionTickets Off
  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
  Protocols h2 h2c http/1.1
  ProtocolsHonorOrder Off
  SSLHonorCipherOrder on
  ErrorLog /var/log/apache2/inutil-error.log
  LogLevel warn
  CustomLog /var/log/apache2/inutil-access.log combined
</VirtualHost>

Ahora bien. Creamos los certificados en /etc/apache2/ssl:

mkdir /etc/apache2/ssl
openssl dhparam 2048 -out > /etc/apache2/ssl/dhparam.pem
openssl genrsa -out /etc/apache2/ssl/inutil.key 4096
openssl req -out /etc/apache2/ssl/inutil.csr -key /etc/apache2/ssl/inutil.key -new -sha256
openssl x509 -req -days 3650 -in /etc/apache2/ssl/inutil.csr -signkey /etc/apache2/ssl/cmsimple.key -out /etc/apache2/ssl/inutil.crt -sha512

Habilitamos los módulos necesarios:

a2enmod ssl
a2enmod http2
a2enmod headers
a2enmod rewrite

Habilitamos el sitio:

a2ensite web.conf

Y reiniciamos Apache2:

/etc/init.d/apache2 restart

Por el momento eso es todo y funciona muy bien, me queda estudiar como darle un tilín más de seguridad, pero eso es para otro día, no muy lejano. Como siempre sigo, espero les sirva, y un saludo a los que nos leen.

¿Te resultó interesante? Compártelo ...



Koratsuki

Publicado por Koratsuki

http://admlinux.cubava.cu/ » Facebook » Twitter » Instagram » Forma parte de GUTL desde el 20 agosto, 2013. Nadando en aguas linuxeras desde el 2001-2002 con un RedHat 7.2. He pasado por muchas distros, pero me mantengo entre Slackware y Debian. Amo la línea de comandos, el software libre y toda cultura geek asociada. Friky DeathGrindCore - DeathMetalero, el primero siempre en ayudar o dar ideas, programador de PHP y alguito de Python. Linux user: #445535. Actualmente Técnico en Electrónica, Administrador de Red y Troll.

Este artículo tiene 4 comentarios

  1. Genial…

    También llevo un tiempo sin usarlo, aunque siempre fui fan del muchachon… Nginx hoy día cumple esta tarea a las mil maravillas…

  2. Poco a poco Apache a ido decreciendo en su utilización. Si bien, en un principio Nginx era utilizado por cuestiones de rendimiento, hoy día ya no quedan muchos apartados dónde Apache lo supere. Yo suelo utilizar Apache por cuestiones practicas (configuración) más que nada.

    Saludos.

Los comentarios están cerrados.