自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

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

概述

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

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

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

具體做法

1. 創(chuàng)建CA

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

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

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

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

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

然后在服務(wù)器上,指定允許由CA簽名的所有用戶訪問(wèn)該服務(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中心用私鑰對(duì)該證書添加簽名:

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

命令行說(shuō)明:

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

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

4. 添加角色

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

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

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

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

  1. mkdir /etc/ssh/auth_principals 

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

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

 

  • admin_dev
  • root_op
  • ROLE1

在服務(wù)器上SSHD配置文件/etc/ssh/sshd_config,添加對(duì)角色的認(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. 注銷證書

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

8. 注銷證書文件

通過(guò)下面的命令生成一個(gè)注銷證書文件

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

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

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

  • serial: 1
  • id: test.user

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

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

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

  1. RevokedKeys /etc/ssh/revoked-keys 

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

總結(jié)

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

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(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

2015-05-28 15:32:14

Linuxssh

2011-09-09 13:28:01

Ubuntussh

2018-10-08 09:35:59

2018-03-16 10:57:06

Linux安全密鑰

2020-03-03 13:37:23

SSH密鑰管理工具開源工具

2018-02-09 09:00:00

2014-05-12 10:15:55

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

2018-09-20 09:12:16

2014-09-16 10:19:10

CA TechnoloSaaS移動(dòng)管理

2011-09-08 10:10:02

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

2013-07-01 15:46:17

Windows AzuSUSE

2021-03-26 09:48:24

SSHLinux命令

2023-09-22 10:09:21

2010-12-21 18:07:39

點(diǎn)贊
收藏

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