Überwachen von OSSEC-Agenten mit einem OSSEC-Server unter Ubuntu 14.04

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 die Anwendung, die auf Ihrem Server installiert werden muss, wenn Sie ein Auge darauf haben möchten, was darin geschieht. OSSEC wird unter Windows und allen Unix-ähnlichen Betriebssystemen unterstützt. Auf den in diesem Tutorial verwendeten Droplets wird jedoch Ubuntu 14.04 ausgeführt.

OSSEC kann so installiert werden, dass nur der Server überwacht wird, auf dem es installiert ist. Dies ist eine lokale Installation in OSSEC. Die beiden vorherigen Tutorials zu OSSEC sind Beispiele für lokale OSSEC-Installationen: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-ossec-security-notifications-on-ubuntu-14-04 [So installieren und konfigurieren Sie OSSEC-Sicherheitsbenachrichtigungen unter Ubuntu 14.04] und How To Installieren und konfigurieren Sie OSSEC unter FreeBSD 10.1.

OSSEC kann auch verwendet werden, um Tausende anderer Server zu überwachen, die als OSSEC * Agenten * bezeichnet werden. OSSEC-Agenten werden von einer anderen Art von OSSEC-Installation überwacht, die als OSSEC * -Server * bezeichnet wird. Nachdem ein OSSEC-Server zur Überwachung eines oder mehrerer Agenten konfiguriert wurde, können jederzeit weitere Agenten hinzugefügt oder entfernt werden. Die Überwachung von OSSEC-Agenten kann über auf den Agenten installierte Agentensoftware oder über einen agentenlosen Modus erfolgen. In diesem Lernprogramm wird der Agentenmodus verwendet, bei dem die OSSEC-Agentensoftware auf den Agenten installiert wird.

In diesem Lernprogramm erfahren Sie, wie Sie einen OSSEC-Server und einen OSSEC-Agenten installieren und dann den Server und den Agenten so konfigurieren, dass der Server den Agenten überwacht und der Server Warnmeldungen an Ihre E-Mail sendet.

Voraussetzungen

Um dieses Lernprogramm abzuschließen, benötigen Sie Folgendes.

  • Zwei Ubuntu 14.04-Tröpfchen. Notieren Sie sich die IP-Adressen von beiden, die auf dem DigitalOcean-Dashboard angezeigt werden. Wir bezeichnen diese als "+ your_server_ip " bzw. " your_agent_ip +".

  • Ein sudo-Benutzer ohne Rootberechtigung für beide Droplets, den Sie erhalten, indem Sie die ersten drei Schritte unter https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04 ausführen Lernprogramm].

  • Iptables-Firewall auf beiden aktiviert. Unter Linux benötigt die neueste stabile Version von OSSEC iptables als aktive Antwortfunktion. Es funktioniert nicht mit ufw, den Standard-Firewall-Anwendungen unter Ubuntu. Befolgen Sie die Anweisungen unter https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall- using-iptables-on-ubuntu-14-04[Einrichten einer Firewall mit Iptables unter Ubuntu 14.04], um iptables auf beiden Servern einzurichten.

Schritt 1 - Laden Sie OSSEC auf den Server und den Agenten herunter und überprüfen Sie es

Wir beginnen mit dem Herunterladen und Überprüfen von OSSEC auf beiden Droplets (dem Server und dem Agenten). Alle Befehle in diesem Schritt sollten auf beiden Droplets ausgeführt werden, sofern nicht anders angegeben.

OSSEC wird als komprimierter Tarball ausgeliefert. In diesem Abschnitt laden Sie OSSEC und die zugehörige Prüfsummendatei herunter, mit der überprüft wird, ob der Tarball manipuliert wurde. Melden Sie sich zunächst wie gewohnt beim Server an und aktualisieren Sie dann die Paketdatenbank.

sudo apt-get update

Installieren Sie alle verfügbaren Updates.

sudo apt-get upgrade

Installieren Sie abschließend die erforderlichen Pakete.

Auf dem * Server * sollten Sie Folgendes installieren:

sudo apt-get install inotify-tools build-essential

