Redes

Cómo proteger su servidor Apache 2 en cuatro pasos

apachehero

Apache es uno de los servidores web más utilizados del planeta, y con su popularidad surge la necesidad de garantizar su seguridad. Si bien las plataformas que alojan con mayor frecuencia Apache (Linux) disfrutan de un nivel de seguridad que muchas otras plataformas no tienen, eso no significa que deba instalar y olvidarse de los servidores web de código abierto. Dada la demanda sin precedentes de seguridad, debe hacer todo lo posible para proteger su instalación de Apache 2 lista para usar.

Informes de seguridad de lectura obligada

Aquí hay cuatro trucos que puede implementar (tres fáciles y uno que requiere un poco de investigación) para brindar más seguridad a su instalación de Apache.

1: solo ejecute los módulos necesarios

Fuera de la caja, Apache 2 habilita muchos módulos que quizás no necesite (solo usted puede decidir qué módulos deben ejecutarse en su servidor). Pero, ¿cómo saber qué módulo se está ejecutando? Si desea deshabilitar uno o dos módulos, ¿cómo evita que se ejecuten módulos innecesarios?

Primero, debe averiguar qué módulos están habilitados en su sistema. Demostraré cómo hacer esto desde una instalación de Apache 2 en Ubuntu Server 16.04.

Abra una ventana de terminal y emita el comando sudo ls /etc/apache2/mods-enabled/; debería ver un resultado similar al del interior Figura A.

Figura A

apacheseca

Apache 2 proporciona una herramienta útil para deshabilitar módulos. Suponga que desea deshabilitar el módulo de indexación automática. Para evitar que se cargue el módulo de indexación automática, puede ejecutar el siguiente comando:

índice automático sudo a2dismod

Después de ejecutar el comando, se le indicará que puede desactivar el módulo escribiendo la frase Sí, ¡haga lo que digo! notas: Solo los módulos que puedan afectar negativamente la funcionalidad del servidor le avisarán. Digamos que desea deshabilitar el módulo de estado; emitiría el comando sudo a2dismod status y el módulo se deshabilitaría.

Después de deshabilitar los módulos necesarios, reinicie Apache con el siguiente comando:

reinicio del servicio sudo apache2

2: habilitar ModSecurity

ModSecurity es un firewall de aplicaciones web gratuito que funciona con Apache. Utiliza un motor de reglas flexible para realizar operaciones simples y complejas para evitar ataques como inyección SQL, secuencias de comandos entre sitios, troyanos, agentes de usuario incorrectos, secuestro de sesiones y más.

Debe comprender que ModSecurity es muy complejo y puede cambiar la capacidad de su sitio para publicar páginas. Es aconsejable tener una buena comprensión de ModSecurity antes de habilitar esta función. Para obtener más información, consulte la documentación oficial de ModSecurity.

Ver: Política de Ciberseguridad (Tech Pro Research)

De forma predeterminada, ModSecurity no está instalado. Aunque el proceso de instalación es bastante sencillo, la configuración puede ser desalentadora. Para instalar ModSecurity, siga los pasos a continuación.

  1. Abra una ventana de terminal en el servidor Apache.
  2. Emita el comando sudo apt-get install libapache2-modsecurity.
  3. Utilice el comando sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf para cambiar el nombre del archivo de configuración de ejemplo.
  4. Abra el archivo recién creado para editarlo con el comando sudo nano /etc/modsecurity/modsecurity.conf.
  5. Agregue la línea SecRuleEngine On en la sección de inicialización del motor de reglas.
  6. Reinicie Apache con el comando sudo service apache2 restart.

Ahora necesita editar el archivo de configuración de ModSecurity. Abra el archivo con el comando sudo nano /etc/apache2/mods-enabled/security2.conf y agregue las siguientes líneas:

Incluya «/usr/share/modsecurity-crs/*.conf» opcional
​IncluirOpcional «/usr/share/modsecurity-crs/base_rules/*.conf

Guarde y cierre el archivo y reinicie Apache con el comando sudo service apache2 restart.

Si termina recibiendo errores en su sitio, deberá revisar /var/log/apache2/error.log y buscar errores con entradas similares [id “960017”] (Este es un error 403 prohibido). Una vez encontradas, puede deshabilitar estas reglas (por ID) usando la opción SecRuleRemoveById en la directiva de Apache.

3: Limite las solicitudes grandes

De forma predeterminada, Apache no establece un límite en el tamaño de las solicitudes HTTP que acepta; esto podría provocar que un atacante envíe grandes cantidades de datos para apagar el servidor. Esto se configura por directorio.

Por ejemplo, supongamos que creó una directiva para servir la carpeta /var/www/clients. La directiva podría verse así:

alias /clientes «/var/www/clientes»

​ Option+FollowSymlinks
​AllowOverride All

​Dav cierra
​

SetEnv INICIO /var/www/clientes
​SetEnv HTTP_HOME /var/www/clients

Suponiendo que desea bloquear el directorio para no más de 100 000 solicitudes, puede agregar la siguiente línea en AllowOverride All:

Limite el cuerpo de la solicitud a 102400

Guarde y cierre el archivo. Vuelva a cargar Apache con el siguiente comando (no tiene que hacer un reinicio completo):

sudo service apache2 recargar

4: Restringir la navegación a directorios específicos

No desea que los usuarios puedan buscar contenido fuera de un directorio específico.

Suponiendo que tiene un sitio de Nextcloud servido desde su servidor Apache, esto es todo lo que quiere que todos vean; debe denegar el acceso a la raíz del documento y luego permitir el acceso al directorio de Nextcloud. A los efectos de este ejemplo, diremos que la raíz del documento es /var/www/ y el directorio de Nextcloud es /var/www/nextcloud.

Primero, tenemos que abrir /etc/apache2/apache2.conf.Encuentre la directiva raíz del documento (comenzará con ) y cambiar la directiva para reflejar lo siguiente:

​Pedido denegado, permitido
negar a todos
​ Opciones Ninguna
​ AllowOverride Ninguno
​

Guarde y cierre el archivo.Abra el archivo de configuración de Nextcloud en /etc/apache2/sites-enabled y agregue lo siguiente a continuación :

orden permitida, denegada
​Permitir a todos

Vuelva a cargar Apache con el comando sudo service apache2 reload. Ahora debería recibir una advertencia de supresión cuando intente ver la raíz del documento, y su sitio de Nextcloud debería funcionar como se esperaba.

Continuar estudiando

Hay muchas formas de proteger su servidor Apache. Comience con estos cuatro consejos (recuerde investigar más sobre ModSecurity), luego encuentre más formas de proteger su servidor web de ataques y usuarios malintencionados.

LEER  Cómo exportar datos de Google Workspace para su organización

Deja una respuesta

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

Botón volver arriba