国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

應對“刪庫跑路”的一種解決思路

新聞 前端
開發人員經常需要訪問某些服務器,做一些檢查應用程序日志之類的工作。

 開發人員經常需要訪問某些服務器,做一些檢查應用程序日志之類的工作。

一般來說,訪問過程是使用公私鑰加密來控制的,每位開發人員都會生成自己的公私鑰對。并且,每個開發人員的公鑰都會添加到他們有權訪問的每臺服務器上的 authorized_keys 文件中。

1. 痛苦的手動更改

到目前為止,這還沒什么問題。但是,當一名開發人員離職時又會發生什么事情呢?

在這種情況下,應該從所有服務器上刪除這位開發人員的公鑰。根據他們有權訪問的服務器數量,這可能會涉及很多工作。

更糟糕的是,如果這個環節都是手動操作的,那么操作員很有可能會忘了刪除某些服務器上的公鑰。也就是說,離職員工的訪問權限仍然保持啟用狀態。

2. 替代解決方案

有一些商業和開源解決方案可以幫助我們解決這一問題。這里的基本思想是,你在這類服務上添加并維護一個密鑰和訪問權限列表,需要刪除某個密鑰時,該密鑰將從所有服務器中刪除。

這聽起來不錯,但這種方案有一個很大的缺陷:它是潛在的單一故障源。如果某人獲取了對該服務的訪問權限,那就意味著他可以訪問你的所有服務器。而且,如果你無法訪問這個服務,在最壞的情況下,甚至會無法訪問所有服務器。

解決方案:簽名密鑰

當我遇到了這個問題時,我去 HackerNews 上問了問其他人是如何解決它的。

https://news.ycombinator.com/item?id=24157180

社區提供了一些很棒的建議和見解,而這個問題的最佳解決方案似乎是對密鑰進行簽名,本文會詳細給大家介紹一下。

基本思想

這個方法的基本思想是:你還是要為每位開發人員生成一個公鑰 - 私鑰對。但是,不要把公鑰上載到服務器上。

而是使用之前生成的,所謂的證書頒發機構(CA)密鑰對公共密鑰進行簽名。這個簽名就是生成了第三個證書文件,你將它還給開發人員,然后讓他們放在.ssh/文件夾中,和私鑰、公鑰放在一起。

在服務器上,你只需告訴服務器你的 CA 的公鑰,服務器就可以檢測用戶是否具有正確簽名的證書,并且僅允許擁有這種簽名證書的開發人員訪問自己。

優點

簽署證書時,可以定義這次簽署有效的時間。因此,如果你簽署的有效期為 3 個月,隨后開發人員離開了公司,那么 3 個月后,他們肯定將無法訪問任何服務器。

現在你會說:好吧,但我不想每 3 個月就對每個人的密鑰簽一次名,這個抱怨很合理。

一種辦法是讓這個流程自動化,例如,你可以構建服務,讓用戶在使用公司的電子郵件和密碼授權時可以自動獲得簽名證書,但這不在本文的討論范圍之內。

另一種簡單的替代方法是,你可以頒發有效期更長的證書。然后,如果有人離開公司,就可以撤消這個證書,也就是使其失效。你可以在服務器上放置一個無效證書列表,它們將不再接受用戶訪問。例如,可以通過 AWS S3 或其他存儲來存放這個列表,并在每臺服務器上定期創建一個 cronjob 來完成這一操作。

該怎么做?

了解了原理后,實際上做起來非常簡單。

首先,你要生成一個證書頒發機構的公鑰 - 私鑰對,你應該把這個私鑰放在非常安全的地方:

  1. umask 77 # you want it to be private 
  2.  
  3. mkdir ~/my-ca && cd ~/my-ca 
  4.  
  5. ssh-keygen -C CA -f ca -b 4096 # be sure to use a passphrase and store it securely 

然后在你的服務器上,設置為允許由你的 CA 簽名的所有用戶訪問該服務器:

將 CA 的公鑰上傳到服務器上,例如放在/etc/ssh/ca.pub

在/etc/ssh/sshd_config中添加一行,指示服務器允許訪問由該證書簽名的用戶

  1. TrustedUserCAKeys /etc/ssh/ca.pub # Trust all with a certificate signed by ca.pub 

