成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

剖析zookeeper中間件的安全機(jī)制

IT那活兒 / 2350人閱讀
剖析zookeeper中間件的安全機(jī)制

點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了!??!

zookeeper簡(jiǎn)介

zookeeper是一個(gè)基于paxos算法實(shí)現(xiàn)的高可用的的分布式數(shù)據(jù)管理與系統(tǒng)協(xié)調(diào)服務(wù)。

常用于數(shù)據(jù)發(fā)布和訂閱、負(fù)載均衡、分布式協(xié)調(diào)、集群管理與Master選舉、分布式鎖、分布式隊(duì)列等場(chǎng)景中,保證分布式應(yīng)用場(chǎng)景中數(shù)據(jù)的強(qiáng)一致性。

什么情況下使用zookeeper認(rèn)證機(jī)制呢

zookeeper作為分布式架構(gòu)中的一個(gè)重要中間件,通常會(huì)在其上面以節(jié)點(diǎn)的方式存儲(chǔ)數(shù)據(jù),默認(rèn)情況下,所有應(yīng)用都可以在zk讀寫任何節(jié)點(diǎn),在復(fù)雜且對(duì)數(shù)據(jù)敏感性的應(yīng)用中,這顯然不安全,所以此時(shí)我們可以對(duì)zk做一些安全策略設(shè)置,可以使用以下幾種手段。

  • 修改zk 默認(rèn)端口,使用其它端口服務(wù);
  • 限制訪問來(lái)源地址;
  • 添加訪問控制;
  • 不要將 zk 暴露在外網(wǎng);
  • 設(shè)置 zk 用戶認(rèn)證和 ACL。

如何使用zookeeper安全機(jī)制

1. 對(duì)zk做一些初始安全配置
通常部署完zk服務(wù)后,我們可以做一些初始化安全加固配置。
1.1 修改zk的默認(rèn)端口2181為其它服務(wù)端口,減少隨意的網(wǎng)絡(luò)端口掃描;只配置必要的參數(shù)項(xiàng)。
1.2 其次限制訪問zk的客戶端訪問源,通過配置主機(jī)防火墻策略,只允許指定的客戶來(lái)源IP訪問來(lái)zk的端口服務(wù),其它網(wǎng)絡(luò)連接一律拒絕。
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服務(wù)端口暴露在外網(wǎng),避免公網(wǎng)惡意的頻繁連接。
2. zk設(shè)置訪問指定IP訪問數(shù)據(jù)節(jié)點(diǎn)
這種方式又稱IP權(quán)限模式,設(shè)置指定的ip訪問zk。
2.1 登錄zk
zkCli.sh -server 192.168.XXX.112:2181
2.2 查看權(quán)限
[zk: 192.168.XXX.114:2181(CONNECTED) 0] getAcl /
world,anyone #表示任何人都可以訪問
: cdrwa
2.3 添加可訪問IP
注意:
添加本機(jī)的ip地址,以便進(jìn)行修改,這里遇到一個(gè)坑:
添加一個(gè)ip地址后會(huì)覆蓋之前添加的ip地址,結(jié)果把我的本即的ip覆蓋了,修改可訪問ip后我自己再次修改的時(shí)候無(wú)法修改認(rèn)證失?。≈荒苤匮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 /
此時(shí)如果使用localhost登錄zk,雖然未授權(quán)也可以連接,但是查看節(jié)點(diǎn)時(shí)會(huì)報(bào)錯(cuò)KeeperErrorCode = NoAuth for /,所以此時(shí)要從已添加的可訪問IP才能正常的訪問zk。
3. 配置zk訪問控制列表
3.1 zk ACL訪問控制規(guī)則原理

zk可以使用ACL訪問控制列表來(lái)對(duì)節(jié)點(diǎn)的權(quán)限進(jìn)行控制, 它與UNIX 文件訪問權(quán)限非常相似,zk的節(jié)點(diǎn)類比文件,客戶端可以刪除節(jié)點(diǎn)、創(chuàng)建節(jié)點(diǎn)、修改節(jié)點(diǎn):它使用權(quán)限位來(lái)允許/禁止對(duì)節(jié)點(diǎn)的各種操作以及這些位適用的范圍。

ACL 指定一組 id 和與這些 id 關(guān)聯(lián)的權(quán)限。acl權(quán)限控制使用scheme/id/permission來(lái)標(biāo)志,主要包括三個(gè)方面

  • ·scheme     #權(quán)限模式
  • ·id:       #權(quán)限對(duì)象
  • ·permission   #權(quán)限類型
zk ACL訪問控制流程圖:

zookeeper acl的特性:

  • zookeeper的權(quán)限控制是基于znode節(jié)點(diǎn)的,需要對(duì)每個(gè)節(jié)點(diǎn)設(shè)置權(quán)限。
  • 每個(gè)znode支持設(shè)置多種權(quán)限控制方案和多個(gè)權(quán)限。
  • 子節(jié)點(diǎn)不會(huì)繼承父節(jié)點(diǎn)的權(quán)限??蛻舳藷o(wú)法訪問某個(gè)節(jié)點(diǎn),但是可以訪問他的子節(jié)點(diǎn)。
常用的授權(quán)acl規(guī)則的命令:

命令

