So installieren und konfigurieren Sie OSSEC unter FreeBSD 10.1

Einführung

  • OSSEC * ist ein Open-Source-Host-basiertes Intrusion-Detection-System (HIDS), das Protokollanalysen, Integritätsprüfungen, die Überwachung der Windows-Registrierung, die Erkennung von Rootkits, zeitbasierte Warnungen und aktive Reaktionen durchführt.

Es ist eine der wichtigsten Sicherheitsanwendungen, die Sie auf Ihrem Server installieren können, und kann verwendet werden, um einen oder mehrere Tausend Computer auf Client / Server- oder Agent / Server-Weise zu überwachen. Bei ordnungsgemäßer Konfiguration kann OSSEC Ihnen über E-Mail-Benachrichtigungen an eine beliebige Anzahl konfigurierter E-Mail-Adressen einen Überblick über die Vorgänge auf Ihrem Server geben.

Dieses Tutorial zeigt Ihnen, wie Sie OSSEC installieren und konfigurieren, um ein DigitalOcean Droplet unter FreeBSD 10.1 zu überwachen. Zusätzlich zu den OSSEC-Standardregelsätzen für Benutzerzugriff und Integritätsprüfung konfigurieren wir zusätzliche Regeln, damit OSSEC Sie per E-Mail benachrichtigt, wenn eine Datei geändert oder zum System hinzugefügt wird.

Hier ist ein Beispiel für die Art der Warnung, die OSSEC sendet:

OSSEC HIDS Notification.
2015 Jan 25 11:42:49

Received From: liniverse->syscheck
Rule: 551 fired (level 7) -> "Integrity checksum changed again (2nd time)."
Portion of the log(s):

Integrity checksum changed for: '/usr/local/etc/ssmtp/ssmtp.conf'
Size changed from '1367' to '1384'
What changed:
36c36,37
< UseTLS=YES
---

 #UseTLS=YES
 UseSTARTTLS=YES

Old md5sum was: '39f219a7db9987c3623d5a2f7511dfc1'
New md5sum is : '9971ecc1b0c744ee3f744255248e7c11'
Old sha1sum was: 'fc945ffc84b243cd36f8dd276f99c57f912f902b'
New sha1sum is : '1289fe0008a3d8bf74db8f73c09bf18db09572cc'

--END OF NOTIFICATION
  • Hinweis: * OSSEC kann derzeit nur unter Linux und Windows in Echtzeit Warnungen ausgeben. Echtzeitwarnungen für FreeBSD sind noch nicht abgeschlossen, und aus diesem Grund funktionieren Warnungen bei Dateilöschungen unter FreeBSD nicht.

Voraussetzungen

OSSEC benötigt eine auf dem System aktive Firewall für seine aktive Antwortfunktion. Es ist auch wichtig, dass der Server die genaue Uhrzeit einhält, zu der die Aktivierung von NTP erforderlich ist. Schließlich muss die Zeitzone des Servers festgelegt werden. Standardmäßig ist sie UTC.

Für dieses Tutorial benötigen Sie also:

  • Ein neues Droplet unter FreeBSD 10.1.

  • Eine Firewall aktiviert, NTP aktiviert und die Zeitzone konfiguriert. Befolgen Sie dazu die Anweisungen unter Empfohlene Schritte für neue FreeBSD 10.1-Server. Ignorieren Sie den Abschnitt, der zusätzlichen Auslagerungsbereich festlegt.

  • Hinweis: * Für die Funktion von OSSEC sind keine UDP-Firewall-Berechtigungen erforderlich. Abhängig von den Diensten, die Sie auf Ihrem Server ausführen, müssen Sie möglicherweise UDP-Datenverkehr zulassen.

Wenn Sie die Aktivierung von NTP abgeschlossen haben, können Sie die Ausführung bestätigen, indem Sie Folgendes eingeben:

sudo service ntpd onestatus

Die Ausgabe ist ähnlich wie im Folgenden, jedoch mit einer anderen Prozess-ID (pid).

ntpd is running as pid .

