Access Denied by security policy
Inhaltsverzeichnis
Problem[Bearbeiten]
Der Kunde wird durch eine server-interne Sicherheitsregel daran gehindert, Änderungen an der Webseite abzuspeichern.
er bekommt dann eine folgende Fehlermeldung:
Access denied by security policy Your request is blocked by a security policy rule Please concact the Support team, support@hoststar.ch and inform themof the Time the error occured, and anything you might have done that may have caused the error. More information about this error mey be available in the server error log. ----------------------------------------------------------------------------------------------------------------------------------- Please provide the following information to our support team: www.alua.ch | ip-Adresse (101.169.255.252) | Zeitangabe: 25.02.2014 02:57:58
Ursache[Bearbeiten]
Meist handelt es sich um ein Badword oder Link, welches/welcher geblockt wird
Lösung[Bearbeiten]
Greifende Regel erkennen:[Bearbeiten]
Zuerst auf den Server connecten und die folgende Zeile ausführen:
zgrep 101.169.255.252 /var/log/httpd/error_log-20140225.bz2 (Je nach Zeitangabe verschieden)
Danach erscheinen die Log-Einträge:
[Tue Feb 25 03:04:14 2014] [error] [client 101.169.255.252] ModSecurity: Access denied with code 510 (phase 2). Pattern match "['\\";=]" at FILES:lokale_datei. [file "/usr/local/apache2/conf/mod_security2/base_rules/modsecurity_crs_20_protocol_violations.conf"] [line "73"] [id "960000"] [rev "2.2.5"] [msg "Attempted multipart/form-data bypass"] [data "1 The Author's Wing.JPG"] [severity "CRITICAL"] [tag "RULE_MATURITY/7"] [tag "RULE_ACCURACY/7"] [tag "https://www.owasp.org/index.php /ModSecurity_CRS_RuleID-960000"] [hostname "www.alua.ch"] [uri "/bilder_upload.php"] [unique_id "Uwv6En8AAAIAAEMOTH8AAAAI"]
wichtig ist die (meist) 6-Stellige Nummer (hier 960000), diese ist die ID der greifenden Regel.
Regel deaktivieren:[Bearbeiten]
Die ID muss nun mit den Folgenden Zeilen in den HTTPD-Spez-Einstellungen deaktiviert werden:
<IfModule mod_security2.c> SecRuleRemoveById 960000 </IfModule>
Nach dem Speichern das Counter-Script ausführen:
/usr/local/confixx/confixx_counterscript.pl -ft -dbg
ModSecurity GANZ deaktivieren:[Bearbeiten]
Dieser Schritt wird nicht empfohlen. Die Deaktivierung darf nur erfolgen, wenn gleichzeitig die neueste PHP-Version eingestellt wird!
<IfModule mod_security2.c> SecRuleEngine off </IfModule>
Action php /cgi-php55/php AddHandler php55 .php
Wenn ModSecurity nur für einen Unterordner deaktiviert werden soll:
<LocationMatch /ordner>
<IfModule mod_security2.c>
SecRuleEngine Off
</IfModule>
</LocationMatch>
Ausgegangen wird vom Ordner, in welchen die Domain zeigt.
Kunde benachrichtigen:[Bearbeiten]
Das folgende Mail kann an den Kunden gesendet werden:
Sehr geehrter Herr XXXXXXXXXXXX
Einige Aktionen von PHP werden auf unseren Servern von automatischen Sicherheitsregeln blockiert. Diese können dann nach und nach deaktiviert werden, um die Fehlerursache zu beseitigen.
Ich habe die betroffene Sicherheitsregel nun deaktiviert. Es kann sein, dass gewisse Aktionen von mehr als einer Regel blockiert werden.
In dem Falle würden Sie noch einmal solch eine Fehlermeldung bekommen. Ich würde Sie bitten, mir die Fehlermeldung erneut zukommen zu lassen, falls sie wieder auftauchen sollte.
Englisch:
Dear Mr. XXXXXXXXXXX
Some PHP actions or functions are currently blocked on our servers by security policies. They can be deactivated by a technican of ours easily.
I deactivated the affecting security policy now. It could be that some php actions are blocked by more than one policy.
In that case, you will recieve another error of this kind. So please hand over the error message if it appears again.
Beschwerde wegen wiederholter Blockierung beantworten[Bearbeiten]
Der Server untersucht jeden Aufruf einer Webseite und jede Datenübermittlung an die Webseite auf gewisse Schadmuster, um Angriffe auf Sicherheitslücken und das Einstellen unerwünschter Werbung zu verhindern. Dazu verwendet er eine Bibliothek, die mehrere Tausend Regeln bzw. Erkennungsmuster enthält.
Es besteht daher die Möglichkeit, dass nachdem eine Regel für Sie bereits deaktiviert wurde, weitere andere Regeln noch zuschlagen. Das hängt direkt von Ihrem Anwendungsfeld ab. Wir können die sie behindernden Regeln Stück für Stück deaktivieren und so einen für Sie massgeschneidertes Sicherheitskonzept aufbauen. Alternativ können wir auch den Sicherheitslayer für Sie vollständig deaktivieren, in diesem Fall sollten Sie jedoch alle auf dem Server installierten Webapplikationen und deren Module immer auf dem aktuellsten Stand halten. Rechnen Sie bei Bekanntwerden einer Sicherheitslücke damit, dass Angreifer in der Lage sind, die verwundbaren Websites zu finden und für ihre Zwecke bereits nach wenigen Stunden auszunutzen.
Spezialfall:[Bearbeiten]
Wenn Die ID in den Logs nicht drin steht:
zgrep "www.alua.ch" /var/log/httpd/modsec_audit.log
oder
zgrep "101.169.255.252" /var/log/httpd/modsec_audit.log
nun erhält man eine solche Ausgabe:
[05/Sep/2014:10:46:11 +0200] VAl4Un8AAAIAAGZWF4kAAAAA 77.59.146.247 55973 213.239.195.178 80
nun das modsec_audit.log-File öffnen und nach der langen ID suchen. (hier: VAl4Un8AAAIAAGZWF4kAAAAA ) in einer der Einträge sollte nun die ID zu finden sein:
--4e837b1c-H-- Message: Access denied with code 510 (phase 2). [file "/usr/local/apache2/conf/mod_security2/slr_rules/modsecurity_crs_46_slr_et_sqli_attacks.conf"] [line "1976"] [id"2005181"] [rev "5"] [msg "SLR: ET WEB_SPECIFIC_APPS PHPWind SQL Injection Attempt -- admin.php UPDATE"] [data "ARGS:itsec_backup[exclude] []=itsec_temp"] [severity "CRITICAL"] [tag "web-application-attack"] [tag "url,www.milw0rm.com/exploits/2759"] Action: Intercepted (phase 2) Apache-Handler: default-handler Stopwatch: 1409907162736890 124253 (- - -) Stopwatch2: 1409907162736890 124253; combined=62928, p1=237, p2=62517, p3=0, p4=0, p5=128, sr=59, sw=46, l=0, gc=0 Producer: ModSecurity for Apache/2.6.8 (http://www.modsecurity.org/); OWASP_CRS/2.2.7. Server: Apache WebApp-Info: "default" "7f09b61c8abbd6885c8c7847443ab3b9" ""