GNU/Linux >> Tutoriels Linux >  >> Linux

Comment réparer l'erreur – ModSecurity :Accès refusé avec le code 44 [Apache]

Question : J'essayais de télécharger un fichier PDF de taille 2 Mo dans MediaWiki et j'ai rencontré une erreur de serveur interne 500 et cette erreur semble se produire chaque fois que je télécharge un fichier plus volumineux. J'ai rapidement vérifié php.ini , qui avait les valeurs ci-dessous :

upload_max_filesize = 32M
post_max_size = 20M

et ci-dessous est l'instantané de httpd error_log.

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

J'utilise Apache et MediaWiki version 1.23.

Solution :

La taille maximale de téléchargement de fichier et la taille POST peuvent être contrôlées de deux manières - via php.ini et mod_security extension.

Vérifiez si le serveur Web est activé avec l'extension mod_security comme indiqué ci-dessous :

# apachectl -M |grep security

Vous pouvez également rechercher modsecurity.d dossier sous /etc/httpd et mod_security.conf fichier dans /etc/httpd/conf.d/ . (le chemin d'installation d'Apache peut être différent dans votre système).

Remarque : Par défaut, mod_security est activé dans Apache et il charge également quelques configurations recommandées.

Ouvrez /etc/httpd/conf.d/mod_security.conf fichier et recherchez la ligne ci-dessous :

SecRuleEngine On

Vous pouvez désactiver SecRuleEngine (SecRuleEngine Off) ou ajustez les valeurs de SecRequestBodyLimit et SecRequestBodyNoFilesLimit .

Avertissement  :Ce n'est pas une bonne pratique de désactiver mod_security, car il s'agit d'un pare-feu d'application Web qui empêche l'injection SQL, les attaques de scripts intersites, le piratage de session, les agents utilisateurs malveillants et d'autres robots malveillants. Au lieu de cela, ajustez les variables ci-dessous.

SecRequestBodyLimit 13107200          #12.5 MB
SecRequestBodyNoFilesLimit 131072  #128kb

Une fois cela fait, vous devez redémarrer le serveur Web Apache

# /etc/init.d/httpd restart

Si vous utilisez un hébergement Web mutualisé et que vous ne disposez pas des privilèges d'administrateur pour redémarrer le serveur Web, vous pouvez créer .htaccess fichier comme indiqué ci-dessous.

#Utilisation du fichier .htaccess pour désactiver SecRuleEngine

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

L'extrait ci-dessus deviendra async-upload.php. C'est tout !


Linux
  1. Comment réparer Windows n'a pas pu analyser ou traiter le fichier de réponse sans assistance pour Pass Specialize

  2. Comment trouver le processus avec un maximum de descripteurs de fichiers ?

  3. ERREUR :Accès refusé lors de la tentative d'accès au gestionnaire de fichiers dans le panneau de configuration de Plesk

  4. Comment vérifier l'intégrité d'un fichier avec la somme de contrôle md5

  5. gdb s'arrête dans un fichier de commandes s'il y a une erreur. Comment continuer malgré l'erreur ?

Comment utiliser la commande chgrp avec des exemples

Comment réparer l'erreur de serveur interne 500 dans WordPress

Comment réparer :l'utilisateur n'est pas dans l'erreur de fichier sudoers

Comment réparer une erreur de conversion avec Calibre

Comment puis-je corriger les autorisations de mes fichiers ?

Comment rechercher des fichiers avec des dizaines de critères avec la commande Bash Find