Sie können auch bestätigen, dass die Zeitzone korrekt eingestellt ist, indem Sie "+ Datum" eingeben. Die von Ihnen gewählte Zeitzone wird in der Ausgabe angezeigt.

Optional

Keine dieser beiden nächsten Änderungen ist erforderlich, aber es wird allgemein empfohlen, FreeBSD für Neueinsteiger benutzerfreundlicher zu gestalten.

  • Installieren und aktivieren Sie Bash.

+ tsch + ist die Standardshell in FreeBSD 10.1. Wenn Sie Bash bevorzugen, können Sie es installieren, indem Sie den Anweisungen unter Ändern der Standard-Shell unter https://www.digitalocean.com/community/tutorials/how-to-get-started-with-freebsd-10-1 folgen [Erste Schritte mit FreeBSD 10.1]. Dadurch wird Ihre Standard-Shell dauerhaft auf Bash gesetzt, einschließlich aller zukünftigen Anmeldesitzungen.

  • Installieren Sie + nano +.

Der Standard-Terminal-Editor in FreeBSD ist + Vi + und obwohl er mächtig ist, kann er für neue Benutzer uninteressant sein. + nano + ist modeless, was die Komplexität für neue Benutzer im Vergleich zu + Vi + etwas verringert.

Sie können den Editor Ihrer Wahl verwenden, aber "+ nano +" wird in diesem Tutorial verwendet. Es kann durch Eingabe in das Terminal installiert werden:

sudo pkg install nano

Schritt 1 - Aktualisieren Sie das System

Melden Sie sich an und wenden Sie verfügbare Sicherheits- und Paketaktualisierungen auf das System an. Wenn Sie noch nicht angemeldet sind, geben Sie Folgendes ein:

ssh freebsd@

Ersetzen Sie die IP-Adresse im obigen Befehl durch die echte IP-Adresse Ihres Servers. Der Standardbenutzer von FreeBSD ist * freebsd * und hat die Privilegien + sudo +. Fragen Sie nach der Anmeldung verfügbare Sicherheitsupdates ab und installieren Sie sie, indem Sie Folgendes eingeben:

sudo freebsd-update fetch install

Installieren Sie anschließend die verfügbaren Paketaktualisierungen.

sudo pkg upgrade

Wenn Kernel-Updates von diesen Befehlen vorhanden waren, starten Sie den Server neu und melden Sie sich erneut an.

Schritt 2 - OSSEC installieren und aktivieren

Unter FreeBSD gibt es drei Methoden, mit denen Sie OSSEC installieren können: Durch Herunterladen der neuesten Binärdatei von der https://ossec.net [Website] des Projekts, vom Ports-Baum oder durch Installieren einer vorgefertigten Binärdatei von FreeBSD Repository. Die letzte Methode ist bei weitem die einfachste und wird in diesem Lernprogramm verwendet. Es macht es auch schmerzlos, OSSEC zu aktualisieren.

Um zu sehen, welche OSSEC-Binärpakete in FreeBSD 10.1 verfügbar sind, geben Sie Folgendes ein:

sudo pkg search ossec

Die Ausgabe sollte ungefähr so ​​lauten:

ossec-hids-client-2.8.1_1
ossec-hids-local-2.8.1_1
ossec-hids-server-2.8.1_1

Da das Ziel darin besteht, mit OSSEC nur den Server zu überwachen, auf dem es installiert wird (eine lokale Installation), lautet das zu installierende Binärpaket "+ ossec-hids-local-2.8.1_1 +" oder wie auch immer die Version des lokalen Pakets lautet. Mit der Client-Binärdatei können Sie einen OSSEC-Agenten installieren, der an einen OSSEC-Server berichtet, wenn die Server-Binärdatei auf einem anderen Droplet installiert ist.

Geben Sie zum Installieren der lokalen Binärdatei Folgendes ein:

sudo pkg install ossec-hids-local-2.8.1_1

