📜 Как защитить Netdata с помощью базовой аутентификации

Защитите 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
Друзья помогите этому контенту стать доступнее в социальных сетях.

Не проходи мимо жмакни по кнопке возможно кому то еще он будет полезен!