ModSecurity ist ein leistungsstarkes Paketfiltertool, das jedes Paket überprüft, das Ihren Webserver erreicht. Es vergleicht jedes Paket gemäß den internen Regeln und bestimmt, ob das Paket blockiert oder weiter an den Webserver gesendet werden muss. 1. Herunterladen modsecurity-apache: http://sourceforge.net/projects/mod-security/files/modsecurity-apache/ 2. Installation 1) Aktivieren Sie das Modul mod_unique_id 4) Entpacken gzip -d modsecurity-apache_2.6.3.tag.gz 5) Konfiguration ./konfigurieren 6) ModSecurity kompilieren und testen machen 7) Installation installieren Ändern Sie http.conf, aktivieren Sie ModSecurity und fügen Sie der Datei httpd.conf Folgendes hinzu: Ladedatei /usr/lib/libxml2.so 8) Starten Sie Apache neu ModSecurity wurde hier installiert. Sie können das Dokument mit den Konfigurationsanweisungen einsehen: http://sourceforge.net/apps/mediawiki/mod-security/index.php?title=Reference_Manual Installieren Sie Apache2+ModSecurity und passen Sie WAF-Regeln unter Ubuntu an Obwohl der VPS die Cloud-WAF-Funktion verwendet, bin ich dennoch etwas besorgt. Zur doppelten Absicherung habe ich mich entschieden, die Regeln mit Modsecurity anzupassen. Im Folgenden wird beschrieben, wie der ModSecurity-Schutz für den Apache-Server konfiguriert wird (ModSecurity unterstützt derzeit auch Nginx und IIS). Dieses Mal habe ich mich für die Installation über den Paketmanager entschieden, da ich bei jeder Verwendung der Quellpaketinstallationsmethode durch seltsame Bibliotheksabhängigkeitsfehler verwirrt werde. Installationsumgebung: Betriebssystem: Ubuntu 14.04.1 LTS Schritt 1: Apache installieren Ich empfehle die Installation von Apache mit apt-get, das viel weniger Bibliotheksunterstützung erfordert! ! ! ! Wenn Ihnen der Aufwand nichts ausmacht, können Sie es aus der Quelle installieren Geben Sie apt-get install apache2 ein. Wenn die Meldung angezeigt wird, dass kein solches Softwarepaket vorhanden ist, aktualisieren Sie das Softwarepaket apt-get install update Nach der Installation dieses Schritts kann Apache Dienste bereitstellen. Geben Sie 127.0.0.1 ein, um auf die lokale Website zuzugreifen. Schritt 2: Installieren Sie modsecurity Dies ist das gleiche wie oben. Verwenden Sie apt-get installiere libxml2 libxml2-dev libxml2-utils libaprutil1 libaprutil1-dev libapache2-modsecurity Nach der Installation können Sie die Versionsnummer Ihrer Modsecurity überprüfen, indem Sie dpkg -s libapache2-modsecurity | grep Version Schritt 3: Modsecurity konfigurieren Dienst Apache2 neu laden Nachdem dieser Befehl wirksam wird, wird die Modsecurity-Protokolldatei modsec_audit.log im Verzeichnis /var/log/apache2/ generiert. Verwenden des ModSecurity Core-Regelsatzes Platzieren Sie den Regelsatz, den wir verwenden möchten, im folgenden Verzeichnis cd /usr/share/modsecurity-crs/activated_rules/ Wählen Sie Basisregelsatz aktivieren für f in $(ls ../base_rules/); mache ln -s ../base_rules/$f; fertig Ändern Sie die Apache-Modulkonfiguration, um den Regelsatz zu aktivieren Hinweis: Es gibt einige Unterschiede in den Konfigurationsdateien zwischen modsecurity 2.7 und 2.6 (1) Version 2.7 vim /etc/apache2/mods-available/security2.conf
(2) Version 2.6 vim /etc/apache2/mods-available/mod-security.conf Schließen Sie /etc/modsecurity/*.conf ein Schritt 4: Aktivieren Sie das Modsecurity-Modul a2enmod-Header a2enmod-Sicherheit2 (Version 2.6: a2enmod mod-Sicherheit) Service Apache2 Neustart Schritt 5: Testen der tatsächlichen Angriffsnutzlast Sehen Sie, ob Sie abfangen können http://www.tanjiti.com/?case=archive&act=orders&aid[typeid`%3D1%20and%20ord(mid((select/**/concat(username,0x3a,password)%20from%20cmseasy_user),1,1))%3C49%23]=1 Sie können die Modsecurity-Protokolldatei einsehen, um die spezifische Abfangsituation zu sehen
Es ist ersichtlich, dass es von Regel 981231 der Datei modsecurity_crs_41_sql_injection_attacks.conf des Basisregelsatzes abgefangen wurde und die SQL-Kommentaranweisung traf. Schritt 6: WAF-Regeln anpassen Regelsyntax Schnellstartreferenz ModSecurity SecRule Cheatsheets WAF-Regelbeispiel 1: Whitelist für Upload-Dateinamen, nur Hochladen von Bilddateien zulassen vim /usr/share/modsecurity-crs/activated_rules/MY.conf SecRule FILES "!\\.(?i:jpe?g|gif|png|bmp)$" "deny,tag:'WEB_ATTACK/FILEUPLOAD',msg:'Datei ohne Bild hochladen',id:0000001,phase:2" (Informationen zur Verwendung von http finden Sie im HTTP-Paketsendetool – HTTPie.) mehr /var/log/apache2/modsec_audit.log Meldung: Zugriff mit Code 403 (Phase 2) verweigert. Übereinstimmung von „rx \\.(?i:jpe?g|gif|png|bmp)$“ mit „FILES:filename“ erforderlich. [Datei „/usr/share/modsecurity-crs/activated_rules/MY.conf“] [Zeile „1“] [ID „0000001“] [Nachricht „Datei ohne Bild hochladen“] [Tag „WEB_ATTACK/FILEUPLOAD“] vim /usr/share/modsecurity-crs/activated_rules/MY.conf SecRule FILES "@contains %00" "deny,tag:'WEB_ATTACK/FILEUPLOAD',msg:'Dateiname hat Nullzeichen',id:0000002,phase:2" http www.tanjiti.com [email protected]%00.jpeg mehr /var/log/apache2/modsec_audit.log Meldung: Zugriff mit Code 403 (Phase 2) verweigert. String-Übereinstimmung „%00“ bei FILES:filename. [Datei „/usr/share/modsecurity-crs/activated_rules/MY.conf“] [Zeile „2“] [ID „0000002“] [Msg „Dateiname hat Nullzeichen“] [Tag „WEB_ATTACK/FILEUPLOAD“] Beachten! ! ! ! ! ! ! ! ! ! ! ! ! ! Das könnte Sie auch interessieren:
|
<<: Eine kurze Diskussion über das Problem des vergessenen MySQL-Passworts und des Anmeldefehlers
>>: JavaScript Dom implementiert das Prinzip und Beispiel eines Karussells
Apache Superset ist ein leistungsstarkes BI-Tool,...
In diesem Artikel wird der spezifische Code zum S...
Inhaltsverzeichnis Vorwort Zusammenfassung der Au...
Zu den wichtigsten Funktionen der InnoDB-Speicher...
Vorwort In der Demonstration [IE9-] ist der Farbv...
Versionskette In den Tabellen der InnoDB-Engine g...
Vorwort Bei der täglichen Entwicklung müssen wir ...
In Projekten werden häufig Batch-Operationsanweis...
Inhaltsverzeichnis 1. Konventionelle Ideen zur Ze...
Problembeschreibung Bei Verwendung von Windows Se...
1. Einfache Konfiguration der dynamischen und sta...
Fehler beim Flackern des CSS-Hintergrundbilds in ...
Inhaltsverzeichnis Installieren Sie Jupyter Docke...
CAST-Funktion Im vorherigen Artikel haben wir die...
yum-Befehl Yum (vollständiger Name Yellow Dog Upd...