In der Installationsausgabe wird OSSEC "+ chroot " in " / usr / local / ossec-hids +" geschrieben, sodass sich die Konfigurationsdatei und die zugehörigen Verzeichnisse in diesem Verzeichnis befinden.

Nachdem Sie OSSEC installiert haben, muss es aktiviert sein, damit es beim Booten gestartet werden kann. Um es zu aktivieren. öffne + / etc / rc.conf + erneut.

sudo nano /etc/rc.conf

Fügen Sie die folgenden Zeilen hinzu:

# For OSSEC HIDS

ossechids_enable="YES"

Speichern und schließen Sie die Datei.

Schritt 3 - E-Mail-Anmeldeinformationen für OSSEC-Benachrichtigungen festlegen

Da wir OSSEC aus dem Repository installiert haben, handelt es sich bei den E-Mail-Einstellungen in der Konfigurationsdatei um Dummy-Einstellungen. Es muss mit echten E-Mail-Anmeldeinformationen versehen sein, damit Sie Benachrichtigungen erhalten. Um dies zu korrigieren, müssen Sie die Datei "+ ossec.conf " in " / usr / local / ossec-hids / etc +" ändern.

+ ossec.conf + ist eine sehr wichtige Konfigurationsdatei für OSSEC. Erstellen Sie daher eine Sicherungskopie, bevor Sie mit der Bearbeitung beginnen.

sudo cp /usr/local/ossec-hids/etc/ossec.conf /usr/local/ossec-hids/etc/ossec.conf.00

Öffnen Sie nun die Originaldatei.

sudo nano /usr/local/ossec-hids/etc/ossec.conf

Der erste Teil, der geändert werden muss, befindet sich ganz oben in der Datei und wird unten angezeigt. Diese Einstellungen teilen OSSEC mit, wohin Warnungen gesendet werden sollen und welchen SMTP-Server er verwenden soll.

<global>
   <email_notification>yes</email_notification>
   <email_to>[email protected]</email_to>
   <smtp_server>smtp.xxx.com.</smtp_server>
   <email_from>[email protected].</email_from>
</global>

Sendmail

FreeBSD 10.1 wird standardmäßig mit Sendmail ausgeliefert. Wenn Sie es für die E-Mail-Benachrichtigungen von OSSEC verwenden möchten, sollte * smtp_server * wie unten gezeigt auf * localhost * gesetzt werden.

<global>
   <email_notification>yes</email_notification>
   <email_to></email_to>
   <smtp_server></smtp_server>
   <email_from></email_from>
</global>
  • Hinweis: * Sendmail kann sowohl eingehende als auch ausgehende E-Mails verarbeiten. Wenn Sie die eingehenden Dienste von Sendmail nicht benötigen, hängen Sie die folgenden Zeilen an "+ / etc / rc.conf +" an.

# For Sendmail

sendmail_enable="NO"

SMTP-Server eines Drittanbieters

Wenn Sie jedoch einen SMTP-Server eines Drittanbieters angeben und nicht die lokale Instanz von Sendmail verwenden möchten, sollte der E-Mail-Benachrichtigungsbereich von "+ ossec.conf +" ungefähr so ​​aussehen:

<global>
   <email_notification>yes</email_notification>
   <email_to></email_to>
   <smtp_server></smtp_server>
   <email_from></email_from>
</global>

Wenn Sie alle erforderlichen E-Mail-Einstellungen vorgenommen haben, speichern und schließen Sie die Datei. Um zu überprüfen, ob OSSEC jetzt Warnungen senden kann, geben Sie Folgendes ein:

sudo /usr/local/ossec-hids/bin/ossec-control start

Wenn alles in Ordnung ist, sollten Sie eine E-Mail an die konfigurierte Adresse dieser Art erhalten:

OSSEC HIDS Notification.
2015 Jan 23 23:08:32

Received From: liniverse->ossec-monitord
Rule: 502 fired (level 3) -> "Ossec server started."
Portion of the log(s):

ossec: Ossec started.


--END OF NOTIFICATION

Wenn Sie keine E-Mail erhalten haben, überprüfen Sie Ihren Spam-Ordner.