Auf dem * Agent * sollten Sie Folgendes installieren:

sudo apt-get install build-essential

Laden Sie anschließend auf beiden Droplets OSSEC und die zugehörige Prüfsummendatei herunter. Sie können auf der Website projects nach der neuesten Version suchen. Die folgenden Versionen sind jedoch zum Zeitpunkt des Schreibens aktuell.

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz

wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1-checksum.txt

Überprüfen Sie nach dem Herunterladen beider Dateien die MD5-Summe des komprimierten Tarballs.

md5sum -c ossec-hids-2.8.1-checksum.txt

Die Ausgabe sollte sein:

ossec-hids-2.8.1.tar.gz: OK
md5sum: WARNING: 1 line is improperly formatted

Überprüfen Sie anschließend die SHA1-Prüfsumme.

sha1sum -c ossec-hids-2.8.1-checksum.txt

Seine Ausgabe sollte sein:

ossec-hids-2.8.1.tar.gz: OK
sha1sum: WARNING: 1 line is improperly formatted

Ignorieren Sie in jedem Fall die Zeile * WARNING *. Die Zeile * OK * bestätigt, dass die Datei fehlerfrei ist.

Schritt 2 - Installieren Sie den OSSEC-Server

In diesem Schritt installieren wir den OSSEC * Server *, daher sollten diese Befehle nur auf einem Droplet ausgeführt werden. Entpacken Sie den Server, bevor Sie mit der Installation beginnen.

tar xf ossec-hids-2.8.1.tar.gz

Es wird in ein Verzeichnis mit dem Namen "+ ossec-hids-2.8.1 +" entpackt. Wechseln Sie in dieses Verzeichnis.

cd ossec-hids-2.8.1/

Starten Sie dann die Installation.

sudo ./install.sh

Während des gesamten Installationsvorgangs werden Sie aufgefordert, Eingaben zu machen. In den meisten Fällen müssen Sie nur * ENTER * drücken, um die Standardwerte zu akzeptieren.

Die erste Wahl, zu der Sie aufgefordert werden, ist die Auswahl der Installationssprache. Standardmäßig ist es Englisch (en). Drücken Sie daher * ENTER *, wenn dies Ihre bevorzugte Sprache ist. Andernfalls geben Sie die 2 Buchstaben aus der Liste der unterstützten Sprachen ein.

In der nächsten Frage werden Sie gefragt, welche Art von Installation Sie wünschen. Hier geben Sie * server * ein.

1- What kind of installation do you want (server, agent, local, hybrid or help)?

Für den Rest der folgenden Fragen können Sie die Standardeinstellungen übernehmen, dh nur * ENTER * drücken. Geben Sie für die Frage per E-Mail eine gültige E-Mail-Adresse ein. Benachrichtigungen werden an diese gesendet.

Wenn die Installation erfolgreich ist, sollten Sie diese Ausgabe erhalten:

- System is Debian (Ubuntu or derivative).
- Init script modified to start OSSEC HIDS during boot.

- Configuration finished properly.

...

   More information can be found at http://www.ossec.net

   ---  Press ENTER to finish (maybe more information below). ---

Drücken Sie dann * ENTER * und Sie sollten folgendes sehen:

- In order to connect agent and server, you need to add each agent to the server.
  Run the 'manage_agents' to add or remove them:

  /var/ossec/bin/manage_agents

  More information at:
  http://www.ossec.net/en/manual.html#ma

Schritt 3 - Konfigurieren Sie den OSSEC-Server

Da der Agent noch nicht installiert ist, müssen Sie ihn später zum Server hinzufügen. Konfigurieren Sie zunächst den Server, um sicherzustellen, dass Warnungen gesendet werden können.

Hier konfigurieren wir die E-Mail-Einstellungen des OSSEC-Servers und stellen sicher, dass dieser Benachrichtigungen an die angegebene E-Mail senden kann. Um auf die Dateien und Verzeichnisse von OSSEC zuzugreifen und diese zu ändern, müssen Sie zum Root-Benutzer wechseln.

