Lista de verificación de las mejores prácticas de seguridad de Apache de 14 pasos (libro electrónico incluido)

Lista de verificación de las mejores prácticas de seguridad de Apache de 14 pasos (libro electrónico incluido)

Apache sigue siendo actualmente el software de servidor web líder en el mundo con una 45,8% de cuota de mercado. Eso termina siendo alrededor de 80 millones de sitios web cuyos servidores web funcionan con Apache. Bastante impresionante, ¿verdad?

Apache es un software de servidor web de código abierto que existe desde 1995, lo que dice mucho sobre su fiabilidad y longevidad. Luego están los sitios web de primer nivel que se ejecutan en servidores Apache: Apple, Adobe y Paypal son solo algunos de los grandes marcas que confían sus sitios web a Apache.

Por supuesto, esto no hace que Apache sea 100% seguro, ya que ningún software estará 100% a salvo de los piratas informáticos, especialmente cuando se trata de una plataforma tan conocida y confiable (como WordPress). Pero si está buscando un libro electrónico, módulo, guía, tutorial, marco o lista de verificación de Apache Security PDF Web Server Security, ha venido al lugar correcto.

Si desea reforzar su seguridad de Apache o tiene problemas de seguridad de Apache o está tratando de reparar una vulnerabilidad o dos, la siguiente lista de verificación le proporcionará 14 mejores prácticas de seguridad para agregar a su plan de seguridad de sitio web.

Lista de verificación de las mejores prácticas de seguridad de Apache

Para aquellos de ustedes que realmente quieran fortalecer su sitio web de WordPress, es esencial que asegure Apache como lo haría con cualquier otro software que conecta y alimenta su sitio web. No hacerlo puede afectar incluso a la velocidad de su sitio. Así que así es como lo vas a hacer:

1. Actualiza Apache

¿Sabe cómo WordPress y todos los complementos y temas que instaló deben actualizarse regularmente? Tu servidor web también.

Si le preocupa que su sitio no se esté ejecutando en la versión más reciente de Apache, puede verificarlo con una línea de comando httpd -v. Si la versión producida no coincide Actual desde Apache puede actualizarlo con lo siguiente:

# yum update httpd
# apt-get install [add Apache version here]c

2. Activar registros

Si está trabajando con un proveedor de alojamiento administrado de WordPress, ellos se encargarán de monitorear su servidor y WordPress en busca de vulnerabilidades y otras señales de advertencia. Dicho esto, también debe vigilar el tráfico de su servidor.

Con Apache, puede acceder a este registro de actividad actualizando su módulo mod_log_config. Básicamente, le dirá qué están haciendo los usuarios cada vez que tocan su servidor.

3. Obtenga un certificado SSL

Dado que su servidor web maneja todas las solicitudes del navegador / servidor en su sitio web, es importante protegerlo con un certificado SSL. La buena noticia es que ahora puede obtener un certificado SSL de forma gratuita. Esto es más importante que nunca, por lo que si no tiene la capacidad técnica para instalarlo usted mismo, cualquier proveedor de alojamiento de calidad podrá hacerlo por usted.

4. Agrega un firewall

Además de la protección adicional del cifrado SSL, su servidor web debe estar reforzado con un firewall. Para Apache, esto significa activar ModSecurity.

Para instalarlo en su servidor, puede realizar las siguientes operaciones:

# yum install mod_security
# /etc/init.d/httpd restart

Una vez que el firewall esté activo, evitará que una serie de actividades maliciosas lleguen a su servidor, como la inyección de SQL, el secuestro de sesiones y las secuencias de comandos entre sitios.

5. Instale mod_evasive

Mod_evasive es el módulo que protegerá su servidor Apache de la fuerza bruta y los ataques DDoS, así que asegúrese de que esté habilitado también. Incluirá en la lista negra los intentos de inicio de sesión simultáneos y fallidos y supervisará las direcciones IP maliciosas.

6. Establezca los límites HTTP

Los ataques de denegación de servicio distribuido (DDoS) son bastante fáciles de bloquear si sabe qué tipo de acciones debe vigilar. Dado que los ataques DDoS tienden a ocurrir al atacar repetidamente su servidor con grandes solicitudes, su objetivo debe ser establecer límites que eviten que esto suceda.

Estos son algunos de los límites que querrá establecer:

  • KeepAlive = habilitado
  • Mantener con vida el tiempo de espera
  • LimitRequestBody
  • LimitRequestFields
  • LimitRequestFieldSize
  • LimitRequestLine
  • LimitXMLRequestBody
  • Clientes de Max
  • MaxKeepAliveRequests
  • MaxRequestWorkers
  • RequestReadTimeout
  • Tiempo libre

7. Elimine los módulos no utilizados

Al dejar módulos sin usar, sin mantenimiento o caducados en su servidor Apache, está dejando su sitio abierto a los piratas informáticos a través de un punto de entrada que ni siquiera necesita estar allí.