Schritt 4 - Syscheck konfigurieren

Von hier aus werden wir in + ossec.conf + weiterarbeiten. Konfigurationsänderungen werden in der Reihenfolge angezeigt, in der sie in der Datei angezeigt werden.

sudo nano /usr/local/ossec-hids/etc/ossec.conf

Passen Sie das Syscheck-Intervall an

+ syscheck + ist der Integritätsprüfungsprozess von OSSEC, und wir können syscheck mitteilen, wie oft das Dateisystem gescannt und auf Hinweise auf nicht autorisierte Änderungen überprüft werden soll.

Scrolle runter zum Abschnitt * syscheck *. Die ersten beiden Zeilen sollten lauten:

<syscheck>
   <!-- Frequency that syscheck is executed -- default every 20 hours -->
   <frequency>17200</frequency>

Diese Einstellung teilt OSSEC mit, dass alle 17200 Sekunden eine Systemprüfung durchgeführt wird. Das ist ein gutes Frequenzintervall für ein Produktionssystem. Da Echtzeitbenachrichtigungen in einer Binärinstallation von OSSEC unter FreeBSD nicht unterstützt werden, wird empfohlen, diesen Wert auf Sekunden zu reduzieren. Sie können dann Benachrichtigungen innerhalb eines kürzeren Zeitraums erhalten, während Sie OSSEC testen. Nach dem Testen können Sie die Standardeinstellung wiederherstellen.

Geben Sie die zu überwachenden Verzeichnisse an

Eine Standardinstallation von OSSEC ist Linux-orientiert, sodass die standardmäßig überwachten Dateien und Verzeichnisse die auf einem Linux-System üblichen entsprechen. Sie müssen daher an eine FreeBSD-Installation angepasst werden. Diese Verzeichnisse werden direkt unter der zuvor von Ihnen geänderten Einstellung aufgelistet. Die Standardeinstellungen sind:

<!-- Directories to check  (perform all possible verifications) -->
   <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
   <directories check_all="yes">/bin,/sbin</directories>

Wie bereits erwähnt, sind diese Einstellungen für einen Linux-Server geeignet, für einen FreeBSD-Server müssen sie jedoch geändert werden. Hier ist eine empfohlene Einstellung für einen FreeBSD 10.1-Server.

<!-- Directories to check  (perform all possible verifications) -->
   <directories  check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
   <directories  check_all="yes">/bin,/sbin</directories>

   freebsd

Die zwei zusätzlichen roten Linien wurden hinzugefügt. Die erste Erweiterung ist spezifisch für einen FreeBSD-Server und die zweite informiert OSSEC darüber, dass das Home-Verzeichnis von * freebsd * überwacht werden soll. Wenn Sie unter einem anderen Benutzernamen arbeiten, ändern Sie "+ / home / +" entsprechend.

  • Hinweis: * Im Verzeichnis + / usr / local / www + werden die Daten des Webservers in FreeBSD gespeichert. Wenn Sie beabsichtigen, eine Website zu hosten, befinden sich alle Daten der Website in diesem Verzeichnis. Das macht es zu einem wichtigen Verzeichnis, das man im Auge behalten sollte.

Geben Sie die zu ignorierenden Dateien oder Verzeichnisse an

Der nächste Abschnitt von "+ ossec.conf +" ist eine Liste von Dateien, die von OSSEC ignoriert werden sollten, da sie häufig geändert werden und zu viele falsche Positive erzeugen würden. Die Standarddateiliste wird unten angezeigt.

<!-- Files/directories to ignore -->
   <ignore>/etc/mtab</ignore>
   <ignore>/etc/hosts.deny</ignore>
   <ignore>/etc/mail/statistics</ignore>
   <ignore>/etc/random-seed</ignore>
   <ignore>/etc/adjtime</ignore>
   <ignore>/etc/httpd/logs</ignore>

Wieder ist die Standardliste spezifisch für ein Linux-System. Beispielsweise verwendet FreeBSD 10.1 standardmäßig keine "+ mtab " - oder " hosts.deny +" - Datei.

