Si le preocupa la seguridad de su servidor Apache, estos cuatro consejos le ayudarán a mantener el sistema seguro.

    Apache es uno de los servidores web más utilizados en el planeta, y con esa popularidad viene la necesidad de garantizar su seguridad. Aunque la plataforma que más a menudo aloja Apache (Linux) disfruta de un nivel de seguridad que muchas otras plataformas no tienen, eso no significa que deba instalar y olvidar el servidor web de código abierto. Teniendo en cuenta que la necesidad de seguridad está en su punto más alto de todos los tiempos, debería hacer todo lo que pueda para proteger su instalación de Apache 2 desde el primer momento.

    Más información sobre ciberseguridad

    Aquí hay cuatro consejos que puede implementar (tres con facilidad y uno con un poco de investigación) que aportan seguridad añadida a su instalación de Apache.

    1: Ejecute sólo los módulos necesarios

    Fuera de la caja, Apache 2 habilita una serie de módulos que puede que no necesite (sólo usted puede decidir qué módulos deberían estar ejecutándose en su servidor. Pero, ¿cómo se puede saber qué módulos se están ejecutando? Y si desea deshabilitar uno o dos módulos, ¿cómo puede evitar que se ejecuten módulos innecesarios?

    En primer lugar, debe averiguar qué módulos están habilitados en su sistema. Le 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 una salida similar a la de la .

    Apache 2 ofrece una herramienta muy útil para deshabilitar módulos. Supongamos que desea desactivar el módulo de autoindexación. Para evitar que el módulo autoindex se cargue, debe ejecutar el comando:

    sudo a2dismod autoindex

    Después de ejecutar el comando, se le pedirá que desactive el módulo escribiendo la frase Sí, ¡haga lo que le diga! Nota: Sólo los módulos que puedan tener un impacto negativo en la capacidad de funcionamiento del servidor le darán esa advertencia. Supongamos que desea deshabilitar el módulo de estado; emitirá el comando sudo a2dismod status, y el módulo se deshabilitará.

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

    sudo service apache2 reiniciar

    2: Habilitar ModSecurity

    ModSecurity es un Web Application Firewall gratuito que funciona con Apache. Utiliza un motor de reglas flexible para realizar operaciones simples y complejas para prevenir ataques como inyección SQL, secuencias de comandos entre sitios, troyanos, malos agentes de usuario, secuestro de sesión y mucho más.

    Usted debe entender que ModSecurity es increíblemente complejo y puede alterar la capacidad de su sitio para servir páginas. Sería prudente entender completamente ModSecurity antes de habilitar esta función. Para más información, consulte la documentación oficial de ModSecurity.

    VER: Política de seguridad de redes (Tech Pro Research)

    Por defecto, ModSecurity no está instalado. Aunque el proceso de instalación es bastante simple, la configuración puede ser desalentadora. Para instalar ModSecurity, siga estos pasos.

    1. Abra una ventana de terminal en su servidor Apache.
    2. Emita el comando sudo apt-get install libapache2-modecurity.
    3. Renombre el archivo de configuración de ejemplo con el comando sudo mv /etc/modsecurity/modsecurity.conf-recomendado /etc/modsecurity/modsecurity.conf.
    4. Abra el archivo recién creado para editarlo con el comando sudo nano /etc/modecurity/modecurity.conf.
    5. Añada la línea SecRuleEngine On en la sección 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 ese archivo con el comando sudo nano /etc/apache2/mods-enabled/security2.conf y añada las siguientes líneas:

    IncludeOpcional "/usr/share/modecurity-crs/*.conf"IncludeOpcional "/usr/share/modecurity-crs/base_rules/*.conf

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

    Si termina obteniendo errores en su sitio, tendrá que buscar en /var/log/apache2/error.log y buscar errores con entradas como[id «960017»] (que es un error Forbidden 403. Una vez que lo encuentre, puede deshabilitar esas reglas (por ID) usando la opción SecRuleRemoveById en sus directivas de Apache.

    3: Limitar las solicitudes grandes

    Por defecto, Apache no pone un límite al tamaño de las peticiones HTTP que acepta; esto puede llevar a que un atacante envíe una gran cantidad de datos para destruir el servidor. Esto se configura en base a cada directorio.

    Digamos, por ejemplo, que usted creó una directiva para servir la carpeta /var/www/clients. Esa directiva podría parecerse a la siguiente:

    Alias /clientes "/var/www/clientes"<Directorio /var/www/clientes/> Opciones +FollowSymlinksAllowOverride All<IfModule mod_dav.c>Dav off</IfModule>SetEnv HOME /var/www/clientesSetEnv HTTP_HOME /var/www/clientes</Directorio>>Directorio

    Supongamos que desea bloquear ese directorio a las solicitudes que no superen los 100K; agregaría la siguiente línea en AllowOverride All (Sustituir todo):

    Cuerpo de LimitRequestBody 102400

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

    sudo service apache2 reload

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

    No quiere que los usuarios puedan navegar fuera de directorios específicos.

    Digamos que tiene un sitio Nextcloud servido desde su servidor Apache, y eso es todo lo que quiere que cualquiera pueda ver; tiene que negar el acceso a la raíz del documento y luego permitir el acceso al directorio Nextcloud. Para los fines de este ejemplo, diremos que la raíz del documento es /var/www/ y el directorio Nextcloud es /var/www/nextcloud.

    Primero, debemos abrir /etc/apache2/apache2.conf. Localice la directiva raíz del documento (comenzará con ) y cambiar esa directiva para que refleje lo siguiente:

    <Directorio /> Rechazo de pedido,Permitir Rechazo de todas las opciones Ninguno Permitir Sustitución Ninguno </Directorio>

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

    Orden Permitir, DenegarPermitir de todos

    Recarga Apache con el comando sudo service apache2 reload. Ahora debería recibir una advertencia de Prohibido cuando intente ver la raíz del documento, y su sitio Nextcloud debería funcionar como se espera.

    Sigue investigando

    Hay muchas formas de proteger su servidor Apache. Empiece con estos cuatro consejos (recuerde investigar más sobre ModSecurity), y luego encuentre aún más formas de mantener su servidor web bloqueado contra ataques y usuarios maliciosos.

    Boletín informativo de consejotecnologico.com

    Refuerce las defensas de seguridad de TI de su organización manteniéndose al día de las últimas noticias, soluciones y mejores prácticas en materia de ciberseguridad. Entregado los martes y jueves