OPNsense Elastic Search: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 63: | Zeile 63: | ||
*'''cp pfelk/etc/pfelk/scripts/error-data.sh /etc/pfelk/scripts/''' | *'''cp pfelk/etc/pfelk/scripts/error-data.sh /etc/pfelk/scripts/''' | ||
*'''chmod +x /etc/pfelk/scripts/error-data.sh''' | *'''chmod +x /etc/pfelk/scripts/error-data.sh''' | ||
| + | *'''cp -r /etc/elasticsearch/certs /etc/logstash/config/''' | ||
| + | *'''chmod -R logstash:logstash /etc/logstash''' | ||
*'''systemctl daemon-reload''' | *'''systemctl daemon-reload''' | ||
*'''systemctl enable --now elasticsearch.service''' | *'''systemctl enable --now elasticsearch.service''' | ||
Version vom 1. März 2024, 08:30 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/
- chmod -R logstash:logstash /etc/logstash
- 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: ******