Содержание

Установка ELK на Debian 10

Установка Java

apt-get install ca-certificates-java default-jdk

Установка Elasticsearch

dpkg -i elasticsearch-8.14.1-amd64.deb

После установки нужно записать пароль


The generated password for the elastic built-in superuser is : 1_qwertyqwerty

Отредактировать файл

nano /etc/elasticsearch/elasticsearch.yml

Добавить строки

network.host: 0.0.0.0
http.port: 9200

Автозапуск и запуск

systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch

Если нужно изменить пароль

/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

Тут можно ограничить потребляемую память

nano /etc/elasticsearch/jvm.options

Установка Kibana

dpkg -i kibana-8.14.1-amd64.deb

Настройка

nano /etc/kibana/kibana.yml

Указываем IP интерфейса для прослушки

server.host: 127.0.0.1

Автозапуск и рестарт

systemctl enable kibana
systemctl restart kibana

Должен заработать веб-интерфейс
http://127.0.0.1:5601/

Получаем токен для веб-интерфейса Kibana

/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Вставить код в поле «Enrollment token»
Нажать [Configure Elastic]

Получение проверочного кода

/usr/share/kibana/bin/kibana-verification-code

Вводим код и жмем [Verify]

Установка Logstash

dpkg -i logstash-8.14.1-amd64.deb

Автозапуск и запуск

systemctl enable logstash
systemctl start logstash

Настройки находятся в каталоге:
/etc/logstash/conf.d/

Настройка сбора NetFlow

Установка плагина

/usr/share/logstash/bin/logstash-plugin install logstash-codec-netflow

Добавить файл настроек

nano /etc/logstash/conf.d/netflow.conf
input {
    udp {
        port => 9996
        buffer_size => 8192
        type => "netflow"
        codec => netflow {
            versions => [5,9,10]
        }
    }
}

output {
    if [type] == "netflow" {
        elasticsearch {
            hosts => ["https://127.0.0.1:9200"]
            index => "netflow-%{+YYYY.MM.dd}"
            user => "elastic"
            password => "1_qwertyqwerty"
            ssl_certificate_verification => false
        }
    }
}

Debug NetFlow

/usr/share/logstash/bin/logstash -e 'input { udp { port => 9996 codec => netflow }} output { stdout {codec => rubydebug }}'

Настройка сбора Syslog

Порты ниже 1024 запрещены в использование обычным пользователям
Настраиваем проброс с 514 на 5514 порт

sudo iptables -t nat -A PREROUTING -p udp --dport 514 -j REDIRECT --to-port 5514
sudo iptables -t nat -A PREROUTING -p tcp --dport 514 -j REDIRECT --to-port 5514

Сохраняем

sudo iptables-save | sudo tee /etc/iptables/rules.v4

Добавить файл настроек

nano /etc/logstash/conf.d/syslog.conf
input {
    udp {
        port => 5514
        type => "syslog"
    }
}

output {
    if [type] == "syslog" {
        elasticsearch {
            hosts => ["https://127.0.0.1:9200"]
            index => "syslog-%{+YYYY.MM.dd}"
            user => "elastic"
            password => "1_qwertyqwerty"
            ssl_certificate_verification => false
        }
    }
}

Debug Syslog

/usr/share/logstash/bin/logstash -e 'input { udp { port => 514 }} output { stdout {codec => rubydebug }}'
/usr/share/logstash/bin/logstash -e 'input { syslog { port => 514 }} output { stdout {codec => rubydebug }}'

Проверка настроек сбора данных

Проверка конфигурации

/usr/share/logstash/bin/logstash --path.settings /etc/logstash -t

Если все в порядке, увидим надпись:

Configuration OK

После изменения настроек перезапустить

systemctl restart logstash

Прочее

Версия Logstash

/usr/share/logstash/bin/logstash --version

Список плагинов

/usr/share/logstash/bin/logstash-plugin list

Список и версии плагинов

/usr/share/logstash/bin/logstash-plugin list --verbose

Справка

/usr/share/logstash/bin/logstash --help
/usr/share/logstash/bin/logstash-plugin --help

Проверка портов

netstat -tulpn

Источники