1. Ocultar la versión y el sistema operativo de Apache

De forma predeterminada, la versión y el sistema operativo de Apache se muestran en los encabezados de respuesta como se muestra a continuación. Este es un problema de seguridad importante.

Para ocultar estos detalles, agregue las dos líneas al archivo de configuración de Apache /etc/httpd/conf/httpd.conf

ServerSignature Off # Removes version info
ServerTokens Prod #Changes header to production, removing OS detail

Luego recargue Apache:

$ sudo systemctl reload httpd

Actualice el navegador y encontrará que la versión y los detalles del sistema operativo se han eliminado como se muestra a continuación:

2. Desactive la lista de directorios y FollowSymLinks.

De forma predeterminada, la lista de directorios está habilitada para todos los archivos en el directorio raíz web si no hay un archivo de índice (ver más abajo). Esto permite a los piratas informáticos ver y analizar los archivos en el directorio de su servidor web y maximizar la vulnerabilidad más pequeña disponible para lanzar un ataque.

Además, por defecto, Apache está configurado para seguir enlaces simbólicos, lo que no es recomendable.

Para desactivar esto, edite el archivo de configuración haciendo clic en «– –«Antes de cada directiva de etiqueta en la línea Índices de opciones FollowSymLinks volverse Opciones-Índices -FollowSymLinks Como se muestra abajo:

# Further relax access to the default document root:
<Directory "/var/www/html">
  #
  # Possible values for the Options directive are "None", "All",
  # or any combination of:
  #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
  #
  # Note that "MultiViews" must be named *explicitly* --- "Options All"
  # doesn't give it to you.
  #
  # The Options directive is both complicated and important.  Please see
  # http://httpd.apache.org/docs/2.4/mod/core.html#options
  # for more information.
  #
  Options -Indexes -FollowSymLinks
  #
  # AllowOverride controls what directives may be placed in .htaccess files.
  # It can be "All", "None", or any combination of the keywords:
  #   Options FileInfo AuthConfig Limit
  #
  AllowOverride None
  #
  # Controls who can get stuff from this server.
  #
  Require all granted
</Directory>

Luego recargue el servicio Apache

Actualice el navegador y encontrará que los archivos ya no se pueden ver y, en su lugar, generará mensajes de error 403 prohibidos como se muestra a continuación:

3. Asegure Apache con los módulos mod_security y mod_evasive

Mod_security: Sirve como firewall para aplicaciones y servidores web y ofrece protección contra ataques de fuerza bruta. Solo necesita ser instalado, luego reiniciar el servicio Apache y hacer la magia.

$ sudo yum install mod_security -y
$ sudo systemctl restart httpd

Mod_evasivo: Detecta y proporciona protección contra ataques de fuerza bruta HTTP y DDOS. Siempre detecta ataques cuando: tantas solicitudes se dirigen a un lado varias veces por segundo; La IP incluida temporalmente en la lista negra todavía está intentando realizar una nueva solicitud. El proceso hijo intenta realizar más de 50 solicitudes simultáneas. Al igual que con mod_security, solo es necesario instalarlo, luego reiniciar el servicio Apache y la magia funcionó.

$ sudo yum install mod_evasive -y
$ sudo systemctl restart httpd

4. Limita el tamaño de la solicitud

De forma predeterminada, la solicitud HTTP en Apache es ilimitada, por lo que el servidor web es vulnerable a los ataques DoS al mantenerlo abierto para una gran cantidad de solicitudes. Por ejemplo, hay un sitio donde los usuarios pueden cargar archivos. Entonces es importante establecer un límite en el tamaño de carga. Esto se puede hacer configurando LimitRequestBody para este directorio de carga en particular de la siguiente manera:

<Directory "/var/www/html/wp_content/uploads">
LimitRequestBody 10485760
</Directory>

El tamaño de carga se estableció al máximo. 10 megabytes. El límite máximo permitido suele ser 2 GB.

Luego reinicie / recargue el servicio Apache.

5. Deshabilite la solicitud TRACE HTTP

De forma predeterminada, la solicitud HTTP de seguimiento está habilitada para que sea posible el seguimiento entre sitios. Esto permite a un pirata informático robar información de cookies fácilmente. Al desactivar la solicitud HTTP de seguimiento, mod_proxy y el servidor central devuelven el mensaje de error «405 – método no permitido» a los clientes. El requisito de seguimiento se desactiva agregando la siguiente línea al archivo de configuración.

TraceEnable off

Guarde el archivo y vuelva a cargar el servicio Apache.

Nota especial: consulte la página de los mejores servicios de hosting de Linux de Hosting Más Barato para conocer los mejores servicios de hosting de Linux.

Consulte los 3 principales servicios de hosting de servidores dedicados: