GNU/Linux >> Znalost Linux >  >> Linux

Jak opravit chybu – ModSecurity:Přístup odepřen s kódem 44 [Apache]

Otázka: Pokoušel jsem se nahrát soubor PDF o velikosti 2 MB do MediaWiki a narazil jsem na 500 interní chyba serveru a zdá se, že k této chybě dochází vždy, když nahraji větší soubor. Rychle jsem ověřil php.ini , který měl níže uvedené hodnoty:

upload_max_filesize = 32M
post_max_size = 20M

a níže je snímek httpd error_log.

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

Používám Apache a MediaWiki verze 1.23.

Řešení:

Maximální velikost nahrávaného souboru a velikost POST lze ovládat dvěma způsoby – přes php.ini a mod_security rozšíření.

Zkontrolujte, zda je webový server povolen s rozšířením mod_security, jak je uvedeno níže:

# apachectl -M |grep security

Můžete také hledat modsecurity.d složku pod /etc/httpdmod_security.conf soubor v /etc/httpd/conf.d/ . (Instalační cesta Apache se může ve vašem systému lišit).

Poznámka: Ve výchozím nastavení je mod_security v Apache povolen a také načítá několik doporučených konfigurací.

Otevřete /etc/httpd/conf.d/mod_security.conf soubor a hledejte níže uvedený řádek:

SecRuleEngine On

Můžete vypnout SecRuleEngine (SecRuleEngine Off) nebo upravte hodnoty SecRequestBodyLimitSecRequestBodyNoFilesLimit .

Upozornění :Není dobrým zvykem deaktivovat mod_security, protože je to brána firewall webových aplikací, která zabraňuje vkládání SQL, útokům skriptování mezi weby, únosům relací, špatným uživatelským agentům a dalším škodlivým robotům. Místo toho upravte níže uvedené proměnné.

SecRequestBodyLimit 13107200          #12.5 MB
SecRequestBodyNoFilesLimit 131072  #128kb

Po dokončení musíte restartovat webový server Apache

# /etc/init.d/httpd restart

V případě, že používáte sdílený webhosting a nemáte oprávnění správce restartovat webový server, můžete vytvořit .htaccess soubor, jak je uvedeno níže.

#Použití souboru .htaccess k vypnutí SecRuleEngine

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

Výše uvedený úryvek se změní na async-upload.php. To je ono!


Linux
  1. Jak ověřit integritu souboru pomocí kontrolního součtu md5

  2. Jak ohraničit -f nejnovější soubor protokolu s daným vzorem

  3. příkaz tr - jak nahradit řetězec \n skutečným novým řádkem (\n)

  1. Jak opravit Windows nemohl analyzovat nebo zpracovat soubor odpovědí bezobslužné služby pro Pass Specialize

  2. Jak opravit „CHYBA:VAROVÁNÍ:nelze získat zvukový kodek souboru pomocí ffprobe“? [vyřešeno]

  3. Jak zkombinovat příkaz „tar“ s příkazem „najít“

  1. Jak opravit chybu Metasploit – vyžaduje instalaci drahokamu bundler? [vyřešeno]

  2. Jak najít proces s maximálním počtem deskriptorů souborů?

  3. CHYBA:Přístup odepřen při pokusu o přístup do Správce souborů v ovládacím panelu Plesk