Защитите Netdata, используя basic аутентификацию!
Настройте приложение Netdata для прослушивания только на локальном хосте вместо каждого интерфейса.
$ sudo sed -i -e "s/# bind to = \*/bind to = 127.0.0.1/" /srv/netdata/etc/netdata/netdata.conf
Перезапустите службу Netdata, чтобы применить изменения.
$ sudo systemctl restart netdata
Установите http-прокси-сервер nginx.
$ sudo apt-get install nginx
Создайте каталог для хранения SSL-сертификата.
$ sudo mkdir /etc/nginx/ssl
Создайте ssl-сертификат для IP-адреса.
$ sudo openssl req -subj "/commonName=$(ip address show dev eth0 scope global | awk '/inet / {split($2,var,"/"); print var[1]}')/" -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
Используйте сертификат Let’s Encrypt.
Создайте учетные данные для бэйсик аутентификации (net-user username, net-pass password).
$ echo "net-user:$(openssl passwd -crypt net-pass)" | sudo tee /etc/nginx/htpasswd
Отключите конфигурацию по умолчанию.
$ sudo unlink /etc/nginx/sites-enabled/default
Создайте минимальную конфигурацию виртуального хоста nginx.
$ cat <<EOF | sudo tee /etc/nginx/sites-available/netdata server { listen 8080 ssl; server_name default; ssl_certificate_key /etc/nginx/ssl/nginx.key; ssl_certificate /etc/nginx/ssl/nginx.crt; auth_basic "Restricted access"; auth_basic_user_file /etc/nginx/htpasswd; location / { proxy_pass http://127.0.0.1:19999/; } } EOF
Включите эту конкретную конфигурацию.
$ sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/
Перезагрузите конфигурацию nginx.
$ sudo systemctl reload nginx
см. так же:
- Как установить Netdata на FreeBSD 12
- Как контролировать сервер Linux с Netdata и Grafana
- Как установить средство мониторинга Netdata на Ubuntu 18.04 LTS
- Как установить средство мониторинга Netdata в Pop OS
- Как установить Netdata. Инструмент мониторинга в centOS 7
- 🚿 Как захватить столбец из вывода команды и преобразовать его в строку
- 🥴 Как отобразить память, используемую процессами, в удобочитаемой форме