為了使更改生效,你應該重新加載 ssh 服務:sudo service ssh reload。現在,如果一位開發人員生成了他的公鑰 - 私鑰對(例如ssh-keygen -t ecdsa -b 521),他們只需向你發送他們的公鑰(請注意,你永遠不需要發送任何私鑰!)。然后,你只需簽署他們的公鑰就能生成他們的證書:

  1. # Inside your ~/my-ca folder, sign their public key (here: id_ecdsa.pub) 
  2.  
  3. ssh-keygen -s ca -I USER_ID -V +12w -z 1 id_ecdsa.pub 

各個部分的簡要說明:

  • -s ca:你要使用 CA 進行簽名
  • -I USER_ID:你的用戶 ID/ 用戶名
  • -V +12w:證書過期前的有效時間,這里有效期為 12 周
  • -z 1:此證書的序列號,以后可用它來讓這個證書無效,序列號應唯一
  • id_ecdsa.pub:你要簽名的開發人員的公鑰

它將生成證書id_ecdsa-cert.pub,你可以將其發送給開發人員,然后將其放在〜/.ssh文件夾中的公鑰 / 私鑰對旁邊。

改進一下

聽起來不錯,但是你還可以做得更好!

你的組織里可能有很多擁有不同經驗水平、身處不同團隊、承擔不同職責的開發人員,并不是每個人都會訪問相同的服務器。

這樣的話,讓我們在簽名流程中添加角色吧。

這樣,你可以在服務器上設置允許哪些角色訪問服務器,并且在簽名過程中可以指定要簽名的開發人員的角色。

然后,這位開發人員就能訪問與其角色匹配的所有服務器。

當你添加新的開發人員時,只需生成一個證書即可讓他們獲得授權,訪問所有相關服務器,而無需在這些服務器上添加任何內容。

大致上是這樣的:

帶有角色的 ssh 證書簽名

下面是在服務器上配置角色的方式:

首先,創建用于配置訪問權限的文件夾:sudo mkdir /etc/ssh/auth_principals。在該文件夾中,你可以用允許登錄服務器的用戶名創建文件。例如,要對某些角色授予 root 訪問權限,請添加文件/etc/ssh/auth_principals/root。

在/etc/ssh/auth_principals/root內部,你只需列出所有可以用 root 身份登錄的角色,每行一個角色:

  1. admin 
  2.  
  3. senior-developer 

最后,再在/etc/ssh/sshd_config中添加一行,在服務器上配置為使用角色:

  1. AuthorizedPrincipalsFile /etc/ssh/auth_principals/%u 

為了使更改生效,你應該重新加載 ssh 服務:sudo service ssh reload。

下面是使用角色簽署密鑰的方式(它們已添加到證書中):

  1. ssh-keygen -s ca -I USER_ID -n ROLE1,ROLE2 -V +12w -z 2 id_ecdsa.pub 

這里和之前是一樣的,但帶有-n ROLE1,ROLE2標志。重要提示:不同角色的逗號之間不能有空格!現在,這位開發人員可以登錄 auth_principals 文件中有ROLE1或ROLE2的任何服務器,以獲取他們嘗試登錄時使用的用戶名。

注銷密鑰

最后,如果要使證書無效,可以通過用戶名或證書的序列號(-z標志)來實現。建議你在 Excel 電子表格中列出生成的證書列表,或者根據你的具體情況來建立數據庫。

  1. ssh-keygen -k -f revoked-keys -u -s ca list-to-revoke 

當你已經有一個revoked-keys列表并想要更新它時(-u標志)就這樣做。對于初始生成,請拿掉更新標志。list-to-revoke需要包含用戶名(id)或序列號(生成期間為-z標志),如下所示:

  1. serial: 1 
  2.  
  3. id: test.user 

這將撤消對序列號為 1 的證書以及 ID 為test.user的所有證書的訪問權限。

為了讓服務器知曉已注銷的密鑰,你需要將生成的 / 更新的revoked keys文件添加到/etc/ssh/revoked-keys,并在/etc/ssh/sshd_config中再次配置:

警告:確保revoked-keys文件可訪問且可讀,否則你可能無法訪問服務器