Welche Dateien sollten Sie OSSEC so konfigurieren, dass sie auf einem FreeBSD 10.1-Server ignoriert werden? In den meisten Fällen müssen Sie dies im Laufe der Zeit herausfinden, da dies davon abhängt, was Sie auf dem Server installiert haben.

Beispielsweise wurde die Datei "+ hosts.deny " mit der Datei " hosts.allow " zusammengeführt. Es könnte also etwas sein, das Sie ignorieren möchten. Wenn Sie jedoch die Datei " hosts.allow +" im Auge behalten, werden Sie darüber informiert, wer Steine ​​auf Ihren Server wirft, da hier alle IP-Adressen gespeichert werden, deren Verbindungsversuche abgelehnt wurden.

Wenn Sie Bash installiert haben, ist das "+ .bash_profile" ein guter Kandidat zum Ignorieren, da Sie durch das Warnen in dieser Datei einen Einblick erhalten, welche Befehle auf Ihrem Server ausgeführt werden. Wenn Sie sSMTP, einen E-Mail-Server nur zum Senden, installiert haben, ist die Datei "+ dead.letter" ebenfalls eine Datei, die ignoriert werden kann. Nach der Installation von + lsof + kann die Datei + .lsof_HOSTNAME + ignoriert werden.

Der allgemeine Punkt ist folgender: Überprüfen Sie nach der Installation einer Anwendung, ob sie ein verstecktes Verzeichnis in Ihrem + / home + erstellt hat. Diese versteckte Datei ist möglicherweise ein guter Kandidat zum Ignorieren. Im Zweifelsfall können Sie den Abschnitt * Dateien / Verzeichnisse zum Ignorieren * unverändert lassen. Behalten Sie die von OSSEC gesendeten Warnungen im Auge. Deren Inhalt gibt Ihnen eine Vorstellung davon, welche Dateien Sie für das Ignorieren von OSSEC konfigurieren sollten.

Um Ihnen bei diesem Abschnitt weiterzuhelfen, sehen Sie hier, wie es auf dem für dieses Tutorial verwendeten Testserver mit dem Standardbenutzer * freebsd * aussieht.

<!-- Files/directories to ignore -->
   <ignore>/home//dead.letter</ignore>
   <ignore>/home//.bash_profile</ignore>
   <ignore>/home//.lsof_liniverse</ignore>
   <ignore>/etc/dumpdates</ignore>
   <ignore>/usr/local/ossec-hids/logs</ignore>
   <ignore>/usr/local/ossec-hids/queue</ignore>
   <ignore>/usr/local/ossec-hids/var</ignore>
   <ignore>/usr/local/ossec-hids/tmp</ignore>
   <ignore>/usr/local/ossec-hids/stats</ignore>

Wie Sie sehen, werden in dieser Liste mehrere Verzeichnisse in der OSSEC-Installationsstruktur ignoriert. Das Nichtbeachten dieser Verzeichnisse kann dazu führen, dass dem System innerhalb kürzester Zeit der Speicherplatz ausgeht.

Schritt 5 - Rootcheck konfigurieren

Der nächste Stopp in + ossec.conf + ist der Abschnitt * rootcheck *. Rootcheck ist eine Komponente von OSSEC, die das System nach Rootkits durchsucht. Standardmäßig lautet es:

<rootcheck>
   <rootkit_files>/var/ossec/etc/shared/rootkit_files.txt</rootkit_files>
   <rootkit_trojans>/var/ossec/etc/shared/rootkit_trojans.txt</rootkit_trojans>
</rootcheck>

OSSEC unter FreeBSD 10.1 ist nicht in + / var / ossec + installiert, sondern in + / usr / local / ossec-hids +. Danach sollte dieser Abschnitt lauten:

<rootcheck>
   <rootkit_files>/etc/shared/rootkit_files.txt</rootkit_files>
   <rootkit_trojans>/etc/shared/rootkit_trojans.txt</rootkit_trojans>
</rootcheck>

