溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何顯示訪問elasticsearch集群的IP

發布時間:2021-12-16 10:12:59 來源:億速云 閱讀:421 作者:iii 欄目:云計算
# 如何顯示訪問Elasticsearch集群的IP

## 引言

在運維Elasticsearch集群時,了解訪問集群的客戶端IP地址對于安全審計、流量分析和故障排查至關重要。本文將詳細介紹多種獲取訪問ES集群IP的方法,包括日志分析、API查詢和網絡層監控方案。

---

## 一、通過Elasticsearch訪問日志獲取IP

### 1.1 開啟審計日志(推薦方案)
Elasticsearch自帶的審計日志功能可記錄所有訪問請求:

```yaml
# elasticsearch.yml 配置
xpack.security.audit.enabled: true
xpack.security.audit.logfile.events.include: access_denied,anonymous_access_denied,authentication_success,connection_denied

日志示例輸出:

[2023-11-20T10:00:00] ACCESS [rest] origin_address=/192.168.1.100, uri=/products/_search

1.2 分析HTTP訪問日志

當使用Nginx等反向代理時,可在代理層記錄日志:

log_format es_log '$remote_addr - $upstream_addr [$time_local] "$request"';
access_log /var/log/nginx/es_access.log es_log;

二、使用Elasticsearch API實時查詢

2.1 通過_tasks API監控活躍請求

GET /_tasks?detailed=true&group_by=parents

響應中包含origin字段顯示源IP:

{
  "tasks" : {
    "abcdefg:12345" : {
      "origin" : "192.168.1.100:63452",
      "action" : "indices:data/read/search"
    }
  }
}

2.2 使用Stats API獲取連接統計

GET /_nodes/stats/http

返回結果中的current_open包含客戶端連接信息。


三、網絡層監控方案

3.1 TCP連接分析(Linux環境)

ss -tulnp | grep 9200

輸出示例:

tcp   ESTAB  0    0    192.168.1.5:9200    203.0.113.45:42351

3.2 使用Packetbeat進行流量監控

配置Packetbeat捕獲ES流量:

packetbeat.interfaces.device: eth0
packetbeat.protocols.http:
  ports: [9200]
output.elasticsearch:
  hosts: ["localhost:9200"]

四、安全增強方案

4.1 啟用X-Forwarded-For處理

當集群部署在負載均衡后方時,需配置:

http.port: 9200
http.publish_port: 9200
network.host: _site_
http.xff.enabled: true
http.xff.trusted_proxies: ["192.168.1.1"] # 負載均衡IP

4.2 使用Search Guard/IP Filtering插件

通過插件實現IP白名單控制:

searchguard.dynamic.http.filter:
  "*":
    - "192.168.1.*"

五、可視化方案(Kibana)

5.1 創建訪問日志儀表盤

  1. 將審計日志索引到Logstash
  2. 使用TSVB可視化客戶端地理分布
  3. 設置IP字段的TopN聚合

5.2 使用Network Threat Detection

在X-Pack中啟用:

PUT _cluster/settings
{
  "persistent": {
    "xpack.security.audit.logfile.events.emit_request_body": true
  }
}

六、常見問題排查

6.1 看不到真實客戶端IP

可能原因: - 未正確配置X-Forwarded-For - 代理服務器未傳遞源IP

解決方案:

# 測試真實IP獲取
curl -H "X-Forwarded-For: 1.2.3.4" http://es-node:9200

6.2 高并發下的性能影響

優化建議: - 采樣審計日志(設置xpack.security.audit.logfile.events.exclude) - 使用單獨的專用日志節點


結語

通過組合使用日志分析、API查詢和網絡監控三種方式,可以全面掌握訪問Elasticsearch集群的客戶端IP信息。建議生產環境至少啟用審計日志+網絡層監控的雙重方案,同時注意在分布式架構中正確處理代理層IP傳遞問題。

最佳實踐提示:定期分析訪問IP模式,可配合Elasticsearch的機器學習功能自動檢測異常IP訪問。 “`

注:本文實際約1100字,包含: 1. 6個主要章節+12個子章節 2. 5個代碼示例片段 3. 3種不同技術方案 4. 2個常見問題解決方案 5. 可視化與安全增強建議

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女