22-FIPS配置
本章節下載: 22-FIPS配置 (346.07 KB)
FIPS(Federal Information Processing Standards,聯邦信息處理標準)140-2是NIST(National Institute of Standards and Technology,美國國家標準與技術研究院)頒布的針對密碼算法安全的一個標準,它規定了一個安全係統中的密碼模塊應該滿足的安全性要求。
FIPS 140-2定義了四個安全級別:Level 1、Level 2、Level 3和Level 4,它們安全等級依次遞增,可廣泛適用於密碼模塊的各種應用環境。目前,設備支持Level 2級別的FIPS 140-2。
若無特殊說明,本文中的FIPS即表示Level 2級別的FIPS 140-2。
在FIPS模式下,設備具有更為嚴格的安全性要求,並會對密碼模塊進行相應的自檢處理,以確認其處於正常運行狀態。
進入FIPS模式的設備同時也符合CC(Common Criteria,公共準則)中的NDPP(Network Device Protection Profile,網絡設備保護特性)定義的功能要求。
設備進入FIPS模式之後,為確保密碼算法模塊的功能正常運行,係統會進行自檢處理,具體包括啟動自檢、條件自檢。啟動自檢失敗後,自檢進程所在的設備自動重啟。條件自檢失敗後,自檢進程所在的設備不重啟,但係統會輸出密碼算法自檢失敗的提示信息。
如果自檢失敗,請聯係售後技術服務工程師解決。
啟動自檢是在設備啟動過程中對FIPS允許使用的密碼算法進行的自檢。
啟動自檢包括:
· KAT(Known-answer Test,已知結果測試):即使用密碼算法對已知的密鑰和明文進行運算,如果運算結果與已知結果相同,則表示該算法的啟動自檢通過,否則表示自檢失敗。
· PWCT(Pairwise Conditional Test,密鑰對有效性測試)
¡ 簽名和驗證:生成DSA/RSA/ECDSA非對稱密鑰對時進行的自檢,具體為,首先使用私鑰對指定數據進行簽名,然後使用公鑰對該簽名數據進行驗證,如果解密成功,則表示自檢通過,否則自檢失敗。
¡ 加密和解密:生成RSA非對稱密鑰對時進行的自檢,具體為,首先使用公鑰加密任意一段明文,然後使用對應的私鑰對生成的密文進行解密,如果解密成功,則表示自檢通過,否則自檢失敗。
啟動自檢具體內容如表1-1所示。
啟動自檢類型 |
自檢操作 |
軟件加密算法自檢 |
對以下軟件加密算法進行自檢: · SHA1、SHA224、SHA256、SHA384、SHA512(KAT) · HMAC-SHA1、HMAC-SHA224、HMAC-SHA256、HMAC-SHA384、HMAC-SHA512(KAT) · AES(KAT) · RSA簽名和驗證(KAT) · RSA簽名和驗證(PWCT) · RSA加密和解密(PWCT) · DSA簽名和驗證(PWCT) · ECDSA簽名和驗證(PWCT) · DRBG(KAT) · ECDH(KAT) · GCM(KAT) · GMAC(KAT) |
條件自檢是在非對稱密碼模塊和隨機數生成模塊被使用時進行的自檢,具體包括以下兩種測試:
· 簽名和驗證的PWCT:生成DSA/RSA非對稱密鑰對時進行的自檢,具體為,首先使用私鑰對指定數據進行簽名,然後使用公鑰對該簽名數據進行驗證,如果驗證成功,則表示自檢通過,否則自檢失敗。
· 隨機數連續性測試:生成隨機數的過程中進行的自檢,如果前後兩次生成的隨機數不同,則表示自檢通過,否則自檢失敗。該自檢過程也會在生成DSA/RSA非對稱密鑰對時進行。
· 設備重啟進入FIPS模式之前,係統會自動刪除所有非FIPS模式下配置的密鑰對和不符合FIPS標準(密鑰位數小於2048位,簽名HSAH算法為MD5)的數字證書。因此,由非FIPS模式切換到FIPS模式後,用戶將無法直接通過SSH方式登錄設備。若需要進行SSH登錄,必須先在FIPS模式下,通過Console口登錄設備,並創建SSH服務器所需的密鑰對,才能支持SSH用戶登錄。
· 登錄FIPS模式下的設備時使用的用戶密碼必須符合Password Control密碼管理策略,例如必須符合一定的密碼長度策略、密碼複雜度策略以及密碼老化策略等。其中,密碼的老化時間策略需要關注。當密碼的使用時間超過老化時間後,係統會要求用戶及時更換密碼。一般設備的出廠係統時間比較早,等到進入FIPS模式之後再去調整正確的係統時間很可能會導致登錄密碼在下一次登錄係統時過期。
· FIPS模式下的配置支持配置回滾,FIPS模式與非FIPS模式之間的配置也支持配置回滾。需要注意的是,對FIPS模式與非FIPS模式之間的配置執行回滾操作後,建議刪除登錄設備的本地用戶並重新設置登錄設備的本地用戶(包括密碼、用戶角色和服務類型等屬性),然後保存當前配置並設置為下次啟動配置文件,最後重啟設備。重啟之後,回滾後的配置才能生效。此過程期間,請勿退出係統或進行其它操作,否則可能會登錄失敗。
· 為保證自動重啟方式進入的FIPS模式與非FIPS模式之間的配置成功進行回滾,設備進入FIPS模式後請首先保存配置,然後進行其它操作;為保證自動重啟方式進入的非FIPS模式與FIPS模式之間的配置成功進行回滾,設備進入非FIPS模式後請首先保存配置,然後進行其它操作。
· 建議不要將FIPS模式狀態不相同的設備進行IRF搭建。
· 如果在IRF環境下切換FIPS模式,需要重新啟動整個IRF之後才能生效。
· 僅支持scheme類型的用戶登錄認證方式。
· FTP/TFTP服務器和客戶端功能被禁用。
· Telnet服務器和客戶端功能被禁用。
· HTTP服務器功能被禁用。
· SNMPv1和SNMPv2c版本的SNMP功能被禁用,隻允許使用SNMPv3版本。
· SSL服務器功能隻支持TLS1.0、TLS1.1、TLS1.2協議。
· SSH服務器功能不兼容SSHv1客戶端,不支持DSA類型的密鑰對。
· 僅支持生成2048位的RSA密鑰對和2048位的DSA密鑰對。因此設備作為服務器時,若要求對客戶端進行公鑰認證,則客戶端的密鑰對也需要為2048位,否則服務器將會拒絕客戶端的連接。
· 僅支持256位以上的ECDSA密鑰對。因此設備作為服務器時,若要求對客戶端進行公鑰認證,則客戶端的密鑰對也需要為256位以上,否則服務器將會拒絕客戶端的連接。
· SSH、SNMPv3、IPsec和SSL不支持DES、3DES、RC4、MD5算法。
· 不能關閉全局Password Control功能,即undo password-control enable命令執行後不生效。
· 部分特性中的密碼設置將具有更嚴格的安全性要求:
¡ AAA服務器的共享密鑰、IKE協商的預共享密鑰、SNMPv3用戶的認證密鑰都必須滿足固定的要求:密碼最小長度為15,密碼元素的最少組合類型為4(必須包括數字、大寫字母、小寫字母以及特殊字符)。
¡ 設備管理類本地用戶的密碼和用戶角色切換密碼受Password Control密碼策略的管理,缺省要求為:密碼最小長度為15,密碼元素的最少組合類型為4(必須包括數字、大寫字母、小寫字母以及特殊字符)。
係統提供了兩種啟動選擇來進入FIPS模式:自動重啟方式和手動重啟方式。
· 自動重啟方式下,係統以交互式方式要求用戶完成配置下次登錄設備所需的用戶名和密碼,之後自動創建一個FIPS缺省配置文件(名稱為fips-startup.cfg),將其指定為下次啟動配置文件,然後自動使用FIPS缺省配置文件重啟。
· 手動重啟方式下,係統不自動創建進入FIPS模式的下次啟動配置文件,需要用戶手工完成進入FIPS模式所需的所有必要配置之後,手工重啟設備。
· 當係統提示是否使用自動重啟方式進入FIPS模式時,若使用組合鍵<Ctrl+C>退出或用戶未在30秒內做出選擇,則相當於輸入“n”,設備將通過手動重啟方式進入FIPS模式。
· 當係統提示是否使用自動重啟方式進入FIPS模式時,若輸入“y”選擇自動重啟後想退出配置流程,可以使用組合鍵<Ctrl+C>中斷配置流程。配置流程中斷後,已輸入的開啟FIPS模式的命令將不被執行。
為避免進入FIPS模式之後,登錄密碼因為Password Control密碼老化策略的限製而過期,建議在執行fips mode enable命令之前確認係統時間正確。
(1) 進入係統視圖。
system-view
(2) 開啟FIPS模式。
fips mode enable
缺省情況下,FIPS模式處於關閉狀態。
(3) 係統提示是否使用自動重啟方式進入FIPS模式,在30秒內輸入“y”,設備將開始自動配置流程。
重新啟動可能會導致業務中斷,請謹慎執行以上操作。
(4) 根據命令提示輸入登錄FIPS模式的設備時所使用的用戶名和密碼。
用戶通過交互式方式輸入用戶名和密碼後,設備會自動創建設備管理類本地用戶,該用戶將會成為FIPS模式中安全管理員(Crypto Officer),其密碼必須是大寫字母、小寫字母、數字以及特殊字符的組合,且最小長度為15位;服務類型為terminal,角色為network-admin。
(5) 設備自動重啟並進入FIPS模式。
進入FIPS模式後,用戶隻能通過步驟(4)設置的用戶名和密碼登錄運行於FIPS模式的設備。
(1) 為避免進入FIPS模式之後,登錄密碼因為Password Control密碼老化策略的限製而過期,建議在配置進入FIPS模式使用的本地用戶名和密碼之前確認係統時間正確。
(2) 配置密碼管理功能
a. 開啟全局Password Control功能。
b. 設置全局Password Control密碼組合類型的個數為4,每種類型至少1個字符;設置全局Password Control的密碼最小長度為15。
關於密碼管理功能的詳細介紹,請參考“安全配置指導”中的“Password Control”。
(3) 配置本地用戶
a. 創建設備管理類本地用戶。
b. 配置符合密碼管理規則的本地用戶密碼。
c. 配置用戶角色為network-admin。
d. 配置服務類型為terminal。
(1) 進入係統視圖。
system-view
(2) 開啟FIPS模式。
fips mode enable
缺省情況下,FIPS模式處於關閉狀態。
執行fips mode enable命令之後到係統重啟之前的這個時間段,不建議執行除reboot、save以及相應的配置準備之外的其它命令,否則可能會不能達到預期的執行效果。
(3) 根據命令提示選擇手動重啟。
· 重新啟動可能會導致業務中斷,請謹慎執行以上操作。
· 選擇手動重啟方式後,用戶必須手工完成進入FIPS模式所需的所有必要配置,否則不能正常登錄係統。
(4) 保存當前配置文件並設置為下次啟動配置文件。
(5) 刪除二進製類型的下次啟動配置文件(文件名後綴為“.mdb”)。如果不刪除二進製類型的下次啟動配置文件,則設備使用二進製配置文件啟動時,FIPS模式下不支持的命令(如果存在於配置文件中)也會被恢複,從而影響FIPS模式下係統的正常運行。
(6) 手工重啟設備,進入FIPS模式。
進入FIPS模式後,用戶隻能通過預先設置的本地用戶名和密碼登錄處於FIPS模式的設備。
關閉FIPS模式並重啟設備之後,設備會返回到非FIPS的工作模式下。
係統提供了兩種方式來退出FIPS模式:
· 自動重啟方式:係統自動創建一個非FIPS缺省配置文件(名稱為non-fips-startup.cfg),同時將其指定為下次啟動配置文件,之後自動使用非FIPS缺省配置文件重啟。重啟之後,當前登錄用戶不需要輸入任何信息即可直接登錄到非FIPS模式的係統。
· 手動重啟方式:係統不自動創建進入非FIPS模式的下次啟動配置文件,需要用戶手工完成進入非FIPS模式所需的所有必要配置之後,手工重啟設備。重啟之後,當前登錄用戶需要根據配置的登錄認證方式輸入相應的用戶信息登錄到非FIPS模式的係統。
從FIPS模式切換到非FIPS模式時,登錄設備的缺省認證方式如下,用戶也可根據實際情況修改登錄認證方式:
· 通過VTY用戶線登錄設備時的缺省認證方式為password。
· 通過Console口登錄設備時的缺省認證方式為none。
(1) 進入係統視圖。
system-view
(2) 關閉FIPS模式。
undo fips mode enable
缺省情況下,FIPS模式處於關閉狀態。
(3) 根據命令提示選擇自動重啟退出FIPS。
重新啟動可能會導致業務中斷,請謹慎執行以上操作。
(1) 進入係統視圖。
system-view
(2) 關閉FIPS模式。
undo fips mode enable
缺省情況下,FIPS模式處於關閉狀態。
(3) 設置登錄認證方式和登錄用戶名、密碼。
¡ 對於當前遠程登錄的用戶,若要登錄非FIPS模式,則必須在不退出當前用戶線的情況下,重新設置登錄設備的認證方式為scheme,並設置對應的登錄用戶和密碼(也可使用當前的登錄用戶和密碼)。
¡ 對於當前通過Console口登錄的用戶,若要登錄非FIPS模式的係統,根據用戶當前的不同登錄方式,需要進行不同的設置,如表1-2所示。
用戶當前登錄方式 |
設置要求 |
password |
設置認證方式為password,並設置對應的登錄密碼 |
scheme |
設置認證方式為scheme,並設置對應的登錄用戶和密碼(也可使用當前的登錄用戶和密碼) |
none |
需要認證方式為none |
(4) 根據命令提示選擇手動重啟。
重新啟動可能會導致業務中斷,請謹慎執行以上操作。
(5) 保存當前配置文件並設置為下次啟動配置文件。
(6) 刪除二進製類型的下次啟動配置文件(文件名後綴為“.mdb”)。
(7) 重啟設備。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後FIPS模式的狀態,通過查看顯示信息驗證配置的效果。
表1-3 FIPS的顯示和維護
操作 |
命令 |
顯示算法庫的版本號 |
display crypto version |
顯示FIPS模式的狀態 |
display fips status |
自動重啟設備進入FIPS模式,並采用Console口登錄FIPS模式的設備。
# 若要保存當前配置,請在開啟FIPS模式之前,執行save命令。
# 開啟FIPS模式,並選擇自動重啟方式進入FIPS模式。設置用戶名為root,對應的密碼為12345zxcvb!@#$%ZXCVB。
<Sysname> system-view
[Sysname] fips mode enable
FIPS mode change requires a device reboot. Continue? [Y/N]:y
Reboot the device automatically? [Y/N]:y
The system will create a new startup configuration file for FIPS mode. After you set the login username and password for FIPS mode, the device will reboot automatically.
Enter username(1-55 characters):root
Enter password(15-63 characters):
Confirm password:
Waiting for reboot... After reboot, the device will enter FIPS mode.
重啟設備後,輸入用戶名root和對應的密碼。首次登錄時,係統會提示重置密碼。重置密碼成功後,進入FIPS模式的係統。重置的密碼必須是大寫字母、小寫字母、數字以及特殊字符的組合,最小長度為15位,且需要與舊密碼不同(具體要求請見係統提示)。
Press ENTER to get started.
login: root
Password:
First login or password reset. For security reason, you need to change your password. Please enter your password.
old password:
new password:
confirm:
Updating user information. Please wait ... ...
…(略)
<Sysname>
# 顯示當前FIPS模式狀態。
<Sysname> display fips status
FIPS mode is enabled.
# 查看缺省的配置文件內容。
<Sysname> more fips-startup.cfg
#
password-control enable
#
local-user root class manage
service-type terminal
authorization-attribute user-role network-admin
#
fips mode enable
#
return
<Sysname>
手動重啟設備進入FIPS模式,並采用Console口登錄FIPS模式的設備。
# 開啟全局Password Control功能。
<Sysname> system-view
[Sysname] password-control enable
# 設置全局Password Control密碼組合類型的個數為4,每種類型至少一個字符。
[Sysname] password-control composition type-number 4 type-length 1
# 設置全局Password Control的密碼最小長度為15。
[Sysname] password-control length 15
# 添加設備管理類本地用戶:用戶名為test、密碼為12345zxcvb!@#$%ZXCVB、用戶角色為network-admin,服務類型為Terminal。
[Sysname] local-user test class manage
[Sysname-luser-manage-test] password simple 12345zxcvb!@#$%ZXCVB
[Sysname-luser-manage-test] authorization-attribute user-role network-admin
[Sysname-luser-manage-test] service-type terminal
[Sysname-luser-manage-test] quit
# 開啟FIPS模式,並選擇手動重啟方式進入FIPS模式。
[Sysname] fips mode enable
FIPS mode change requires a device reboot. Continue? [Y/N]:y
Reboot the device automatically? [Y/N]:n
Change the configuration to meet FIPS mode requirements, save the configuration to the next-startup configuration file, and then reboot to enter FIPS mode.
# 將當前配置保存到存儲介質的根目錄,並將該文件設置為下次啟動配置文件。
[Sysname] save
The current configuration will be written to the device. Are you sure? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
flash:/startup.cfg exists, overwrite? [Y/N]:y
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
[Sysname] quit
# 刪除二進製類型的下次啟動配置文件。
<Sysname> delete flash:/startup.mdb
Delete flash:/startup.mdb?[Y/N]:y
Deleting file flash:/startup.mdb...Done.
# 重啟設備。
<Sysname> reboot
重啟設備後,輸入用戶名test和對應的密碼首次登錄時,係統會提示重置密碼。重置密碼成功後,進入FIPS模式的係統。重置的密碼必須是大寫字母、小寫字母、數字以及特殊字符的組合,最小長度為15位,且需要與舊密碼不同(具體要求請見係統提示)。
Press ENTER to get started.
login: test
Password:
First login or password reset. For security reason, you need to change your pass
word. Please enter your password.
old password:
new password:
confirm:
Updating user information. Please wait ... ...
…(略)
<Sysname>
# 顯示當前FIPS模式狀態,可見設備工作在FIPS模式下。
<Sysname> display fips status
FIPS mode is enabled.
當前用戶已使用Console口登錄到FIPS模式,要求自動重啟設備退出FIPS模式。
# 關閉FIPS模式。
[Sysname] undo fips mode enable
FIPS mode change requires a device reboot. Continue? [Y/N]:y
The system will create a new startup configuration file for non-FIPS mode and then reboot automatically. Continue? [Y/N]:y
Waiting for reboot... After reboot, the device will enter non-FIPS mode.
重啟設備後,用戶可直接進入係統。
<Sysname>
# 顯示當前FIPS模式狀態。
<Sysname> display fips status
FIPS mode is disabled.
當前用戶已使用Console登錄到FIPS模式,用戶名為test、密碼為12345zxcvb!@#$%ZXCVB,要求手動重啟設備退出FIPS模式。
# 關閉FIPS模式。
[Sysname] undo fips mode enable
FIPS mode change requires a device reboot. Continue? [Y/N]:y
The system will create a new startup configuration file for non-FIPS mode, and then reboot automatically. Continue? [Y/N]:n
Change the configuration to meet non-FIPS mode requirements, save the configuration to the next-startup configuration file, and then reboot to enter non-FIPS mode.
# 將當前配置保存到存儲介質的根目錄,並將該文件設置為下次啟動配置文件。
[Sysname] save
The current configuration will be written to the device. Are you sure? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):
flash:/startup.cfg exists, overwrite? [Y/N]:y
Validating file. Please wait...
Saved the current configuration to mainboard device successfully.
[Sysname] quit
# 刪除二進製類型的下次啟動配置文件。
<Sysname> delete flash:/startup.mdb
Delete flash:/startup.mdb?[Y/N]:y
Deleting file flash:/startup.mdb...Done.
# 重啟設備。
<Sysname> reboot
重啟設備後,進入非FIPS模式的係統(通過Console口登錄設備的用戶缺省認證方式均為none)。
# 顯示當前FIPS模式狀態,可見設備工作在非FIPS模式下。
<Sysname> display fips status
FIPS mode is disabled.
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!