RevokedKeys /etc/ssh/revoked-keys

3. 小結:ssh 密鑰管理的好方法

我認為這種解決方案是最好用的。你可以選擇通過 ssh 基于角色管理對服務器的訪問權限。你只需配置一次服務器(允許哪些角色訪問服務器)即可。對于新加入的開發人員,你只需要生成一個簽名證書,他們就能立即訪問與他們的角色 / 經驗相匹配的所有相關機器。當他們離開公司時,你也可以通過一種簡單的方式撤銷他們的訪問權限。

即使發生不幸事故,并且開發人員在未取消訪問權限的情況下離開,他們的證書也會在一段時間后過期,因此他們也將自動失去訪問權限。

對小型團隊來說,你可以手動執行這些步驟,因為這些工作做起來非常快;然后隨著你的成長,可以使用基于公司身份驗證詳細信息的登錄服務來自動進行證書簽名。

 

 

責任編輯:張燕妮 來源: 架構頭條
相關推薦

2018-03-21 14:33:45

數據庫刪庫備份恢復

2022-06-23 07:05:46

跳板機服務器PAM

2018-04-18 07:34:58

2016-10-26 09:12:58

2023-09-17 23:16:46

緩存數據庫

2022-06-02 16:56:46

刪庫刪庫跑路

2024-05-09 08:20:29

AC架構數據庫冗余存儲

2020-10-21 08:59:50

刪庫程序員虛擬機

2020-08-05 11:50:47

刪庫MySQL數據庫

2020-03-03 17:28:39

CIO刪庫微盟

2019-08-20 14:20:19

MySQL數據恢復數據庫

2024-03-29 08:08:25

2024-08-30 17:25:23

開發AI

2024-06-07 08:26:10

2016-10-13 10:57:55

phptcp專欄

2019-11-22 09:21:17

技術研發數據

2024-04-26 08:58:54

if-else代碼JavaSpring

2017-08-24 15:02:01

前端增量式更新

2024-04-30 08:12:05

CRUD方法JavaAC架構

2018-09-25 09:11:59

點贊
收藏

51CTO技術棧公眾號