Das ist alles, was Sie in + ossec.conf + ändern müssen - vorerst. Speichern und schließen Sie es. Wir werden später darauf zurückkommen. Starten Sie OSSEC neu, um sicherzustellen, dass alle Einstellungen korrekt sind.

sudo /usr/local/ossec-hids/bin/ossec-control restart

Der Neustart sollte erfolgreich sein. Wenn es einen Konfigurationsfehler gibt, überprüfen Sie Ihre Eingaben für die Schritte 4 und 5.

Schritt 6 - Geben Sie die zu überwachenden Protokolldateien an

Eine Standardinstallation von OSSEC ist so konfiguriert, dass Protokolldateien überwacht werden, deren Speicherort für ein Linux-System spezifisch ist. Unter FreeBSD 10.1 haben einige dieser Dateien einen etwas anderen Namen, obwohl sie sich immer noch im selben + / var / log + - Verzeichnis befinden.

Wenn Sie in der OSSEC-Protokolldatei nachsehen ("+ / var / log / ossec-hids / logs / ossec.log +"), werden folgende Einträge angezeigt:

ossec-logcollector(1950): INFO: Analyzing file: '/var/log/messages'
ossec-logcollector(1103): ERROR: Unable to open file '/var/log/authlog'
ossec-logcollector(1103): ERROR: Unable to open file '/var/log/secure'
ossec-logcollector(1950): INFO: Analyzing file: '/var/log/xferlog'

Ein Eintrag, der * ERROR: Unable to open file * enthält, gibt eine Datei an, die OSSEC nicht finden konnte, weil sie nicht vorhanden ist oder möglicherweise die Berechtigungen falsch sind. Überprüfen Sie, was auf Ihrem System der Fall ist, bevor Sie eine Schlussfolgerung ziehen.

Hier erfahren Sie, wie Sie den Speicherort der Protokolldateien bestimmen können, die OSSEC unter FreeBSD 10.1 überwachen soll. Wir verwenden "+ lsof ", um offene Dateien aufzulisten, die das System zur Laufzeit verwendet. ` lsof +` ist nicht standardmäßig installiert, also installieren Sie es zuerst:

sudo pkg install lsof

Verwenden Sie dann den folgenden Befehl, um die Protokolldateiprüfung auszuführen:

lsof | grep log | grep -v ".so" | egrep -v "ossec|proc|dev|run"

Dieser Befehl fischt nur nach allen offenen Dateien, speichert die für uns interessanten Protokolldateien und wirft den Rest weg. Wir möchten auf keinen Fall Dateien im Installationsverzeichnis von OSSEC oder in "+ / proc ", " / dev " oder " / var / run +" überwachen. Sie sollten eine Ausgabe erhalten, die eine Liste der Protokolldateien enthält. Der folgende Codeblock zeigt einen Teil der Ausgabe auf dem für dieses Lernprogramm verwendeten Testsystem:

syslogd  ...  root  ...  /var/log/messages
syslogd  ...  root  ...  /var/log/security
syslogd  ...  root  ...  /var/log/auth.log
syslogd  ...  root  ...  /var/log/maillog
syslogd  ...  root  ...  /var/log/lpd-errs

