GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo solucionar el error – ModSecurity:acceso denegado con el código 44 [Apache]

Pregunta: Intentaba cargar un archivo PDF de 2 MB de tamaño en MediaWiki y recibí 500 error interno del servidor. y este error parece ocurrir cada vez que cargo un archivo más grande. Verifiqué rápidamente php.ini , que tenía los siguientes valores:

upload_max_filesize = 32M
post_max_size = 20M

y a continuación se muestra la instantánea de httpd error_log.

ModSecurity: Access denied with code 44 (phase 2). Match of "eq 0" against "MULTIPART_UNMATCHED_BOUNDARY" required.

Estoy usando Apache y MediaWiki versión 1.23.

Solución:

El tamaño máximo de carga de archivos y el tamaño POST se pueden controlar de dos maneras:a través de php.ini y mod_seguridad extensión.

Compruebe si el servidor web está habilitado con la extensión mod_security como se muestra a continuación:

# apachectl -M |grep security

También puede buscar modsecurity.d carpeta en /etc/httpdmod_security.conf archivo en /etc/httpd/conf.d/ . (la ruta de instalación de Apache puede ser diferente en su sistema).

Nota: De forma predeterminada, mod_security está habilitado en Apache y también carga algunas configuraciones recomendadas.

Abra /etc/httpd/conf.d/mod_security.conf archivo y busque la siguiente línea:

SecRuleEngine On

Puede desactivar SecRuleEngine (SecRuleEngine desactivado) o ajuste los valores de SecRequestBodyLimitSecRequestBodyNoFilesLimit .

Advertencia :No es una buena práctica deshabilitar mod_security, ya que es un firewall de aplicaciones web que evita la inyección de SQL, el ataque de secuencias de comandos entre sitios, el secuestro de sesiones, los agentes de usuario incorrectos y otros bots maliciosos. En su lugar, ajuste las siguientes variables.

SecRequestBodyLimit 13107200          #12.5 MB
SecRequestBodyNoFilesLimit 131072  #128kb

Una vez hecho esto, debe reiniciar el servidor web Apache

# /etc/init.d/httpd restart

En caso de que esté utilizando un alojamiento web compartido y no tenga privilegios de administrador para reiniciar el servidor web, puede crear .htaccess archivo como se muestra a continuación.

#Uso del archivo .htaccess para desactivar SecRuleEngine

<IfModule mod_security.c>
 <Files async-upload.php>
 SecFilterEngine Off
 SecFilterScanPOST Off
 </Files>
 </IfModule>

El fragmento anterior desactivará async-upload.php. ¡Eso es!


Linux
  1. Cómo arreglar Windows no pudo analizar o procesar el archivo de respuesta desatendido para Pass Specialize

  2. ¿Cómo solucionar 'ERROR:ADVERTENCIA:no se puede obtener el códec de audio del archivo con ffprobe'? [Resuelto]

  3. ¿Cómo reparar el error de Metasploit:requiere que se instale la gema del paquete? [Resuelto]

  4. ¿Cómo encontrar el proceso con el máximo de descriptores de archivo?

  5. Cómo rastrear -f el último archivo de registro con un patrón dado

Cómo usar el comando chgrp con ejemplos

Cómo arreglar el error del servidor interno 500 en WordPress

Cómo solucionarlo:el usuario no está en el error del archivo sudoers

Cómo corregir el error de conversión con Calibre

¿Cómo puedo arreglar los permisos de mis archivos?

Cómo encontrar archivos con docenas de criterios con el comando Bash Find