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

資訊專欄INFORMATION COLUMN

剖析zookeeper中間件的安全機制

IT那活兒 / 2246人閱讀
剖析zookeeper中間件的安全機制

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了?。。?/strong>

zookeeper簡介

zookeeper是一個基于paxos算法實現的高可用的的分布式數據管理與系統協調服務。

常用于數據發布和訂閱、負載均衡、分布式協調、集群管理與Master選舉、分布式鎖、分布式隊列等場景中,保證分布式應用場景中數據的強一致性。

什么情況下使用zookeeper認證機制呢

zookeeper作為分布式架構中的一個重要中間件,通常會在其上面以節點的方式存儲數據,默認情況下,所有應用都可以在zk讀寫任何節點,在復雜且對數據敏感性的應用中,這顯然不安全,所以此時我們可以對zk做一些安全策略設置,可以使用以下幾種手段。

  • 修改zk 默認端口,使用其它端口服務;
  • 限制訪問來源地址;
  • 添加訪問控制;
  • 不要將 zk 暴露在外網;
  • 設置 zk 用戶認證和 ACL。

如何使用zookeeper安全機制

1. 對zk做一些初始安全配置
通常部署完zk服務后,我們可以做一些初始化安全加固配置。
1.1 修改zk的默認端口2181為其它服務端口,減少隨意的網絡端口掃描;只配置必要的參數項。
1.2 其次限制訪問zk的客戶端訪問源,通過配置主機防火墻策略,只允許指定的客戶來源IP訪問來zk的端口服務,其它網絡連接一律拒絕。
Redhat/Centos 6/7:
iptables -I INPUT 1 -p tcp -m iprange --src-range 135.50.xxx13-135.50.xxx.16 --dport 2181 -j ACCEPT
iptables -I INPUT 2 -p tcp -s 135.10.xxx.155 --dport 2181 -j ACCEPT
iptables -I INPUT 3 -p tcp -s 192.168.xxx.112 --dport 2181 -j ACCEPT
iptables -I INPUT 4 -p tcp -s 192.168.xxx.113 --dport 2181 -j ACCEPT
iptables -I INPUT 5 -p tcp -s 192.168.xxx.114 --dport 2181 -j ACCEPT
iptables -I INPUT 6 -p tcp -s 127.0.0.1 --dport 2181 -j ACCEPT
iptables -I INPUT 7 -p tcp --dport 2181 -j DROP
1.3 避免將zk服務端口暴露在外網,避免公網惡意的頻繁連接。
2. zk設置訪問指定IP訪問數據節點
這種方式又稱IP權限模式,設置指定的ip訪問zk。
2.1 登錄zk
zkCli.sh -server 192.168.XXX.112:2181
2.2 查看權限
[zk: 192.168.XXX.114:2181(CONNECTED) 0] getAcl /
world,anyone #表示任何人都可以訪問
: cdrwa
2.3 添加可訪問IP
注意:
添加本機的ip地址,以便進行修改,這里遇到一個坑:
添加一個ip地址后會覆蓋之前添加的ip地址,結果把我的本即的ip覆蓋了,修改可訪問ip后我自己再次修改的時候無法修改認證失?。≈荒苤匮b了。
[zk: 192.168.XXX.114:2181(CONNECTED) 1] setAcl / 
ip:192.168.XXX.112:cdrwa,ip:192.168.XXX.114:cdrwa,ip:192.168.XXX.115:cdrwa
2.4 查看是否正常添加
getAcl /
此時如果使用localhost登錄zk,雖然未授權也可以連接,但是查看節點時會報錯KeeperErrorCode = NoAuth for /,所以此時要從已添加的可訪問IP才能正常的訪問zk。
3. 配置zk訪問控制列表
3.1 zk ACL訪問控制規則原理

zk可以使用ACL訪問控制列表來對節點的權限進行控制, 它與UNIX 文件訪問權限非常相似,zk的節點類比文件,客戶端可以刪除節點、創建節點、修改節點:它使用權限位來允許/禁止對節點的各種操作以及這些位適用的范圍。

ACL 指定一組 id 和與這些 id 關聯的權限。acl權限控制使用scheme/id/permission來標志,主要包括三個方面

  • ·scheme     #權限模式
  • ·id:       #權限對象
  • ·permission   #權限類型
zk ACL訪問控制流程圖:

zookeeper acl的特性:

  • zookeeper的權限控制是基于znode節點的,需要對每個節點設置權限。
  • 每個znode支持設置多種權限控制方案和多個權限。
  • 子節點不會繼承父節點的權限。客戶端無法訪問某個節點,但是可以訪問他的子節點。
常用的授權acl規則的命令:

命令

用法

描述

getAcl

getAcl path

讀取節點的ACL

setAcl

setAcl path acl

設置節點的ACL

create

create path data acl

創建節點時設置acl

addAuth

addAuth scheme auth

添加認證用戶,類似于登錄操作


3.2 使用zk ACL訪問控制規則

