はじめに
Kibanaダッシュボードを悪意のある侵入者から保護する最も簡単な方法は、Nginxリバースプロキシを設定することです。そうすることで、パスワードで保護された許可されたユーザーのみがKibana(およびElasticsearchのデータ)にアクセスできるようになります。
このチュートリアルでは、Kibana用にNginxリバースプロキシを構成する方法を学習します。
前提条件
- システムにインストールされている機能しているELKスタック
- sudoのユーザーアカウント 特権
- ターミナルウィンドウ/コマンドラインへのアクセス
Kibana用にNginxリバースプロキシを構成する
ステップ1:Kibanaを構成する
Nginxのセットアップを開始する前に、KibanaとElasticsearchの構成ファイルを必ず編集してください。
1.まず、次のコマンドを実行してKibanaの構成ファイルを開きます。
sudo vim /etc/kibana/kibana.yml
Kibanaのインストールで概説されている手順に従った場合、ファイルは以下に表示されているもののようになります。
2.デフォルトのサーバーポートを変更します およびサーバーホスト 次の値にアドレス指定します:
server.host:"localhost"
server.port:5601
3.次に、保存 および終了 ファイル。
4.次のコマンドを使用してKibanaサービスを再起動します:
sudo service kibana restart
ステップ2:Elasticsearchを構成する
1.Elasticsearchに対して同じプロセスを繰り返します。構成ファイルを開きます:
sudo vim /etc/elasticsearch/elasticsearch.yml
2.次に、次の行を見つけて、デフォルトのポートとホストを変更します。
http.port: 9200
network.host: localhost
3.ファイルを保存して、サービスを再起動します。
sudo service elasticsearch restart
4.最後に、ブラウザで次のURLに移動して、Kibanaにアクセスできることを確認します。
http://localhost:5601
ステップ3:Nginxをインストールして構成する
次のステップはNginxをセットアップすることです。
1. Nginxをまだインストールしていない場合は、次のコマンドを実行します:
sudo apt-get install nginx
2. Nginxをセットアップしたら、 apache2-utilsをインストールします 、パスワードで保護されたアカウントを作成するためのユーティリティ:
sudo apt-get install apache2-utils
3.次に、Kibanaへのアクセスに使用するユーザーアカウントを作成します。 user_account
を置き換えます 使用するユーザー名のコマンドで:
sudo htpasswd -c /etc/nginx/htpasswd.users user_account
4.次に、このユーザーのパスワードを入力して再入力するように求められます。
New password:
Re-type new password:
Adding password for user user_account
5.次に、Nginxの構成ファイルを作成します:
sudo vim /etc/nginx/conf.d/kibana.conf
6.テキストエディタ内に次のコンテンツを1回追加します。
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream elasticsearch {
server 127.0.0.1:9200;
keepalive 15;
}
upstream kibana {
server 127.0.0.1:5601;
keepalive 15;
}
server {
listen 8881;
location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
proxy_pass http://elasticsearch;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
server {
listen 8882;
location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
proxy_pass http://kibana;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
}
7.ファイルを保存して終了します。
ステップ4:サービスを再起動する
新しい構成を認識するために、サービスを再起動する必要があります。
1.次のコマンドを実行してNginxを再起動します:
sudo service nginx restart
2.次に、次のコマンドを使用してKibanaサービスを再起動します。
sudo service kibana restart
ステップ5:認証が正しく機能することを確認する
1. Webブラウザーを開き、Kibanaに割り当てたIPアドレスに移動します。
2.ユーザー名の入力を求める認証ウィンドウが表示されます およびパスワード 。
3. Nginxのセットアップ中に構成された資格情報を入力し、サインインを選択します 。正しい情報を入力すると、ブラウザはKibanaウェルカムページを開きます。