mod_security als Teil der Apache Sicherheit

fehlt wasgeht sogutsehr guthat geholfen (No Ratings Yet)
Loading ... Loading ...
Werbung




Laden Sie sich das Modul mod_security von http://www.modsecurity.org und entpacken es auf die lokale Platte.

Für Apache2 gehen Sie in dem Verzeichnis, in dem die Dateien entpackt wurden, in das ./apache2 Verzeichnis und kompilieren dort das Modul mit der DSO-Methode. Dies geht einfacher und schneller.

apxs2 -cia mod_security.c

Falls das apxs2 Programm nicht gefunden wurde, so muss das Paket apache2-devel.-2.0.x.rpm installiert werden, dort ist das Tool apxs2 enthalten. Das Programm möchte die /etc/apache2/httpd.conf-prefork aktualisieren, was aber nicht unbedingt sein muss, normalerweise heisst diese Datei auch /etc/apache2/httpd.conf.

Nun müssen wir noch einen symbolischen Link anlegen:

# cd /usr/lib/apache2-prefork
# ln -s ../apache2/mod_security.so mod_security.so

Manuell kann man diese Konfiguration auch machen: Fügen Sie in die /etc/apache2/httpd.conf folgende Zeilen ein:

# Security Module
LoadModule security_module /usr/lib/apache2-prefork/mod_security.so
Include /etc/apache2/modsecurity.conf

Wenn Sie ein separates Verzeichnis für das audit und das debug Lofilge möchten, so legen Sie dieses an, z.B.

# mkdir /var/log/apache2/security

Nun müssen wir noch die Security-Richtlinien /etc/apache2/modsecurity.conf erzeugen und mit Inhalt füllen. Hier eine Beispieldatei:

# Enable ModSecurity
SecFilterEngine On
# Reject requests with status 403
SecFilterDefaultAction "deny,log,status:403"
# Some sane defaults
SecFilterScanPOST On
SecFilterCheckURLEncoding On
SecFilterCheckUnicodeEncoding Off
# Accept almost all byte values
SecFilterForceByteRange 1 255
# Server masking is optional
# SecServerSignature "Microsoft-IIS/5.0"
# Designate a directory for temporary files
# storage. It is a good idea to change the
# value below to a private directory, just as
# an additional measure against race conditions
SecUploadDir /tmp
SecUploadKeepFiles Off
# Only record the interesting stuff
SecAuditEngine RelevantOnly
#SecAuditEngine On
# Uncomment below to record responses with unusual statuses
# SecAuditLogRelevantStatus ^5
SecAuditLog /var/log/apache2/security/audit_log
# You normally won't need debug logging
SecFilterDebugLevel 0
SecFilterDebugLog /var/log/apache2/security/modsec_debug_log
# Only accept request encodings we know how to handle
# we exclude GET requests from this because some (automated)
# clients supply "text/html" as Content-Type
SecFilterSelective REQUEST_METHOD "!^(GET|HEAD)$" chain
SecFilterSelective HTTP_Content-Type "!(^application/x-www-form-urlencoded$|^multipart/form-data;)"
# Do not accept GET or HEAD requests with bodies
SecFilterSelective REQUEST_METHOD "^(GET|HEAD)$" chain
SecFilterSelective HTTP_Content-Length "!^$"
# Require Content-Length to be provided with
# every POST request
SecFilterSelective REQUEST_METHOD "^POST$" chain
SecFilterSelective HTTP_Content-Length "^$"
# Don't accept transfer encodings we know we don't handle
SecFilterSelective HTTP_Transfer-Encoding "!^$"

Dies ist nur eine Beispieldatei und muss noch den Begebenheiten angepasst werden.

Als vorletzen Schritt sollte die Konfiguration zuerst überprüft werden

# apache2ctl configtest

was als Ergebnis Syntax OK bringen sollte.
Nun kann man den Apache2-Server reloaden:

# /etc/init.d/apache2 reload

oder wenn er nicht gelaufen ist neu starten:

# /etc/init.d/apache2 start

bisherige Suchbegriffe:

  • teamspeak 3 verzeichnis loc:DE


Werbung


Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>