sudo su

Nun, da Sie root sind, geben Sie "+ cd +" in das Verzeichnis ein, in dem sich die OSSEC-Konfigurationsdatei befindet.

cd /var/ossec/etc

Die Konfigurationsdatei lautet "+ ossec.conf +". Erstellen Sie zunächst eine Sicherungskopie.

cp ossec.conf ossec.conf.00

Dann öffnen Sie das Original. Hier verwenden wir den Texteditor "+ nano +", aber Sie können verwenden, was Sie bevorzugen.

nano ossec.conf

Die E-Mail-Einstellungen befinden sich oben in der Datei. Hier finden Sie Beschreibungen der zu ändernden Felder, gefolgt von einer Beispieldatei + ossec.conf +.

  • * <email_to \> * ist die E-Mail, die Sie während der Installation gesendet haben. Benachrichtigungen werden an diese E-Mail-Adresse gesendet.

  • * <email_from \> * ist der Ort, von dem OSSECs Warnungen zu kommen scheinen. Ändern Sie dies in eine gültige E-Mail-Adresse, um die Wahrscheinlichkeit zu verringern, dass Ihre E-Mails vom SMTP-Server Ihres E-Mail-Anbieters als Spam gekennzeichnet werden.

  • Wenn Sie einen eigenen E-Mail-Server haben und dieser sich auf demselben Host befindet wie derjenige, auf dem der OSSEC-Server installiert ist, können Sie die Einstellung * <smtp_server \> * in * localhost * ändern.

Beachten Sie, dass * <email_to \> * und * <email_from \> * identisch sein können. So sieht dieser Abschnitt aus, wenn Sie fertig sind. Ersetzen Sie die Variablen in Rot durch Ihre eigenen.

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

Speichern und schließen Sie die Datei, nachdem Sie die E-Mail-Einstellungen geändert haben. Dann starten Sie OSSEC.

/var/ossec/bin/ossec-control start

Überprüfen Sie Ihren Posteingang auf eine E-Mail, die besagt, dass OSSEC gestartet wurde. Überprüfen Sie Ihren Spam-Ordner, wenn Sie die E-Mail nicht sehen.

Schritt 4 - Installieren Sie den OSSEC-Agenten

In diesem Abschnitt erfahren Sie, wie Sie den OSSEC * Agent * auf Ihrem zweiten Droplet installieren. Dies ähnelt der Installation des Servers. Bevor Sie mit der Installation des Agenten beginnen, entpacken Sie ihn.

tar xf ossec-hids-2.8.1.tar.gz

Es wird in ein Verzeichnis mit dem Namen "+ ossec-hids-2.8.1 +" entpackt. Wechseln Sie in dieses Verzeichnis.

cd ossec-hids-2.8.1/

Starten Sie dann die Installation.

sudo ./install.sh

Die meisten Eingabeaufforderungen sind dieselben wie zuvor, einige unterscheiden sich jedoch. Auf die Frage:

1- What kind of installation do you want (server, agent, local, hybrid or help)?

Die Antwort sollte * agent * sein. Und wenn gefragt:

3.1- What's the IP Address or hostname of the OSSEC HIDS server?:

Geben Sie die IP-Adresse des OSSEC-Servers ein, die Sie zuvor erhalten haben. Dies ist die IP-Adresse des anderen Droplets (diejenige, auf der der OSSEC-Server installiert wurde).

Akzeptieren Sie bei den anderen Fragen die Standardeinstellungen, indem Sie * ENTER * drücken, wie Sie es während der Installation des OSSEC-Servers getan haben. Nach der Installation sollten Sie diese Ausgabe erhalten:

- System is Debian (Ubuntu or derivative).
- Init script modified to start OSSEC HIDS during boot.

- Configuration finished properly.

...

   More information can be found at http://www.ossec.net

   ---  Press ENTER to finish (maybe more information below). ---

Und nachdem Sie * ENTER * erneut gedrückt haben, sollten Sie Folgendes sehen:

