OPNsense Elastic Search: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (26 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 17: | Zeile 17: | ||
= Installation = | = Installation = | ||
*'''apt install apt-transport-https gnupg2 software-properties-common dirmngr lsb-release ca-certificates git''' | *'''apt install apt-transport-https gnupg2 software-properties-common dirmngr lsb-release ca-certificates git''' | ||
| − | *'''wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | | + | *'''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" | | + | *'''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 | + | *'''apt update''' |
| − | *'''apt | + | *'''apt install elasticsearch kibana logstash''' |
| − | + | ;Konfigurationstemplates holen | |
*'''git clone https://github.com/pfelk/pfelk''' | *'''git clone https://github.com/pfelk/pfelk''' | ||
= Konfiguration = | = Konfiguration = | ||
| + | == Kibana == | ||
*'''vim ''/etc/kibana/kibana.yml'' ''' | *'''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: ******