Kibanaへのアクセスを制限したい
Kibanaは分析・可視化ツールということで社内での運用が基本らしく、認証やセキュリティ対策らしきものは今のところ実装されていない。
待望の認証機能が 4.2.0 に実装されるかな?と思って期待していたけど、しれっと 4.3.0 にラベルが付け替えられていた。
というわけでひとまずはnginxでリバースプロキシしてBasic認証を有効にしてみる。
環境
- AWS EC2 + ELB
- Ubuntu Server 14.04.2 64bit
- nginx 1.9.0
- Kibana 4.1.1
構成
ELBでSSLターミネーションしてHTTPでリクエストを送り込む。
Browser ==(HTTP/HTTPS)==> ELB ==(HTTP)==> EC2(nginx)
nginxの設定
.htpasswd
ファイルはコマンドラインツールで生成してもいいけど、面倒であれば Htpasswd Generator とかで作ると楽です。
管理しやすくするためにkibana用の設定は別ファイルに記述して、それをnginxの設定ファイルから読み込む。
nginx.conf
http {
# ...
include /path/to/kibana.conf;
# ...
}
kibana.conf
upstream kibana {
server 127.0.0.1:5601 fail_timeout=0;
}
server {
listen 80;
server_name kibana.example.com;
location / {
auth_basic "Restricted";
auth_basic_user_file /path/to/.htpasswd;
proxy_pass http://kibana;
}
}
再起動して完了
でもこれ、HTTPSを強制しないと片手落ちですね。
X-Forwarded-Proto
とかを見てリダイレクトかけたほうがいいです。