OPNsense Elastic Search mit PFELK: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „ = Vorraussetzungen = == Hardware == * 8 - 32 GB RAM * 32 GB Festplattenspeicher für Docker und ELK Stack == Swap für mehr Stabilität entfernen == * F…“)
 
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 17: Zeile 17:
  
 
= Installation =
 
= Installation =
*'''apt install apt-transport-https gnupg2 software-properties-common dirmngr lsb-release ca-certificates git'''
+
;Download installer script from pfelk repository
*'''wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg'''
+
*wget https://raw.githubusercontent.com/pfelk/pfelk/main/etc/pfelk/scripts/pfelk-installer.sh
*'''echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-8.x.list'''
+
;Make script executable
*'''apt update'''
+
*chmod +x pfelk-installer.sh
*'''apt install elasticsearch kibana logstash'''
+
;Run installer script
;Konfigurationstemplates holen
+
*sudo ./pfelk-installer.sh
*'''git clone https://github.com/pfelk/pfelk'''
 
  
 
= Konfiguration =
 
= Konfiguration =
 +
;Enrollment token
 +
[[Datei:Enrollment-token.png|900px]]
 +
;Kibana Verification Code
 +
[[Datei:kcode.png|900px]]
 +
== Nacharbeiten ==
 +
;Neues Passwort setzen
 +
*/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
 +
;In der Weboberfläche ändern
 +
*Oben rechts Profil auswählen
 +
**Edit Profile
 +
***Change Password
 +
;Password im Logstash setzen
 +
*sed  -ie "s/changeme/123Start$/" 50-outputs.pfelk
 +
;Fehler bereinigen
 +
*sed  -ie "s/cacert/ssl_certificate_authorities/" 50-outputs.pfelk
 +
=Einstellungen Opnsense=
 +
==Firewall und Logging allgemein==
 +
*System
 +
**Settings
 +
***Logging
 +
****Remote
 +
*****+
 +
[[Datei:opnsens-log-allgemein.png]]
  
== Kibana ==
+
==Firewall und Logging allgemein==
*'''vim ''/etc/kibana/kibana.yml'' '''
+
*Services
 +
**Intrusion Detection
 +
***Administration
 +
****Settings
 +
[[Datei:opnsens-log-suricata.png]]
  
...
+
=Cheat Sheet=
server.port: 5601
+
*[[Elasticsearch Cheat Sheet (pfELK)]]
...
 
server.host: "0.0.0.0"
 
...
 
 
 
== Pfelk ==
 
 
 
*<nowiki>#</nowiki>Konfigurationsordner anlegen
 
*'''mkdir -p /etc/pfelk/{conf.d,config,logs,databases,patterns,scripts,templates}'''
 
*<nowiki>#</nowiki>Konfigurationsvorlagen in die entsprechenden Verzeichnisse kopieren
 
*'''cp pfelk/etc/pfelk/conf.d/01-inputs.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/02-firewall.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/05-apps.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/30-geoip.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/49-cleanup.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/50-outputs.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/20-interfaces.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/35-rules-desc.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/36-ports-desc.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/37-enhanced_user_agent.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/38-enhanced_url.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/conf.d/45-enhanced_private.pfelk -P /etc/pfelk/conf.d/'''
 
*'''cp pfelk/etc/pfelk/patterns/pfelk.grok -P /etc/pfelk/patterns/'''
 
*'''cp pfelk/etc/pfelk/patterns/openvpn.grok -P /etc/pfelk/patterns/'''
 
*'''cp pfelk/etc/pfelk/databases/private-hostnames.csv -P /etc/pfelk/databases/'''
 
*'''cp pfelk/etc/pfelk/databases/rule-names.csv -P /etc/pfelk/databases/'''
 
*'''cp pfelk/etc/pfelk/databases/service-names-port-numbers.csv -P /etc/pfelk/databases/'''
 
 
 
== Logstash ==
 
*'''cp pfelk/etc/pfelk/config/pipelines.yml /etc/logstash/'''
 
*'''mkdir -p /etc/pfelk/logs'''
 
*'''cp pfelk/etc/pfelk/scripts/error-data.sh /etc/pfelk/scripts/'''
 
*'''chmod +x /etc/pfelk/scripts/error-data.sh'''
 
*'''cp -r /etc/elasticsearch/certs /etc/logstash/config/'''
 
*'''chown -R logstash:logstash /etc/logstash'''
 
 
 
== Dienste aktivieren ==
 
*'''systemctl daemon-reload'''
 
*'''systemctl enable --now elasticsearch.service'''
 
*'''systemctl enable --now kibana.service'''
 
*'''systemctl enable --now logstash.service'''
 
 
 
== Elastic ==
 
*Enrollment-Key generieren und in die Weboberfläche eintragen
 
*'''/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token --scope kibana'''
 
*http://ip.elk.stack:5601
 
*Kibana wird für einen Verifikationscode fragen
 
*'''/usr/share/kibana/bin/kibana-verification-code'''
 
*http://ip.elk.stack:5601
 
*Falls das Passwort für den Nutzer ''elastic'' verloren gegangen ist, kann dieser so zurückgesetzt werden
 
*'''/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'''
 
*http://ip.elk.stack:5601
 
 
 
user: elastic
 
pass: ******
 
  
 
= Links =
 
= Links =
 
* https://github.com/pfelk/pfelk
 
* https://github.com/pfelk/pfelk

Aktuelle Version vom 13. September 2025, 17:59 Uhr

Vorraussetzungen

Hardware

  • 8 - 32 GB RAM
  • 32 GB Festplattenspeicher für Docker und ELK Stack

Swap für mehr Stabilität entfernen

  • Falls eine Swap-Partition bei der Installation erstellt wurde, empfiehlt die Dokumentation, diese auszuschalten
  • swapoff -a
  • vim /etc/fstab # swap entfernen

Maximale Memory Maps erhöhen

  • vim /etc/sysctl.conf
vm.max_map_count=262144
  • sysctl -p

Installation

Download installer script from pfelk repository
Make script executable
  • chmod +x pfelk-installer.sh
Run installer script
  • sudo ./pfelk-installer.sh

Konfiguration

Enrollment token

Enrollment-token.png

Kibana Verification Code

Kcode.png

Nacharbeiten

Neues Passwort setzen
  • /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
In der Weboberfläche ändern
  • Oben rechts Profil auswählen
    • Edit Profile
      • Change Password
Password im Logstash setzen
  • sed -ie "s/changeme/123Start$/" 50-outputs.pfelk
Fehler bereinigen
  • sed -ie "s/cacert/ssl_certificate_authorities/" 50-outputs.pfelk

Einstellungen Opnsense

Firewall und Logging allgemein

  • System
    • Settings
      • Logging
        • Remote
          • +

Opnsens-log-allgemein.png

Firewall und Logging allgemein

  • Services
    • Intrusion Detection
      • Administration
        • Settings

Opnsens-log-suricata.png

Cheat Sheet

Links