夜夜嗨网站十八久久| 亚洲欧美一区二区视频| 久久影视电视剧免费网站| 成视频免费在线看| 中文日韩在线| 国产精品久久久久久久久久久新郎| 亚洲天堂av在线| 91精品办公室少妇高潮对白| 亚洲国产日韩欧美在线观看| 国产制服丝袜一区| 女人一区二区三区| 99久久婷婷国产综合精品电影√| 国产亚洲欧洲高清| 91se在线| 午夜精品福利一区二区三区av | www.欧美色图| 欧美日韩一区在线播放| 精品国产精品久久一区免费式| 色av中文字幕一区| sm在线播放| 欧美三级中文字幕在线观看| 中文字幕一区二区三区域| 久久女同性恋中文字幕| 91传媒免费视频| 内射国产内射夫妻免费频道| 国产99re66在线视频| 欧美视频一区二区三区在线观看| 99热在线网站| 最新不卡av在线| 久久撸在线视频| 久久亚洲一区二区三区明星换脸 | 日韩高清一级| 97久久精品国产| 天堂va欧美ⅴa亚洲va一国产| 在线精品播放av| 日韩经典一区| 亚洲区在线播放| 精品免费av在线| 在线国产精品视频| 丁香久久综合| 中文字幕亚洲一区二区三区五十路| 涩涩涩视频在线观看| 欧美精品一区二区三区蜜桃| 男女在线观看视频| 亚洲精品久久久一区二区三区 | 后进极品白嫩翘臀在线播放| 日韩女优毛片在线| 日本色护士高潮视频在线观看| 欧美一区二区三区视频在线观看| 激情视频在线观看| 亚洲四虎影院| 欧美日韩一二区| 久操视频在线免费播放| 91精品欧美综合在线观看最新| 日本理论片午伦夜理片在线观看| 亚洲精品久久久久久下一站| 国产夫妻在线| 亚洲tv在线观看| 99亚洲伊人久久精品影院| 日本一区二区三区高清不卡| 久久亚洲影音av资源网| 人成免费电影一二三区在线观看| 第一社区sis001原创亚洲| 91麻豆精品国产自产在线| 亚洲欧美不卡| 国产精品10p综合二区| 亚洲一区一卡| 精品国产一区二区三区在线| 99re6这里只有精品视频在线观看| 宅男噜噜噜66国产免费观看| 亚洲影视资源网| 国产在线高潮| 在线日韩精品视频| 精品成人自拍视频| 亚洲3区在线| 欧美日韩一区二区电影| 国产精品剧情| 超碰成人免费在线| 亚洲国产成人在线| 日韩写真在线| 欧美精品一区二区三区在线播放| 色猫猫成人app| 91精品国产一区| 中文字幕日韩一区二区不卡| 伊人av成人| 国产精品的网站| av在线影院| 国语自产精品视频在线看| 亚洲视频精品| 天堂…中文在线最新版在线| 亚洲无线码一区二区三区| 最爽无遮挡行房视频在线| 久久伊人免费视频| 亚洲国产婷婷| 黄色在线视频网| 欧美肥胖老妇做爰| 99re8这里有精品热视频免费| 91精品国产91久久久久青草| 国产69精品久久777的优势| 色播视频在线观看| 国产亚洲精品日韩| 真实国产乱子伦精品一区二区三区| 91嫩草国产丨精品入口麻豆| 亚洲动漫第一页| www.一区| 精品人伦一区二区三区| 欧美国产1区2区| 蜜臀久久精品| 91精品视频在线播放| 不卡一区二区中文字幕| 91社区在线| 欧洲精品在线视频| 国产精华一区| 国产精品沙发午睡系列990531| 麻豆影视在线观看_| 68精品久久久久久欧美| 国产真实精品久久二三区| 亚洲欧美一区二区三区在线播放| 中文字幕在线看视频国产欧美| 激情欧美一区| 国产乱xxⅹxx国语对白| 亚洲老头老太hd| 激情偷拍久久| 91骚色在线| 国产香蕉一区二区三区在线视频| 国内精品久久久久国产盗摄免费观看完整版| 丁香啪啪综合成人亚洲 | 成人影欧美片| 日韩高清中文字幕| 成人在线一区| 欧美日韩一区在线播放| 久久免费国产精品| 成人软件在线观看| 欧美日韩精品免费观看视一区二区| 在线免费日韩片| 亚洲综合社区网| 亚洲三级免费电影| 亚洲天堂av资源在线观看| 国产精品videossex国产高清 | 欧美三级在线| 手机看片福利日韩| 中文字幕在线精品| 老司机精品视频导航| 日韩子在线观看| 亚洲最大成人免费视频| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲一区二区电影| 尤物av无码色av无码| 亚洲欧美制服另类日韩| 国产在线日韩欧美| 丁香花视频在线观看| 日本亚洲导航| 精品国精品国产| 精品中文av资源站在线观看| 亚洲淫性视频| 日本一区二区三不卡| 精品少妇一区二区三区免费观看| 激情综合自拍| 日本在线免费播放| 久久精品日韩精品| 精品蜜桃在线看| 欧美日韩123| 国产一二三区在线观看| 日本va中文字幕| 99re精彩视频| 成年人羞羞的网站| 中文字幕在线直播| 亚洲成人在线| 国产a精品视频| 国产精品二三区| 91一区二区在线| av动漫一区二区| 国产日韩欧美在线播放不卡| 国产精品麻豆99久久久久久| 久久青草欧美一区二区三区| 欧美性猛交xxxxx水多| 欧美一级在线免费| 日韩毛片在线看| 精品国产免费一区二区三区香蕉| 欧美日韩情趣电影| 亚洲国内精品在线| 国产日韩欧美自拍| 国产成人a亚洲精v品无码| 亚州黄色一级| 亚洲欧洲日本韩国| 欧美黄色aaaa| 亚洲三级电影网站| 一个人www欧美| 精品电影一区二区三区 | 97在线观看视频国产| 国产精品丝袜高跟| 日韩成人动漫在线观看| 欧美日韩福利电影| 新片速递亚洲合集欧美合集| 明星裸体视频一区二区| 亚洲国产精品成人一区二区| jizz一区二区| 日韩丝袜视频| 黄网站在线播放| 欧美乱做爰xxxⅹ久久久|