Lo primero que debe hacer es averiguar qué módulos están realmente activos. Puede hacer esto usando un comando LoadModule. Una vez que haya revisado la lista e identificado los módulos que no necesita, simplemente agregue el símbolo “#” antes de cada módulo que desee deshabilitar y luego reinicie.

8. Modifique el usuario y el grupo predeterminados.

La configuración predeterminada y los usuarios que se dejan en cualquier software, en general, es una mala práctica de seguridad. La razón es simple: si usa el nombre de usuario o grupo predeterminado de Apache, puede apostar a que los piratas informáticos también saben cuáles son esos nombres predeterminados.

En lugar de dejar los valores predeterminados en su lugar, debe crear una nueva cuenta sin privilegios para ejecutar sus procesos de Apache. Usando los comandos # groupadd y # useradd, puede definir las nuevas entidades. No olvide actualizar su httpd.conf con los nuevos nombres de usuario y grupos que creó.

9. Bloquear el acceso al directorio

Aquí hay otro ejemplo de la configuración predeterminada que debe cambiarse. En este caso, es el acceso otorgado a los archivos en su directorio lo que permite a cualquiera explorar cualquier lugar que desee.

Para configurar un bloque total, use el siguiente comando:

<Directory "https://wpbuffs.com/">
Require all denied
</Directory>

Si desea permitir el acceso a ciertos usuarios, puede hacerlo con esto:

<Directory "/usr/users/*/public_html">
Require all granted
</Directory>

Si desea habilitar el acceso a ciertas carpetas en el directorio, puede hacerlo con esto:

<Directory "/usr/local/httpd">
Require all granted
</Directory>

También puede consultar el Repositorio de módulos de Apache para refinar aún más los derechos de acceso de los usuarios.

10. No publique el directorio

¿Sabía que si su servidor no tiene un archivo de índice, los usuarios podrán ver todo el contenido que ha almacenado en su directorio raíz? Obviamente, esto no es bueno, por lo que deberá deshabilitar esta configuración predeterminada con lo siguiente:

<Directory /var/www/html>
Options -Indexes
</Directory>

11. Ocultar los detalles del servidor

Como Apache es un software de código abierto, los detalles sobre la versión que se utiliza están disponibles si estas configuraciones no están deshabilitadas en el lado del servidor. Debido a que los piratas informáticos pueden usar esta información confidencial para determinar cómo ingresar a su servidor, querrá bloquear esta información.

Hay dos cosas que querrás apagar:

  • ServerSignature – que es la versión de Apache
  • ServerTokens, que incluye la versión del sistema operativo, entre otros detalles confidenciales del servidor

Otros usuarios pueden encontrar esta información simplemente mostrando una página de error en su sitio web, por lo que es muy importante evitar que se muestre. Para hacer esto, actualice httpd.conf con lo siguiente:

ServerSignature Off
ServerTokens Prod

12. Ocultar la ETag

los Encabezado ETag en Apache, desafortunadamente, incluye una serie de detalles sensibles sobre su servidor. Obviamente, cualquier cosa que comparta este tipo de información con el mundo exterior debe mantenerse oculta. Además, si está ejecutando un sitio web de comercio electrónico, deberá ocultarlo para que sea compatible con PCI.

Para hacer esto, agregue la siguiente directiva a su httpd.conf:

FileETag None

13. Deshabilitar el reemplazo de .htaccess

El .htaccess es un archivo importante para cualquier sitio web de WordPress. Es por eso que debe bloquearlo y asegurarse de que nadie más pueda anular sus ajustes de configuración.

Para deshabilitar esto, agregue lo siguiente a su httpd.conf en la raíz:

<Directory />
Options -Indexes
AllowOverride None
</Directory>

14. Deshabilite SSI y CGI

Los archivos activados del lado del servidor (SSI) pueden abrir su sitio a una serie de problemas de seguridad si no se marcan. Lo mismo ocurre con los scripts CGI. Para evitar que cualquiera de ellos permita a los piratas informáticos sobrecargar su servidor o inyectar scripts maliciosos en su código, no olvide deshabilitarlos o restringir lo que hacen a través de la directiva Opciones.

A continuación, se muestran algunos valores de opción que puede utilizar:

  • Opciones Todo
  • Las opciones incluyen NOEXEC
  • Opciones -Incluye
  • -Opciones de ExecCGI
  • Opciones -Incluye -ExecCGI
  • Opciones de MultiView

Cuida tu servidor Apache

En un esfuerzo por hacer que su sitio web sea más seguro, preste mucha atención a su servidor Apache. Problemas como configurar mal el servidor y dejar la configuración predeterminada en su lugar pueden poner su sitio en riesgo tanto como un kernel desactualizado o prácticas de codificación PHP inseguras.

¿Quieres dar tu opinión o unirte a la conversación? Agrega tus comentarios 🐦 en Twitter.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba