Apache 2 mod_security für ownCloud installieren und konfigurieren

In diesem Artikel will ich mal auf die Installation und Konfiguration von mod_security für den Service ownCloud eingehen. Als Server verwende ich eine Debian 7 Installation.

Update: 

Der Artikel wurde am 7.11.2014 aktualisiert.

Installation

Wir beginnen damit, erstmal die Grundvoraussetzungen für mod_security zu schaffen. Dafür müssen die folgenden Pakete auf dem System installiert werden:

Wurden diese fünf Paket erfolgreich installiert, kann nun mod_security installiert werden.

Um den vollen Zugriff auf mod_security zu bekommen, aktivieren wir das Modul noch dem Apache Header hinzu.

Anschließend sollte mit dem folgenden Befehl überprüft werden, dass mod_security auch geladen wurde:

Grundkonfiguration

Wir müssen nun das Modul der vhost Datei zuordnen. Dafür ergänzen wir den folgenden Eintrag in der vhost Datei:

Damit nun das Modul auch richtig geladen werden kann, müssen wir noch eine Datei in der Ladereihenfolge von mod_security ergänzen. Dazu öffnen wir die Datei  /etc/apache2/mods-available/mod-security.load und ergänzen die Datei liblua5.1.so.0. Der Inhalt der Datei sollte dann wie folgt aussehen.

Wir haben jetzt das Modul im Apache Server erfolgreiche geladen. Leider befindet sich das System jetzt noch im Leerlauf. Darum werden wir nun die Grundkonfiguration aktivieren. Dafür verwenden wir den folgenden Befehl:

In der Standardeinstellung kann mod_security nur prüfen. Wenn wir den vollen Umfang von mod_security nutzen wollen, dann müssen wir in der /etc/modsecurity/modsecurity.conf folgenden Eintrag ändern:

mod_security Regelwerk

Damit mod_security nun auch richtig loslegen kann, braucht es noch ein Regelwerk. Dieses könnten wir nun selber definiere. Ich habe mich aber dazu entschlossen, ein bereits vorhandenes Regelwerk zu verwenden. Ihr findet es unter https://github.com/owncloud/mod_security. Wir laden uns also nun das Repository mit dem folgenden Befehl auf unseren Server herunter.

Am besten laden wir die Datein direkt im Ordern /etc/modsecurity/ herunter. Wir haben nun eine Datei mit dem Namen master.zip in unserem Ordner. Diese Datei entpacken wir nun mit dem folgenden Befehl:

Wir haben nun einen Ordner mit der Bezeichnung mod_security-master. Damit mod_security jetzt auch noch auf die Regeln zugreift, müssen wir diese in der modsecurity.conf Datei includen. Dies machen wir am besten direkt unter SecRuleEngine On:

Nun muss der Webserver noch neugestartet werden.

Wenn beim Restart keine Error oder Warning erscheinen hat alles geklappt.

About Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Comments

  1. Funktioniert leider nicht mit Mod_Secure 2.7

    • Christian Piazzi says:

      Hallo Tobias,

      danke für das Kommentar =)
      Ich werde mir das mal die Tage anschauen und den Artikel so aktualisieren, dass es auch für Mod_Secure 2.7 funktioniert

      Gruß

      Christian

  2. das wär klasse :)

    Danke für die Antwort

    Gruß
    Tobias

    • Christian Piazzi says:

      Hallo tobias,

      habe das Problem gefunden =) es gibt zwei Änderungen. Ich werde diese auch in den nächste Minuten nochmal oben in den Artikel einarbeiten. Aber erstmal hier.
      1. In der vhost Datei muss zwar das Module hinzugefügt werden, aber es darf kein SecDataDir übergeben werden. Also quasi nur

      2. Die Datei /etc/apache2/mods-available/mod-security.load muss wie folgt aussehen:

      LoadFile libxml2.so.2
      LoadFile /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
      LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so

      Musst halt mal prüfen ob die Pfade bei dir auch die gleichen sind.

      Hat dir das weitergeholfen? Ansonsten währe es gut eine Fehlermeldung oder einen Log-Auszug mal in einem Kommentar anzuhängen =)

      Gruß

      Christian

Speak Your Mind

*