mod_security für Apache kompilieren

11.10.2023 | Apache

openscap findet Security issues mit mod_security kleiner 2.9.5 (debian bullseye ist auf 2.9.3), darum ist ein Upgrade nötig. Aktuelle Version ist 2.9.7. Wenn man nicht warten will, bis es auf dem debian repo verfügbar ist, hilft nur selber kompilieren.

Arbeitsdir erstellen


sudo mkdir /usr/src/modsecurity
sudo chown `whoami` /usr/src/modsecurity
cd /usr/src/modsecurity

Quellcode holen


wget https://github.com/SpiderLabs/ModSecurity/releases/download/v2.9.7/modsecurity-2.9.7.tar.gz
wget https://github.com/SpiderLabs/ModSecurity/releases/download/v2.9.7/modsecurity-2.9.7.tar.gz.sha256
sha256sum --check modsecurity-2.9.7.tar.gz.sha256


Requirements installieren

Die build-essentials braucht man natürlich auch.

sudo apt install apache2-dev libxml2-dev libpcre3-dev libyajl-dev

 

Konfigurieren mit json-Support

./configure --with-apxs=/usr/bin/apxs --with-apr=/usr/bin/apr-1-config --with-pcre=/usr/bin/pcre-config --with-yajl="/usr/lib/x86_64-linux-gnu /usr/include/yajl"

 

Kompilieren und Installieren

make
sudo make install
sudo service apache2 restart

Core Ruleset updaten

Jetzt muß natürlich noch das Core Rule Set installiert werden, wenn noch nicht geschehen. 

Hier sollte man sich auch nicht auf die debian-Repos verlassen, sondern die aktuelle Version hier holen:

https://coreruleset.org/installation/

debians apt installiert übrigens ein unnötig kompliziertes Konfigurationslabyrinth. Man sollte sich einfach an die INSTALL-Anweisungen des Rulesets halten. DIe Installation des crs im /usr/share habe ich beibehalten. 

Check über das Log

tail -f /var/log/apache2/modsec_audit.log

Jetzt irgendeinen bogus aufrufen wie z.B. https://<host>/.env (Beispiel aus der Praxis... *lol*)

Jetzt sollte man unter jedem Log-Eintrag die Zeile finden:

Producer: ModSecurity for Apache/2.9.7 (http://www.modsecurity.org/); OWASP_CRS/3.3.5.

 

Analyse

Entwurf

Development

Launch