OPNsense Elastic Search: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (31 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= Vorraussetzungen = | = Vorraussetzungen = | ||
| + | |||
| + | == Hardware == | ||
* 8 - 32 GB RAM | * 8 - 32 GB RAM | ||
* 32 GB Festplattenspeicher für Docker und [[ELK Stack]] | * 32 GB Festplattenspeicher für Docker und [[ELK Stack]] | ||
| − | = Swap für mehr Stabilität entfernen = | + | == Swap für mehr Stabilität entfernen == |
| + | * Falls eine Swap-Partition bei der Installation erstellt wurde, empfiehlt die Dokumentation, diese auszuschalten | ||
* '''swapoff -a''' | * '''swapoff -a''' | ||
* '''vim /etc/fstab''' # swap entfernen | * '''vim /etc/fstab''' # swap entfernen | ||
| − | = Maximale Memory Maps erhöhen = | + | == Maximale Memory Maps erhöhen == |
* '''vim ''/etc/sysctl.conf'' ''' | * '''vim ''/etc/sysctl.conf'' ''' | ||
vm.max_map_count=262144 | vm.max_map_count=262144 | ||
* '''sysctl -p''' | * '''sysctl -p''' | ||
| − | = | + | = Installation = |
| − | * ''' | + | *'''apt install apt-transport-https gnupg2 software-properties-common dirmngr lsb-release ca-certificates git''' |
| − | * ''' | + | *'''wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg''' |
| − | + | *'''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''' | |
| − | + | *'''apt update''' | |
| − | + | *'''apt install elasticsearch kibana logstash''' | |
| − | + | ;Konfigurationstemplates holen | |
| − | + | *'''git clone https://github.com/pfelk/pfelk''' | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | = Konfiguration | + | = Konfiguration = |
| − | * '''vim ''/etc/ | + | == Kibana == |
| + | *'''vim ''/etc/kibana/kibana.yml'' ''' | ||
... | ... | ||
| − | + | server.port: 5601 | |
... | ... | ||
| − | + | 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 | |
| − | * '''kibana/bin/kibana-verification-code''' | + | *'''/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 8. März 2025, 15:17 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
- apt install apt-transport-https gnupg2 software-properties-common dirmngr lsb-release ca-certificates git
- wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
- 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
- apt update
- apt install elasticsearch kibana logstash
- Konfigurationstemplates holen
- git clone https://github.com/pfelk/pfelk
Konfiguration
Kibana
- vim /etc/kibana/kibana.yml
... server.port: 5601 ... server.host: "0.0.0.0" ...
Pfelk
- #Konfigurationsordner anlegen
- mkdir -p /etc/pfelk/{conf.d,config,logs,databases,patterns,scripts,templates}
- #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: ******