介紹
由於ElasticSearch本身沒有許可權管理模組,只要獲取伺服器的地址和埠,任何人都可以隨意讀寫ElasticSearch的API並獲取資料,這樣非常不安全。所以本文就介紹一下如何規避這種問題,實現方式其實有幾種,本文將介紹使用nginx的basic_auth來控制的方式。
- 好處 使用nginx的好處是輕便,不用涉及到Elasticsearch 或者 Kibana本身的配置上,
- 壞處 可被暴力破解
環境
Centos 6.9 Elasticsearch 版本 6.4.0 Kibana 版本 6.4.0 Nginx 版本 1.11.6
安裝nginx
- 下載nginx
[root@localhost ~]# wget http://nginx.org/download/nginx-1.11.6.tar.gz
複製程式碼
- 解壓ngxin
tar -zxvf nginx-1.11.6.tar.gz
複製程式碼
- 進入nginx目錄
cd nginx-1.11.6
複製程式碼
- 執行configure檢查配置
./configure
複製程式碼
4.1. 發現錯誤, 缺少 pcre 包
```
./configure: error: the HTTP rewrite module requires the PCRE library.
複製程式碼
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=
- 安裝pcre包
yum -y install pcre-devel
複製程式碼
- 再次執行configure檢查配置
./configure
複製程式碼
6.1 發現還缺少一個zlib的包
```
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.
```
複製程式碼
- 安裝zlib包
yum -y install zlib-devel
複製程式碼
- 執行configure
./configure
複製程式碼
- 執行make install
make install
複製程式碼
- 進入nginx目錄啟動nginx
cd /usr/local/nginx/
複製程式碼
啟動nginx
./sbin/ngxin
複製程式碼
可以進入你的瀏覽器輸入你的ip地址看看是否能訪問
配置ngxin
下面就開始對ngxin的配置檔案做修改,修改/conf目錄下面的nginx.conf
vim conf/nginx.conf
複製程式碼
將裡面的
location / {
root html;
index index.html index.htm;
}
複製程式碼
改成
location / {
proxy_pass http://0.0.0.0:5601;
auth_basic "登陸驗證";
auth_basic_user_file /usr/local/nginx/htpasswd;
}
複製程式碼
然後使用htpasswd命令生成密碼檔案
[root@test102 conf.d]# htpasswd -cm /usr/local/nginx/htpasswd kibana #/usr/local/nginx/htpasswd就是配置檔案裡面配置的密碼檔案,kibana就是使用者名稱
New password: #輸入密碼
Re-type new password: #再次輸入密碼,回車
Adding password for user crystal
複製程式碼
進入瀏覽器訪問你的ip,會讓你輸入使用者名稱和密碼才能進入kibana了
輸入使用者名稱和密碼
點選登陸就進入了kibana