> For the complete documentation index, see [llms.txt](https://docs.enginsight.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.enginsight.com/docs/knowledge-base/siem/wie-konfiguriere-ich-einen-enginsight-siem-extraktor-fur-einen-apache-http-server.md).

# Wie konfiguriere ich einen Enginsight SIEM-Extraktor für einen Apache HTTP Server?

Der Apache HTTP Server schreibt seine Logs standardmäßig in lokale Dateiverzeichnisse. Um die Logs jedoch durch Enginsight sammeln und verarbeiten zu können, müssen sie über Syslog weitergeleitet werden.

In diesem Artikel zeigen wir dir, wie du den Apache HTTP Server so konfigurierst, dass die Logs im richtigen Format bereitgestellt und vom Enginsight SIEM verarbeitet werden können.

Im Anschluss kannst du in der Enginsight Plattform unter **SIEM** → **Allgemeine Kollektoren** → [Event Relay](https://docs.enginsight.com/docs/manual/bedienung-der-plattform/siem/allgemeine-kollektoren/event-relay) einen passenden [Syslog-Kollektor erstellen](https://docs.enginsight.com/docs/manual/bedienung-der-plattform/siem/allgemeine-kollektoren/event-relay/event-relais-hinzufugen).

***

{% stepper %}
{% step %}

### Konfigurationsdatei des Apache HTTP Servers öffnen

Öffne die Konfigurationsdatei des Apache HTTP Servers mit folgendem Befehl:

* **Debian-basiertes System**:

```
sudo nano /etc/apache2/apache2.conf
```

* **Red Hat Enterprise Linux (RHEL)-basiertes System**:

```
sudo nano /etc/httpd/conf/httpd.conf
```

{% endstep %}

{% step %}

### `GlobalLog`-Einträge hinzufügen

1. Füge der Konfigurationsdatei folgende Einträge hinzu oder passe sie an, falls sie schon existieren:

<pre><code>LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

<strong>GlobalLog "|/usr/bin/logger -t httpd -p local0.info" &#x3C;LogFormat>
</strong></code></pre>

Die Log-Formate bedeuten dabei folgendes:

<table><thead><tr><th width="235.359375">Format</th><th>Beschreibung</th></tr></thead><tbody><tr><td><code>vhost_combined</code></td><td>Dieses Format enthält virtuelle Hosts, Referrer und User-Agent.</td></tr><tr><td><code>combined</code></td><td>Dieses Format enthält Referrer und User-Agent.</td></tr><tr><td><code>common</code></td><td>Dies ist das einfachstes Format und enthält weder Referrer noch User-Agent.</td></tr></tbody></table>

2. Ersetze im `GlobalLog`-Eintrag den Parameter `<LogFormat>` mit einem der zuvor definierten Log-Formate (`vhost_combined`, `combined` oder `common`).

{% hint style="danger" %}
**Bitte beachte**: Der Wert `httpd` wird im Enginsight SIEM als Wert im Feld **syslog.app\_name** verwendet und darf nicht geändert werden!
{% endhint %}
{% endstep %}

{% step %}

### `ErrorLog`-Einträge hinzufügen

1. Füge der Konfigurationsdatei folgende Einträge hinzu:

<pre><code>ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M"
<strong>LogLevel &#x3C;LogLevel>
</strong>ErrorLog "|/usr/bin/logger -t httpd -p local0.info"
</code></pre>

2. Ersetze den Parameter `<LogLevel>` mit einem der folgenden Schweregrade (Severity) für Log-Einträge:

* `debug`
* `info`
* `notice`
* `warn`
* `error`

{% hint style="info" %}
Wir empfehlen, als Log-Level den Wert `notice` zu setzen.
{% endhint %}
{% endstep %}

{% step %}

### Änderungen speichern

Speichere die Konfigurationsdatei (**Strg** + **o**) und bestätige den Speicherprozess. Schließe die Datei (**Strg** + **x**).
{% endstep %}

{% step %}

### Apache HTTP Server neu starten

Starte den Apache HTTP Server mit folgendem Befehl neu, damit die Änderungen wirksam werden:

* **Debian-basiertes System**:

```
sudo systemctl restart apache2
```

* **RHEL-basiertes System**:

```
sudo systemctl restart httpd
```

{% endstep %}

{% step %}

### Syslog überprüfen

Stelle sicher, dass die Logs des Apache HTTP Servers nun in `/var/log/syslog` oder `/var/log/messages` erscheinen. Dies ist abhängig von der Konfiguration des Betriebssystems.

Prüfe, ob Access Logs und Error Logs korrekt im angegebenen Format weitergeleitet werden.
{% endstep %}
{% endstepper %}

***