用法

描述

getAcl

getAcl path

讀取節(jié)點(diǎn)的ACL

setAcl

setAcl path acl

設(shè)置節(jié)點(diǎn)的ACL

create

create path data acl

創(chuàng)建節(jié)點(diǎn)時(shí)設(shè)置acl

addAuth

addAuth scheme auth

添加認(rèn)證用戶,類似于登錄操作


3.2 使用zk ACL訪問控制規(guī)則

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


本文作者:陳洪剛(上海新炬中北團(tuán)隊(duì))

本文來(lái)源:“IT那活兒”公眾號(hào)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/129131.html

相關(guān)文章

  • Elasticsearch分布式一致性原理剖析(一)-節(jié)點(diǎn)篇

    摘要:摘要目前是最流行的開源分布式搜索引擎系統(tǒng),其使用作為單機(jī)存儲(chǔ)引擎并提供強(qiáng)大的搜索查詢能力。前言分布式一致性原理剖析系列將會(huì)對(duì)的分布式一致性原理進(jìn)行詳細(xì)的剖析,介紹其實(shí)現(xiàn)方式原理以及其存在的問題等基于版本。相當(dāng)于一次正常情況的新節(jié)點(diǎn)加入。 摘要: ES目前是最流行的開源分布式搜索引擎系統(tǒng),其使用Lucene作為單機(jī)存儲(chǔ)引擎并提供強(qiáng)大的搜索查詢能力。學(xué)習(xí)其搜索原理,則必須了解Lucene,...

    genedna 評(píng)論0 收藏0
  • Elasticsearch分布式一致性原理剖析(一)-節(jié)點(diǎn)篇

    摘要:摘要目前是最流行的開源分布式搜索引擎系統(tǒng),其使用作為單機(jī)存儲(chǔ)引擎并提供強(qiáng)大的搜索查詢能力。前言分布式一致性原理剖析系列將會(huì)對(duì)的分布式一致性原理進(jìn)行詳細(xì)的剖析,介紹其實(shí)現(xiàn)方式原理以及其存在的問題等基于版本。相當(dāng)于一次正常情況的新節(jié)點(diǎn)加入。 摘要: ES目前是最流行的開源分布式搜索引擎系統(tǒng),其使用Lucene作為單機(jī)存儲(chǔ)引擎并提供強(qiáng)大的搜索查詢能力。學(xué)習(xí)其搜索原理,則必須了解Lucene,...

    lindroid 評(píng)論0 收藏0
  • 高并發(fā)

    摘要:表示的是兩個(gè),當(dāng)其中任意一個(gè)計(jì)算完并發(fā)編程之是線程安全并且高效的,在并發(fā)編程中經(jīng)??梢娝氖褂茫陂_始分析它的高并發(fā)實(shí)現(xiàn)機(jī)制前,先講講廢話,看看它是如何被引入的。電商秒殺和搶購(gòu),是兩個(gè)比較典型的互聯(lián)網(wǎng)高并發(fā)場(chǎng)景。 干貨:深度剖析分布式搜索引擎設(shè)計(jì) 分布式,高可用,和機(jī)器學(xué)習(xí)一樣,最近幾年被提及得最多的名詞,聽名字多牛逼,來(lái),我們一步一步來(lái)?yè)羝魄皟蓚€(gè)名詞,今天我們首先來(lái)說說分布式。 探究...

    supernavy 評(píng)論0 收藏0
  • 高并發(fā)

    摘要:表示的是兩個(gè),當(dāng)其中任意一個(gè)計(jì)算完并發(fā)編程之是線程安全并且高效的,在并發(fā)編程中經(jīng)??梢娝氖褂?,在開始分析它的高并發(fā)實(shí)現(xiàn)機(jī)制前,先講講廢話,看看它是如何被引入的。電商秒殺和搶購(gòu),是兩個(gè)比較典型的互聯(lián)網(wǎng)高并發(fā)場(chǎng)景。 干貨:深度剖析分布式搜索引擎設(shè)計(jì) 分布式,高可用,和機(jī)器學(xué)習(xí)一樣,最近幾年被提及得最多的名詞,聽名字多牛逼,來(lái),我們一步一步來(lái)?yè)羝魄皟蓚€(gè)名詞,今天我們首先來(lái)說說分布式。 探究...

    ddongjian0000 評(píng)論0 收藏0
  • 高并發(fā)

    摘要:表示的是兩個(gè),當(dāng)其中任意一個(gè)計(jì)算完并發(fā)編程之是線程安全并且高效的,在并發(fā)編程中經(jīng)??梢娝氖褂?,在開始分析它的高并發(fā)實(shí)現(xiàn)機(jī)制前,先講講廢話,看看它是如何被引入的。電商秒殺和搶購(gòu),是兩個(gè)比較典型的互聯(lián)網(wǎng)高并發(fā)場(chǎng)景。 干貨:深度剖析分布式搜索引擎設(shè)計(jì) 分布式,高可用,和機(jī)器學(xué)習(xí)一樣,最近幾年被提及得最多的名詞,聽名字多牛逼,來(lái),我們一步一步來(lái)?yè)羝魄皟蓚€(gè)名詞,今天我們首先來(lái)說說分布式。 探究...

    wangdai 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<