1)world權限模式
world權限模式只有一種設置模式。就是 setAcl world:anyone:[r][w][c][d][a]
其中id:為固定的anyone,表示任何用戶。
示例:
設置所有人對節點具有讀寫刪除及創建子節點的權限:
[zk: localhost:2181(CONNECTED) 1] setAcl /chg1 world:anyone:rwdc
2)IP模式
該模式使用的acl方式是 ip:192.168.XXX.12:[a][d][c][w][r]
示例:
設置只有ip為192.168.XXX.112/114/115的客戶端連接才能進行adc操作,其他ip啥操作都做不了。因為圖中設置ACL的客戶端不是這個ip,所以設置了后,他就失去對該節點的權限了,所以getAcl命令會沒有權限。
[zk: localhost:2181(CONNECTED) 0] setAcl / ip:192.168.XXX.112:cdrwa,ip:192.168.XXX.114:cdrwa,ip:192.168.XXX.115:cdrwa
設置以后嘗試讀取/node1節點將是沒有權限 Authentication is not valid,需使用192.168.XXX.112/114/115登錄查看。
[root@master2 ~]# zkCli.sh  -server 192.168.XXX.112:2181
3)設置auth方式的身份認證機制
  • 增加一個授權認證用戶
[zk: 192.168.XXX.112:2181(CONNECTED) 11] addauth digest chg2:123456
  • 設置權限
[zk: 192.168.XXX.112:2181(CONNECTED) 11] setAcl /chg2 auth:chg2:cdrwa
kEX71…是賬號chg2 和密碼123456 經過sha1和base64加密后的密文密碼。
把客戶端quit退出重新連接后:
失去了對該節點的權限。需要使用addauth命令添加授權才行。類似登錄之后才能對該節點有權限。
[zk: 192.168.XXX.112:2181(CONNECTED) 0] addauth digest chg2:123456
總 結
生產環境中為zk配置安全策略可有效的保證數據的安全性,為指定的節點指定訪問訪問IP以及配置身份驗證機制可防止誤刪數據的可能性,保障某些敏感數據的私密性,但是需要客戶端程序更改代碼,增加開發的復雜度。


本文作者:陳洪剛(上海新炬中北團隊)

本文來源:“IT那活兒”公眾號

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

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

相關文章

  • Elasticsearch分布式一致性原理剖析(一)-節點篇

    摘要:摘要目前是最流行的開源分布式搜索引擎系統,其使用作為單機存儲引擎并提供強大的搜索查詢能力。前言分布式一致性原理剖析系列將會對的分布式一致性原理進行詳細的剖析,介紹其實現方式原理以及其存在的問題等基于版本。相當于一次正常情況的新節點加入。 摘要: ES目前是最流行的開源分布式搜索引擎系統,其使用Lucene作為單機存儲引擎并提供強大的搜索查詢能力。學習其搜索原理,則必須了解Lucene,...

    genedna 評論0 收藏0
  • Elasticsearch分布式一致性原理剖析(一)-節點篇

    摘要:摘要目前是最流行的開源分布式搜索引擎系統,其使用作為單機存儲引擎并提供強大的搜索查詢能力。前言分布式一致性原理剖析系列將會對的分布式一致性原理進行詳細的剖析,介紹其實現方式原理以及其存在的問題等基于版本。相當于一次正常情況的新節點加入。 摘要: ES目前是最流行的開源分布式搜索引擎系統,其使用Lucene作為單機存儲引擎并提供強大的搜索查詢能力。學習其搜索原理,則必須了解Lucene,...

    lindroid 評論0 收藏0
  • 高并發

    摘要:表示的是兩個,當其中任意一個計算完并發編程之是線程安全并且高效的,在并發編程中經常可見它的使用,在開始分析它的高并發實現機制前,先講講廢話,看看它是如何被引入的。電商秒殺和搶購,是兩個比較典型的互聯網高并發場景。 干貨:深度剖析分布式搜索引擎設計 分布式,高可用,和機器學習一樣,最近幾年被提及得最多的名詞,聽名字多牛逼,來,我們一步一步來擊破前兩個名詞,今天我們首先來說說分布式。 探究...

    supernavy 評論0 收藏0
  • 高并發

    摘要:表示的是兩個,當其中任意一個計算完并發編程之是線程安全并且高效的,在并發編程中經??梢娝氖褂?,在開始分析它的高并發實現機制前,先講講廢話,看看它是如何被引入的。電商秒殺和搶購,是兩個比較典型的互聯網高并發場景。 干貨:深度剖析分布式搜索引擎設計 分布式,高可用,和機器學習一樣,最近幾年被提及得最多的名詞,聽名字多牛逼,來,我們一步一步來擊破前兩個名詞,今天我們首先來說說分布式。 探究...

    ddongjian0000 評論0 收藏0
  • 高并發

    摘要:表示的是兩個,當其中任意一個計算完并發編程之是線程安全并且高效的,在并發編程中經??梢娝氖褂?,在開始分析它的高并發實現機制前,先講講廢話,看看它是如何被引入的。電商秒殺和搶購,是兩個比較典型的互聯網高并發場景。 干貨:深度剖析分布式搜索引擎設計 分布式,高可用,和機器學習一樣,最近幾年被提及得最多的名詞,聽名字多牛逼,來,我們一步一步來擊破前兩個名詞,今天我們首先來說說分布式。 探究...

    wangdai 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

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