- You first need to add this agent to the server so they
  can communicate with each other. When you have done so,
  you can run the 'manage_agents' tool to import the
  authentication key from the server.

  /var/ossec/bin/manage_agents

  More information at:
  http://www.ossec.net/en/manual.html#ma

Jetzt wurden der Agent und der Server installiert, sie können jedoch noch nicht kommunizieren.

Schritt 5 - Agent zum Server hinzufügen und Schlüssel extrahieren

Starten Sie auf dem OSSEC-Server den Prozess zum Hinzufügen des Agenten.

  • Hinweis *: Sie sollten weiterhin als Root von Schritt 3 aus arbeiten, sodass Sie in keinem dieser Befehle "+ sudo +" verwenden müssen.

/var/ossec/bin/manage_agents

Daraufhin werden die unten gezeigten Optionen angezeigt. Wählen Sie * a *, um einen Agenten hinzuzufügen.

  (A)dd an agent (A).
  (E)xtract key for an agent (E).
  (L)ist already added agents (L).
  (R)emove an agent (R).
  (Q)uit.
Choose your action: A,E,L,R or Q:

Anschließend werden Sie aufgefordert, einen Namen für den Agenten, seine IP-Adresse und eine ID anzugeben. Stellen Sie den Namen eindeutig ein, da dies beim Filtern der vom Server empfangenen Warnungen hilfreich ist. Für die ID können Sie die Standardeinstellung übernehmen, indem Sie * ENTER * drücken.

Wenn Sie alle drei Felder eingegeben haben, geben Sie zur Bestätigung * y * ein.

- Adding a new agent (use '\q' to return to the main menu).
 Please provide the following:
  * A name for the new agent:
  * The IP Address of the new agent:
  * An ID for the new agent[001]:
Agent information:
  ID:001
  Name:agentUbuntu
  IP Address:111.111.111.111

Confirm adding it?(y/n):
Agent added.

Danach kehren Sie zum Hauptmenü zurück. Nun müssen Sie den Schlüssel des Agenten extrahieren, der auf dem Bildschirm wiedergegeben wird. (Es unterscheidet sich von dem im folgenden Beispiel.) Vergewissern Sie sich, dass Sie es kopieren, da Sie es für den Agenten eingeben müssen.

...

Choose your action: A,E,L,R or Q:

Available agents:
  ID: 001, Name: agentUbuntu, IP: 111.111.111.111
Provide the ID of the agent to extract the key (or '\q' to quit):

Agent key information for '001' is:
MDAxIGFnZW50VWJ1bnyEwNjI5MjI4ODBhMDkzMzA4MR1IXXwNC4yMzYuMjIyLjI1MSBiMTI2U3MTI4YWYzYzg4M2YyNTRlYzM5M2FmNGVhNDYTIwNDE3NDI1NWVkYmQw

** Press ENTER to return to the main menu.

Nach dem Drücken von * ENTER * kehren Sie wieder zum Hauptmenü zurück. Geben Sie zum Beenden * q * ein.

...

Choose your action: A,E,L,R or Q:

** You must restart OSSEC for your changes to take effect.

manage_agents: Exiting ..

Schritt 6 - Importieren Sie den Schlüssel vom Server zum Agenten

Dieser Abschnitt muss auf dem Agenten ausgefüllt werden. Dabei wird der auf dem Server extrahierte Schlüssel des Agenten importiert (kopiert) und auf dem Terminal des Agenten eingefügt. Wechseln Sie zu root, indem Sie Folgendes eingeben:

sudo su

Dann tippe:

/var/ossec/bin/manage_agents

Folgende Optionen werden angezeigt:

  (I)mport key from the server (I).
  (Q)uit.
Choose your action: I or Q:

Befolgen Sie nach der Eingabe der richtigen Option die Anweisungen zum Kopieren und Einfügen des vom Server generierten Schlüssels.

Agent information:
  ID:001
  Name:agentUbuntu
  IP Address:104.236.222.251

Confirm adding it?(y/n):
Added.
** Press ENTER to return to the main menu.

Zum Verlassen des Hauptmenüs geben Sie * q * ein:

Choose your action: I or Q:

Schritt 7 - UDP-Port 1514-Verkehr durch die Firewalls zulassen

Die Kommunikation zwischen Agent und Server erfolgt über den UDP-Port 1514, daher müssen Sie iptables auf beiden Seiten eine Regel hinzufügen, um den Datenverkehr über diesen Port zuzulassen.

Entfernen Sie zunächst vorübergehend die Drop-Regel sowohl auf dem Agenten als auch auf dem Server.

sudo iptables -D INPUT -j DROP

Geben Sie Folgendes ein, um die Regel dem OSSEC * -Server * hinzuzufügen, und verwenden Sie dabei die IP-Adresse Ihres OSSEC-Agenten.

iptables -A INPUT -p UDP --dport 1514 -s  -j ACCEPT

Geben Sie dann auf dem * Agenten * Folgendes unter Verwendung der IP Ihres OSSEC-Servers ein.

iptables -A INPUT -p UDP --dport 1514 -s  -j ACCEPT

Lassen Sie als Nächstes den gesamten ausgehenden Datenverkehr durch die Firewall sowohl auf dem Agenten als auch auf dem Server zu.

iptables -A OUTPUT -j ACCEPT

Fügen Sie abschließend die Drop-Regel erneut zu beiden hinzu.

sudo iptables -A INPUT -j DROP

Diese Regeln sollten nach einem Neustart aufgrund von "+ iptables-persistant +", das Sie während der Voraussetzungen installiert haben, bestehen bleiben.

Schritt 8 - OSSEC Agent und Server neu starten

Nachdem der Server und der Agent für die Kommunikation konfiguriert wurden, starten Sie beide neu, um die Änderungen zu übernehmen. Verwenden Sie dazu:

/var/ossec/bin/ossec-control restart

Abgesehen davon, dass Sie den OSSEC-Agenten vom Agenten selbst aus neu starten können, können Sie ihn auch mit + / var / ossec / bin / agent_control -R + vom OSSEC-Server aus neu starten, wobei * 001 * die ID des Agenten ist.

Auf dem OSSEC-Server können Sie die aktiven Agenten auflisten, indem Sie Folgendes eingeben:

/var/ossec/bin/list_agents -c

Wenn Sie eine Ausgabe wie die folgende erhalten, wissen Sie, dass der Server und der Agent miteinander kommunizieren.

agentUbuntu-111.111.111.111 is active.

Fazit

Zu diesem Zeitpunkt sollten Sie Warnungen vom Server erhalten, die Benachrichtigungen sowohl vom Server als auch vom Agenten enthalten. Die Betreffzeile der Warnmeldungen, die sich auf den Agenten beziehen, sieht wie folgt aus: "+ OSSEC-Benachrichtigung - (agentUbuntu) 111.111.111.111 - Warnstufe 3 ". Der Text dieser E-Mails beginnt mit " OSSEC HIDS Notification +".

Nachdem Sie festgestellt haben, dass Server und Agent kommunizieren können, können Sie beide Installationen weiter anpassen. Änderungen, die am OSSEC-Server und -Agenten vorgenommen werden können, um bei Dateizugriffen und auch in Echtzeit einen Alarm auszulösen, sind dieselben, die Sie bei einer lokalen OSSEC-Installation vornehmen können. Sie können den entsprechenden Abschnitt in How To Install and Configure nachschlagen OSSEC-Sicherheitsbenachrichtigungen unter Ubuntu 14.04 mit Anweisungen zum Vornehmen dieser Änderungen.

Wenn Sie mehr als zwei Droplets überwachen müssen, können Sie diese mit den gleichen Schritten wie in diesem Artikel als OSSEC-Agenten zum Setup hinzufügen. Wenn Sie beim Einrichten auf Probleme stoßen, suchen Sie zuerst im Fehlerprotokoll unter "+ / var / ossec / logs / ossec.log +" nach Hinweisen.

Dieser Artikel behandelt nur die Grundlagen zum Einrichten von OSSEC im Server-Agent-Modus. Weitere Informationen finden Sie unter http://ossec-docs.readthedocs.org.