Mitigación CVE-2021-44228 con Fail2Ban

    El 9 de diciembre de 2021, el investigador de seguridad p0rz9 publicó información en Twitter sobre una nueva vulnerabilidad relacionada con Apache Log4J, a la que se hace referencia bajo el código CVE-2021-44228, y que permite la ejecución de código de forma remota.

    Apache Log4J es un software de gestión de registros utilizado para el lenguaje Java, y publicado por el fondation Apache.
    Por lo tanto, Log4J se utiliza para registrar los eventos de otro software, por ejemplo, para escribir todas las solicitudes realizadas en un sitio web.

    La vulnerabilidad CVE-2021-44228 / Log4Shell consiste en inyectar software vulnerable con una carga maliciosa, que le pedirá a Log4J que obtenga un valor de una fuente de terceros, con JNDI y a través del protocolo LDAP.

    Sin embargo, en este caso, Log4J no comprueba los datos importados lo suficientemente bien. Los datos importados pueden ser código, que será ejecutado por Log4J en el sistema.

    Para controlar dicha situación, se instaló Fail2Ban por lo que vamos a añadir un filtro y una jaula:

    cat > /etc/fail2ban/jail.d/log4j-jndi.conf << EOF
    [log4j-jndi]
    maxretry = 1
    bantime  = 15m
    enabled = true
    banaction = iptables-multiport[name="LOG4J", port="http,https", protocol=tcp]
    port     = http,https
    logpath  = %(apache_access_log)s
    EOF

    cat > /etc/fail2ban/jail.d/log4j-jndi.conf << EOF
    [log4j-jndi]
    maxretry = 1
    bantime  = 15m
    enabled = true
    banaction = iptables-multiport[name="LOG4J", port="http,https", protocol=tcp]
    port     = http,https
    logpath  = %(apache_access_log)s
    EOF

    Finalmente, recargaremos la configuración:

    Leave a Reply

    Your email address will not be published. Required fields are marked *