📜 Как защитить Netdata с помощью базовой аутентификации — Information Security Squad
📜  Как защитить 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

 см. так же:

 

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40