Wéi Setzt ModSecurity mat Apache op Debian/Ubuntu
Den Apache Webserver ass héich personaliséierbar a kann op verschidde Weeër konfiguréiert ginn fir Äre Besoinen ze passen. Et gi vill Drëtt-Partei Moduler déi Dir benotze kënnt fir Apache op Är Preferenzen ze konfiguréieren.
ModSecurity ass eng Open-Source WAF (Web Application Firewall) déi gebierteg ass um Apache Webserver. Et war am Ufank nëmmen en Apache Modul awer ass iwwer d'Joer gewuess fir eng vollwäerteg Web App Firewall ze ginn. Et gëtt elo vun Nginx a souguer IIS ënnerstëtzt.
ModSecurity inspizeiert erakommen Ufroen un de Webserver géint eng virdefinéiert Rei vu Reegelen. Typesch bitt et eng Rei vu Reegelen bekannt als CRS (Core Rule Set) déi eng Websäit géint eng ganz Rëtsch vun Webapplikatiounsattacken schützen wéi SQL Injektioun, XSS, a Sessiounskaping ënner anerem Ausnotzen.
[ Dir kënnt och gär hunn: 5 Tools fir e Linux Server fir Malware a Rootkits ze scannen ]
D'ModSecurity Applikatioun Firewall bildt en integralen Deel vun der PCI DSS Konformitéit bei der Schirmplaz vun externen Attacken. Wann de Modul aktivéiert ass en 403 Forbidden Error ausléist, wat einfach implizéiert datt Dir net genuch Permissiounen hutt fir Zougang zu der Ressource um Webserver ze kréien.
An dësem Guide wäerte mir Iech weisen wéi Dir ModSecurity opstellt an konfiguréiert fir mat Apache op Debian an Ubuntu Linux ze schaffen.
Schrëtt 1: Installéiert ModSecurity op Ubuntu
Den éischte Schrëtt ass ModSecurity z'installéieren. Mir fänken un, fir d'éischt d'Packagelëschten z'erfrëschen wéi follegt:
$ sudo apt update
Als nächst, installéiert de ModSecurity Package nieft aner Ofhängegkeeten a Bibliothéiken.
$ sudo apt install libapache2-mod-security2
Duerno aktivéiert de Modul.
$ sudo a2enmod security2
Da starten den Apache Webserver nei fir d'Ännerungen z'applizéieren.
$ sudo systemctl restart apache2
Zu dësem Zäitpunkt ass ModSecurity erfollegräich installéiert. Loosst eis et elo konfiguréieren.
Schrëtt 2: ModSecurity an Ubuntu konfiguréieren
Par défaut ass ModSecurity nëmme konfiguréiert fir verdächteg Aktivitéit z'entdecken an ze protokolléieren. Mir mussen en extra Schrëtt goen an et konfiguréieren fir net nëmmen verdächteg Aktivitéit z'entdecken, awer och ze blockéieren.
Kopéiert, d'Standard ModSecurity Konfiguratiounsdatei - modsecurity.conf-recommended - op eng nei Datei wéi am Kommando hei ënnen.
$ sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
Mat Ärem gewënschte Texteditor, öffnen d'Datei
$ sudo nano /etc/modsecurity/modsecurity.conf
Situéiert der Linn:
SecRuleEngine DetectionOnly
Setzt et op:
SecRuleEngine On
Späichert d'Ännerungen a gitt d'Datei aus.
Fir d'Ännerungen am Apache z'applizéieren, start de Webserver nei.
$ sudo systemctl restart apache2
Schrëtt 3: Download OWASP ModSecurity Core Ruleset
De nächste Schrëtt ass de leschten OWASP ModSecurity Core Rule Set (CRS) vun der GitHub Säit erofzelueden.
Klon den OWASP Git Repository wéi gewisen.
$ git clone https://github.com/coreruleset/coreruleset.git
Navigéiert an den Dossier.
$ cd coreruleset/
Gitt sécher d'crs-setup.conf.example-Datei an de Modsecurity-Verzeichnis ze réckelen an ëmbenennen als crs-setup.conf.
$ sudo mv crs-setup.conf.example /etc/modsecurity/crs-setup.conf
Zousätzlech, réckelen d'Regele Verzeechnes och an de Modsecurity Verzeichnis.
$ sudo mv rules/ /etc/modsecurity/
Als nächst ännert d'Security2.conf Datei.
$ sudo nano /etc/apache2/mods-enabled/security2.conf
Vergewëssert Iech datt et déi folgend Zeilen enthält.
IncludeOptional /etc/modsecurity/*.conf Include /etc/modsecurity/rules/*.conf
Da starten Apache nei fir d'Ännerunge bestoe bleiwen.
$ sudo systemctl restart apache2
Loosst eis elo eis ModSecurity Konfiguratioun testen.
Schrëtt 4: Testen d'ModSecurity Konfiguratioun op Ubuntu
Endlech musse mir testen datt ModSecurity verdächteg HTTP-Traffic erkennen an blockéiere kann. Fir dëst z'erreechen, musse mir d'Standardvirtuell Hostdatei änneren.
$ sudo nano /etc/apache2/sites-available/000-default.conf
Als nächst wäerte mir eng Blockéierungsregel erstellen déi den Zougang zu enger bestëmmter URL blockéiert wann se vun engem Webbrowser zougänglech sinn.
Fügt dës Zeilen um Enn virum 'Virtualhost' Ofschlosstag un.
SecRuleEngine On SecRule ARGS:testparam "@contains test" "id:254,deny,status:403,msg:'Test Successful'"
Fillt Iech gratis d''ID' an 'msg' Tags op déi wënschenswäert Wäerter ze setzen.
Da starten den Apache Webserver nei fir d'Ännerungen an der virtueller Host Konfiguratiounsdatei z'applizéieren.
$ sudo systemctl restart apache2
Op Ärem Webbrowser, probéiert d'URL ze besichen, déi mat ?testparam=test
um Enn gewise gëtt.
http://server-ip/?testparam=test
Dir kritt e '403 Forbidden Fehler' wat beweist datt Dir gespaart gouf fir Zougang zu der Ressource ze kréien.
Dir kënnt weider bestätegen datt de Client blockéiert gouf andeems Dir d'Fehlerprotokoller kontrolléiert wéi follegt.
$ cat /var/log/apache2/error.log | grep “Test Successful”
[ Dir kënnt och gär hunn: Wéi installéiere mir ModSecurity fir Nginx op Debian/Ubuntu ]
Dëst ass Bestätegung datt mir ModSecurity erfollegräich ageriicht hunn fir ongewollten Traffic z'entdecken an ze blockéieren. An dësem Guide hu mir Iech duerch de Prozess vun der Opstellung ModSecurity mat Apache op Debian/Ubuntu Systemer gefouert.