Услуги по информационной безопасности и SIEM

� Как защитить 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

 см. так же:

 

 

Дата: 2020-02-14 08:00:48

Источник: https://itsecforu.ru/2020/02/14/%f0%9f%93%9c-%d0%ba%d0%b0%d0%ba-%d0%b7%d0%b0%d1%89%d0%b8%d1%82%d0%b8%d1%82%d1%8c-netdata-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-%d0%b1%d0%b0%d0%b7%d0%be%d0%b2%d0%be%d0%b9-%d0%b0%d1%83/