国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Elasticsearch安全漏洞修復

IT那活兒 / 776人閱讀
Elasticsearch安全漏洞修復

點擊上方“IT那活兒”,關注后了解更多精彩內容!!

版本信息

Elasticsearch 7.5.1、java version 1.8.0_101、Red Hat 7.5

漏洞名稱

Elasticsearch 未授權訪問

漏洞描述

通常情況下Elasticsearch 未對敏感信息進行過濾,通過curl IP:PORT的方式導致任意用戶可讀取敏感信息。

修復方案

添加用戶認證,提高信息安全性。

修復步驟

1. 創建TLS證書,并傳輸到各節點
如下操作在其中一個node節點執行即可,生成完證書傳到集群其他節點即可。
注:此次以3個節點為例:xxx.xxx.xxx.104 xxx.xxx.xxx.106 xxx.xxx.xxx.107
切換到elasticsearch目錄:
cd /home/shsnc/snc_product/elasticsearch
執行下面兩條命令,都是一路回車即可,不需要給密鑰添加密碼:
./bin/elasticsearch-certutil ca
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
證書創建完成之后默認在elasticsearch目錄下,統一放到config/certs目錄:
cd config
# 創建certs目錄:
mkdir certs
# 回到elasticsearch目錄:
cd /home/shsnc/snc_product/elasticsearch
ls elastic-*
# 會有以下兩個文件:
elastic-certificates.p12 elastic-stack-ca.p12
mv elastic-* config/certs
# 在另外兩個節點創建certs目錄,把elastic-certificates.p12  elastic-stack-ca.p12這兩個文件拷貝到另外兩個節點的certs目錄:
scp -r config/certs xxx.xxx.xxx.106:/home/shsnc/snc_product/elasticsearch/config
scp -r config/certs xxx.xxx.xxx.107:/home/shsnc/snc_product/elasticsearch/config


2. 開啟X-pack驗證

配置文件目錄:
/home/shsnc/snc_product/elasticsearch/config。
# 配置文件名稱:elasticsearch.yml
刪除 xpack.security.enabled: false這一行。
# 三臺機器增加配置文件如下:
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
3. 重啟集群
重啟三臺elasticsearch:
cd /home/shsnc/snc_product/elasticsearch/
sh elasticsearch.sh restart
4. 為ES內置的賬戶創建密碼
ES中內置了幾個管理其他集成組件的賬號即:apm_system, beats_system, elastic,  kibana, logstash_system, remote_monitoring_user,使用之前,首先需要添加一下密碼。
# 執行命令,只需在104主機執行即可:
/home/shsnc/snc_product/elasticsearch/bin/elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,kibana,logstash_system,beats_system.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
# 六個賬戶的密碼保持一致,現場操作切勿使用弱口令。
5. 更新涉及Elasticsearch的微服務
微服務配置文件中已有Elasticsearch認證的配置,直接修改配置,重啟服務即可。
有用到es的微服務(可能有差異,具體按現場為主,這里以base-resource-center服務為例)。
# 需要更新base-resource-center.jar 和lib目錄。
# 進入base-resource-center目錄:
cd /home/shsnc/snc_product/product/base-resource-center/config


# 編輯配置文件application.properties,修改下面的密碼行即可:


resource.elasticsearch.username=elastic #認證用戶名
resource.elasticsearch.password=123456 #用戶密碼
# 重啟104和107 兩臺的base-resource-center服務:
cd /home/shsnc/snc_product/product/
sh jar.sh -restart base-resource-center
6. 認證測試
服務正常啟動后,執行curl ip:port的方式訪問集群,已無法訪問到集群任何信息,返回值如下:
{"error":{"root_cause":[{"type":"security_exception","reason":"missing 
authentication credentials for REST request
[/]","header":{"WWW-Authenticate":"Basic
realm="security" charset="UTF-
8""}}],"type":"security_exception","reason":"missing
authentication credentials for REST request
[/]","header":{"WWW-Authenticate":"Basic
realm="security" charset="UTF-8""}},"status":401}
#需添加用戶認證選項方可進行訪問,格式如下:
#curl --user 用戶:密碼 IP:端口
curl --user elastic:123456 xxx.xxx.xxx.106:9200
{
"name" : "es_node0",
"cluster_name" : "xxxxx",
"cluster_uuid" : "RZXFBcnYSSe9lF5Wc-J2bB",
"version" : {
"number" : "7.5.1",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "3ad9ty3a93c95vb0cdc024651cf95d67e1e18d36",
"build_date" : "2020-12-16T22:57:37.835892Z",
"build_snapshot" : false,
"lucene_version" : "8.3.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
返回以上信息即說明認證通過。

結  語

默認情況下,當我們搭建好Elasticsearch集群后,我們通過http://localhost:9200就可以直接訪問到Elasticsearch集群的一些信息,這顯然是不安全的。
在同一個局域網中,如果我們啟動了多個Elasticsearch節點,且集群的名字相同,那么他們可能會自動加入集群,這同樣是不安全的。
因此Elasticsearch自帶的插件x-pack就可以解決上述的要求,通過TLS加密和基于角色的訪問控制來確保Elasticsearch各節點的安全通信。

END



本 文 原 創 來 源:IT那活兒微信公眾號(上海新炬王翦團隊)


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129674.html

相關文章

  • Rancher 2.2.4發布,CVE修復,項目監控回歸!

    摘要:大會上,研發經理還將現場即將發布的中容器的功能及使用還有等的現場交流。點擊了解詳情及在線報名啦年月日,發布了全新版本,該版本修復了近期發現的兩個安全漏洞和,項目級別的監控功能也在此版本回歸,還有一系列功能與優化。 6月20日,北京,由Rancher Labs主辦的【2019企業容器創新大會】限免報名已開啟!全天18場演講,特邀中國人壽、中國聯通、平安科技、新東方、阿里云、百度云等著名企...

    沈建明 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<