偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

基于CA簽名的統(tǒng)一SSH登陸密鑰管理

安全 數(shù)據(jù)安全
本文我們介紹了一個通過CA簽名用戶公鑰的證書統(tǒng)一管理方法。通過該方法可以實現(xiàn)基于角色通過ssh管理對服務(wù)器的訪問。

為了安全便捷的管理和維護(hù)服務(wù)器,禁止SSH密碼登陸,并用證書認(rèn)證是比較好的選擇。其方法是用戶生成密鑰對,其私鑰嚴(yán)格保管不泄露,將公鑰添加到服務(wù)器上用戶對應(yīng)的authorized_keys文件,然后就可以用證書方式進(jìn)行登陸,在證書生成的時候,也可以對證書添加密碼,防止私鑰被盜用。

基于CA簽名的統(tǒng)一SSH登陸密鑰管理

這種方式很方便,但是存在一個問題,就是當(dāng)服務(wù)器比較多的時候,對服務(wù)器上公鑰的管理就會比較麻煩,容易當(dāng)人員發(fā)生變化時候,容易清理遺漏,從而導(dǎo)致安全隱患。本文我們介紹一種通過中心CA統(tǒng)一簽發(fā)證書管理SSH證書的方法。

概述

為了解決統(tǒng)一管理的問題,引入CA來統(tǒng)一管理SSH的認(rèn)證。用戶仍然需要生成一個公鑰和私鑰對證書。但是,認(rèn)證不是通過將用戶公鑰添加服務(wù)器來完成,使用證書頒發(fā)機構(gòu)(CA)密鑰對用戶公鑰進(jìn)行簽名。簽名過程僅生成了第三個證書文件,用戶通過該簽發(fā)證書和自己原有的證書對就能完成登陸。

服務(wù)器上,只需配置SSH對CA的公鑰認(rèn)證,服務(wù)器通過檢測用戶證書是否通過CA簽發(fā),來完成認(rèn)證過程。

基于CA簽名的統(tǒng)一SSH登陸密鑰管理

具體做法

1. 創(chuàng)建CA

用戶生成一個證書頒發(fā)機構(gòu)CA私鑰對,并保證私鑰的私鑰安全:

umask 77 # 修改掩碼,保證此后生成目錄和文件的權(quán)限

  1. mkdir ~/CC-ca && cd ~/CC-ca 

ssh-keygen -C CA -f ca -b 4096 # 生成時候,給證書添加一個密碼,以防止泄露。

2. 配置CA公鑰認(rèn)證

然后在服務(wù)器上,指定允許由CA簽名的所有用戶訪問該服務(wù)器:

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

在/etc/ssh/sshd_config添加下面的行,配置CA簽發(fā)的證書的信任:

  1. TrustedUserCAKeys /etc/ssh/ca.pub 

重啟sshd服務(wù):

  1. service sshd reload 

3. CA簽發(fā)用戶證書

用戶使用ssh-keygen生成證書,并且把公鑰發(fā)給CA中心,CA中心用私鑰對該證書添加簽名:

  1. ssh-keygen -s ca -I USER_ID -V +12w -z 1 id_ecdsa.pub 

命令行說明:

  • -s ca 想使用CA進(jìn)行簽名
  • -I USER_ID -用戶ID/用戶名
  • -V +12w -證書過期前的時間,該例子中證書有效期為12周
  • -z 1 設(shè)置證書的序列號,可以用證書的序列號來注銷證書。
  • id_ecdsa.pub:需要簽名的用戶公鑰

生成證書id_ecdsa-cert.pub,該證書需要發(fā)送給開發(fā)人員,用戶將其放入~/.ssh文件夾。

4. 添加角色

上面就可以完成了證書的CA簽名和統(tǒng)一認(rèn)證。但是還有一個問題,可能用戶也需要分類,不同的團隊和角色的,需要有不同的訪問權(quán)限。實際上,可以在簽名過程中添加角色,用來指定允許服務(wù)器的訪問權(quán)限。新添加用戶時候,即可使他們可以訪問所有相關(guān)服務(wù)器,而無需在這些服務(wù)器上添加任何內(nèi)容。

基于CA簽名的統(tǒng)一SSH登陸密鑰管理

5. 服務(wù)器上配置角色信息

創(chuàng)建用于配置訪問權(quán)限的文件夾:

  1. mkdir /etc/ssh/auth_principals 

在該文件夾中,可以使用服務(wù)器用戶名創(chuàng)建文件,該用戶可以登錄。例如,要授予對某些角色的root用戶訪問權(quán)限,請?zhí)砑游募?etc/ssh/auth_principals/root。

在/etc/ssh/auth_principals/root文件中,配置可以以root用戶身份登錄的角色,每行一個角色,比如

 

  • admin_dev
  • root_op
  • ROLE1

在服務(wù)器上SSHD配置文件/etc/ssh/sshd_config,添加對角色的認(rèn)證:

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

然后重新加載sshd服務(wù)

  1. service sshd reload 

6. CA簽發(fā)帶角色的用戶證書

可以使用一下命令行,簽發(fā)帶角色的證書:

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

與以前命令行一樣,多增加了-n ROLE1,ROLE2標(biāo)志。

現(xiàn)在,該用戶可以登錄到auth_principals文件配置了ROLE1或ROLE2角色的服務(wù)器。

7. 注銷證書

前面說了,可以對用戶證書進(jìn)行注銷。注銷用戶需要用的用戶的序列號。建議同意維護(hù)一個用戶序列號的列表,或建立數(shù)據(jù)庫。

8. 注銷證書文件

通過下面的命令生成一個注銷證書文件

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

當(dāng)已經(jīng)有一個revoked-keys列表并想要更新證書時候(-u標(biāo)志)。

在list-to-revoke文件內(nèi)容由用戶名(IDS)或序列號(的-z生成期間標(biāo)志)是這樣的:

  • serial: 1
  • id: test.user

這將撤消對序列號為1的證書和所有ID為test.user的證書的訪問權(quán)限。

8. 服務(wù)器配置注銷

為了使服務(wù)器完成對撤銷密鑰配置,需要將生成的/更新的revoked keys文件添加到/etc/ssh/revoked-keys并在/etc/ssh/sshd_config配置:

  1. RevokedKeys /etc/ssh/revoked-keys 

注意:請確保該revoked-keys文件為可訪問且可讀,否則會導(dǎo)致任何用戶都不能訪問。

總結(jié)

本文我們介紹了一個通過CA簽名用戶公鑰的證書統(tǒng)一管理方法。通過該方法可以實現(xiàn)基于角色通過ssh管理對服務(wù)器的訪問。只需要配置服務(wù)器一次(允許哪些角色訪問服務(wù)器)。對于每個用戶,只需要生成一個簽名證書,就可以實現(xiàn)按角色登陸所有相關(guān)機器的方法。也可以方便注銷用戶的證書,從而限制用戶的訪問。由于每個證書簽名都要有效性限制,即使未能及時注銷用戶權(quán)限,也可以在超過有效期后自動注銷,從而保證了安全。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2009-07-06 18:18:28

遠(yuǎn)程攻略SecureCRTSSH 

2012-10-23 09:54:17

2020-05-07 09:52:03

密鑰KMS信息安全

2013-04-09 15:06:23

2009-08-14 09:40:55

MyEclipse整合

2012-05-08 11:14:27

LinuxOpenSSHSSH

2018-10-08 09:35:59

2015-05-28 15:32:14

Linuxssh

2011-09-09 13:28:01

Ubuntussh

2014-05-12 10:15:55

CA Technolo數(shù)據(jù)保護(hù)

2018-03-16 10:57:06

Linux安全密鑰

2018-02-09 09:00:00

2020-03-03 13:37:23

SSH密鑰管理工具開源工具

2018-09-20 09:12:16

2014-09-16 10:19:10

CA TechnoloSaaS移動管理

2011-09-08 10:10:02

CA數(shù)據(jù)保護(hù)

2010-12-21 18:07:39

2013-07-01 15:46:17

Windows AzuSUSE

2021-03-26 09:48:24

SSHLinux命令

2023-09-22 10:09:21

點贊
收藏

51CTO技術(shù)棧公眾號