Wenn Sie die Namen in dieser Ausgabe mit denen in der Ausgabe der OSSEC-Protokolldatei vergleichen, können Sie leicht erkennen, dass "+ / var / log / auth.log " mit " / var / log / authlog " und "" identisch ist / var / log / security + ist FreeBSDs Äquivalent zu + / var / log / secure + `.

Öffnen Sie nun + ossec.conf + erneut und passen Sie die Namen der Protokolldateien an die in FreeBSD 10.1 verwendeten Namen an.

sudo nano /usr/local/ossec-hids/etc/ossec.conf

Der folgende Codeblock zeigt ein Beispiel für die geänderten Zeilen. Sie möchten Protokollspeicherorte für die spezifischen Dienste hinzufügen, die Sie installiert haben und die auf dem Server ausgeführt werden. Dienste wie Nginx, Apache, etc.

<!-- Files to monitor (localfiles) -->

<localfile>

 <log_format>syslog</log_format>
   <location>/var/log/</location>
 </localfile>

 <localfile>
   <log_format>syslog</log_format>
   <location>/var/log/</location>
 </localfile>

Hinzufügen von Protokolleinträgen mit util.sh

Wenn Sie lange nach der Installation von OSSEC eine Protokolldatei in einem benutzerdefinierten Verzeichnis haben, das Sie überwachen möchten, können Sie sie mit dem Befehl + util.sh + von OSSEC hinzufügen oder + ossec.conf + mit nano öffnen und hinzufügen manuell.

Wenn Sie beispielsweise Nginx installiert haben und sich seine Zugriffs- und Fehlerprotokolldateien im Verzeichnis "+ / var / log / nginx " befinden, können Sie sie zu " ossec.conf " hinzufügen, indem Sie " util.sh +" wie folgt verwenden:

/usr/local/ossec-hids/bin/util.sh addfile /var/log/
/usr/local/ossec-hids/bin/util.sh addfile /var/log/
  • Hinweis: * Wenn Sie diese beiden Befehle wie angegeben ausführen und Nginx nicht installiert haben, wird eine Fehlermeldung angezeigt, dass die Protokolldateien nicht vorhanden sind.

Zu diesem Zeitpunkt müssen wir in + ossec.conf + noch eine letzte Änderung vornehmen. Lassen Sie die Datei also geöffnet, während Sie mit dem nächsten Schritt fortfahren.

Schritt 7 - Benachrichtigung bei neuen Dateien

Standardmäßig warnt OSSEC nicht, wenn neue Dateien im System erstellt werden, sodass wir dieses Verhalten ändern. Diese Änderung besteht aus zwei Komponenten.

Syscheck setzen

Scrollen Sie zurück zum Bereich "+ syscheck " von " ossec.conf +" und fügen Sie eine Zeile * alertnewfiles * direkt unter dem Intervall für die Frequenzprüfung hinzu.

Das Ergebnis sollte lauten:

<syscheck>
   <!-- Frequency that syscheck is executed -- default every 20 hours -->
   <frequency>17200</frequency>

Jetzt können Sie + ossec.conf + speichern und schließen. Wir sind damit fertig.

Ändern Sie die Klassifizierungsebene der Regel

Obwohl wir "+ syscheck +" angewiesen haben, nach neu erstellten Dateien zu suchen, werden wir von OSSEC noch nicht darüber informiert. Dazu müssen wir eine Standard-OSSEC-Regel ändern.

Öffne + ossec rules.xml in` + nano + `.

sudo nano /usr/local/ossec-hids/rules/ossec_rules.xml

Die Regel, die beim Hinzufügen einer Datei zu einem überwachten Verzeichnis ausgelöst wird, lautet Regel * 554 *. So sieht es aus:

<rule id="554" level="0">
<category>ossec</category>
<decoded_as>syscheck_new_entry</decoded_as>
<description>File added to the system.</description>
<group>syscheck,</group>
</rule>

OSSEC sendet keine Warnung, wenn für eine Regel eine * Ebene * auf * 0 * festgelegt ist. Sie müssen diese Regel daher in "+ local_rules.xml " kopieren und so ändern, dass eine Warnung ausgelöst wird. Sie können eine Maus oder ein Touchpad verwenden, um die Regel in " nano +" hervorzuheben, zu kopieren und vorübergehend in einen Texteditor auf Ihrem Hostcomputer einzufügen.

Öffnen Sie nun "+ local_rules.xml". Hier sollten alle vom Benutzer geänderten OSSEC-Regeln abgelegt werden. Sie sollten nicht Änderungen an + ossec ruleset.xml vornehmen.

sudo nano /usr/local/ossec-hids/rules/local_rules.xml

Verwenden Sie "+ STRG + UMSCHALT + V ", um die Regel aus dem Texteditor Ihres Hostcomputers in " nano " einzufügen. Stellen Sie sicher, dass Sie es in die * group * -Tags einfügen. Wir ändern die Benachrichtigungsstufe auf " 7 " und teilen OSSEC mit, dass diese Regel die Regel * 554 * von " ossec_rules.xml +" überschreibt.

Wenn Sie fertig sind, sollte das Ende Ihrer "+ local_rules.xml" -Datei wie folgt aussehen. Die erste Zeile ist alles, was von der ursprünglichen Regel geändert wurde.

<rule id="554" level="7" overwrite="yes">
   <category>ossec</category>
   <decoded_as>syscheck_new_entry</decoded_as>
   <description>File added to the system.</description>
   <group>syscheck,</group>
</rule>


</group> <!-- SYSLOG,LOCAL -->


<!-- EOF -->

Wenn alles erledigt ist, speichern und schließen Sie die Datei und starten Sie OSSEC neu, indem Sie Folgendes eingeben:

sudo /usr/local/ossec-hids/bin/ossec-control restart

Fazit

Kurz nach dem Neustart von OSSEC sollten Sie eine Warnung erhalten, die darauf hinweist, dass OSSEC gestartet wurde, genau wie in Schritt 3 beim Konfigurieren des SMTP-Servers. Es wäre eine gute Idee, sich mit den verschiedenen Regelstufen und deren Schwere vertraut zu machen. Sie können darüber in der OSSEC documentation nachlesen.

Und nachdem OSSEC die nächste Systemprüfung durchgeführt hat, sollten Sie auch Standardwarnungen erhalten, die Sie von einem neuen System erwarten können. Im Folgenden finden Sie einige Benachrichtigungen, die Sie wahrscheinlich kurz nach der Konfiguration auf Ihrem Server sehen (oder deren Änderungen angezeigt werden).

Der Benutzer * freebsd * hat zum ersten Mal einen sudo-Befehl ausgeführt.

OSSEC HIDS Notification.
2015 Jan 24 07:10:56

Received From: liniverse->/var/log/auth.log
Rule: 5403 fired (level 4) -> "First time user executed sudo."
Portion of the log(s):

Jan 24 02:10:56 liniverse sudo:  freebsd : TTY=pts/1 ; PWD=/usr/home/freebsd ; USER=root ; COMMAND=/usr/sbin/pkg install namp

--END OF NOTIFICATION

OSSEC hat die IP-Adresse 93.50.186.75 in hosts.allow blockiert.

OSSEC HIDS Notification.
2015 Jan 25 02:06:47

Received From: Freebsd->syscheck
Rule: 552 fired (level 7) -> "Integrity checksum changed again (3rd time)."
Portion of the log(s):

Integrity checksum changed for: '/etc/hosts.allow'
Size changed from '3408' to '3434'
What changed:
93a94

   ALL : 93.50.186.75 : deny

Old md5sum was: 'f8ba903734ee1bd6afae641974a51522'
New md5sum is : '56dfbd3922cf7586b81b6575f6564196'
Old sha1sum was: 'a7a9886aa90f2f6aaa7660490809d6a0717b8d76'
New sha1sum is : '6a0bf14c4614976d2c2e1157f157ae513f3f9cfc'

--END OF NOTIFICATION

Die Datei "+ ngx.txt " wurde in " / home / freebsd +" erstellt.

OSSEC HIDS Notification.
2015 Jan 24 20:08:38

Received From: liniverse->syscheck
Rule: 554 fired (level 7) -> "File added to the system."
Portion of the log(s):

New file '/home/freebsd/ngx.txt' added to the file system.


--END OF NOTIFICATION

Hoffentlich hat Ihnen dies einen Vorgeschmack auf das gegeben, was OSSEC zu bieten hat. Wie bereits erwähnt, werden Echtzeitwarnungen und Warnungen bei Dateilöschungen von FreeBSD noch nicht unterstützt. Auf der GitHub-Seite des Projekts wurde jedoch eine entsprechende Funktionsanfrage gestellt. Weitere Informationen zu OSSEC finden Sie auf der Website des Projekts unter http://www.ossec.net [http://www.ossec.net/].