20-FIPS配置
本章節下載: 20-FIPS配置 (329.43 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即表示FIPS 140-2。
· 執行fips mode enable命令之後,係統會提示用戶選擇啟動方式,若用戶未在30秒內作出選擇,則係統默認用戶采用了手動啟動方式。
· 設備重啟進入FIPS模式之前,係統會自動刪除所有非FIPS模式下配置的密鑰對和不符合FIPS標準(密鑰位數小於2048位,簽名HSAH算法為MD5)的數字證書。因此,由非FIPS模式切換到FIPS模式後,用戶將無法直接通過SSH方式登錄設備。若需要進行SSH登錄,必須先在FIPS模式下,通過Console口登錄設備,並創建SSH服務器所需的密鑰對,才能支持SSH用戶登錄。
· 登錄FIPS模式下的設備時使用的用戶密碼必須符合Password Control密碼管理策略,例如必須符合一定的密碼長度策略、密碼複雜度策略以及密碼老化策略等。其中,密碼的老化時間策略需要關注。當密碼的使用時間超過老化時間後,係統會要求用戶及時更換密碼。一般設備的出廠係統時間比較早,等到進入FIPS模式之後再去調整正確的係統時間很可能會導致登錄密碼在下一次登錄係統時過期。因此,如果選擇自動重啟方式進入FIPS模式,則建議在執行fips mode enable命令之前設置正確的係統時間;如果選擇手動重啟方式進入FIPS模式,則建議在配置本地用戶名和密碼之前設置正確的係統時間。
· 如果采用手動重啟方式進入FIPS模式,在保存當前配置並設置為下次啟動配置文件後,必須首先刪除二進製類型的下次啟動配置文件,然後再重啟設備。如果不刪除二進製類型的下次啟動配置文件,則設備使用二進製配置文件啟動時,FIPS模式下不支持的命令(如果存在於配置文件中)也會被恢複,從而影響FIPS模式下係統的正常運行。
· 執行fips mode enable命令之後到係統重啟之前的這個時間段,係統將進入一個準備進入FIPS模式之前的中間狀態,若選擇手動方式重啟,則不建議在這個時間段執行除reboot、save以及相應的配置準備之外的其它命令,否則可能會不能達到預期的執行效果。
· FIPS模式下的配置支持配置回滾,FIPS模式與非FIPS模式之間的配置也支持配置回滾。需要注意的是,對FIPS模式與非FIPS模式之間的配置執行回滾操作後,建議刪除登錄設備的本地用戶並重新設置登錄設備的本地用戶(包括密碼、用戶角色和服務類型等屬性),然後保存當前配置並設置為下次啟動配置文件,最後重啟設備。重啟之後,回滾後的配置才能生效。此過程期間,請勿退出係統或進行其它操作,否則可能會登錄失敗。
· 為保證自動重啟方式進入的FIPS模式與非FIPS模式之間的配置成功進行回滾,設備進入FIPS模式後請首先保存配置,然後進行其它操作;為保證自動重啟方式進入的非FIPS模式與FIPS模式之間的配置成功進行回滾,設備進入非FIPS模式後請首先保存配置,然後進行其它操作。
· 建議不要將FIPS模式狀態不相同的設備進行IRF堆疊。
· 如果在IRF環境下切換FIPS模式,需要重新啟動整個IRF之後才能生效。
開啟FIPS模式並重啟設備之後,設備會運行於支持FIPS 140-2標準的工作模式下。在該工作模式下,係統將具有更為嚴格的安全性要求,並會對密碼模塊進行相應的自檢處理,以確認其處於正常運行狀態。
進入FIPS模式的設備同時也符合CC(Common Criteria,公共準則)中的NDPP(Network Device Protection Profile,網絡設備保護特性)定義的功能要求。
係統提供了兩種啟動選擇來進入FIPS模式:自動重啟方式和手動重啟方式。
該方式下,係統自動創建一個FIPS缺省配置文件(名稱為fips-startup.cfg),同時將其指定為下次啟動配置文件,在要求用戶完成配置下次登錄設備所需的用戶名和密碼之後,自動使用FIPS缺省配置文件重啟。具體步驟如下:
(1) 用戶開啟FIPS模式。
(2) 用戶手工選擇自動重啟。如果在以下的輸入過程中想退出配置流程,可以使用組合鍵<Ctrl+C>中斷配置流程。配置流程中斷後,已輸入的開啟FIPS模式的命令將不被執行。
(3) 用戶手工配置登錄FIPS模式的設備時所使用的用戶名和密碼。該用戶將會成為FIPS模式中安全管理員(Crypto Officer),其密碼必須是大寫字母、小寫字母、數字以及特殊字符的組合,且最小長度為15位。
(4) 用戶成功設置安全管理員用戶名和登錄密碼之後,係統自動使用指定的啟動配置文件重啟。
(5) 係統進入FIPS模式。用戶隻能通過步驟(3)設置的用戶名和密碼登錄運行於FIPS模式的設備。
該方式下,係統不自動創建進入FIPS模式的下次啟動配置文件,需要用戶手工完成進入FIPS模式所需的所有必要配置之後,手工重啟設備。具體步驟如下:
(1) 用戶完成以下配置準備,主要包括:
· 開啟全局Password Control功能。
· 設置全局Password Control密碼組合類型的個數為4,每種類型至少1個字符。
· 設置全局Password Control的密碼最小長度為15。
· 添加設備管理類本地用戶,設置密碼、用戶角色和服務類型。本地用戶的密碼需要符合以上Password Control配置的限製,用戶角色必須是network-admin,服務類型為terminal。
· 刪除不符合FIPS標準的本地用戶服務類型(Telnet、HTTP和FTP)。
(2) 用戶開啟FIPS模式。
(3) 用戶手工選擇手動重啟。
(4) 用戶手工保存當前配置文件並設置為下次啟動配置文件。
(5) 用戶手工刪除二進製類型的下次啟動配置文件(文件名後綴為“.mdb”)。
(6) 重啟設備。
(7) 係統進入FIPS模式。用戶隻能通過步驟(1)設置的本地用戶名和密碼登錄處於FIPS模式的設備。
· 重新啟動可能會導致業務中斷,請謹慎操作。
· 選擇手動重啟方式後,用戶必須手工完成進入FIPS模式所需的所有必要配置,否則不能正常登錄係統。
表1-1 開啟FIPS模式
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟FIPS模式 |
fips mode enable |
缺省情況下,FIPS模式處於關閉狀態 |
係統進入FIPS模式,設備上的以下功能將發生變化:
· 僅支持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模式:
· 自動重啟方式:係統自動創建一個非FIPS缺省配置文件(名稱為non-fips-startup.cfg),同時將其指定為下次啟動配置文件,之後自動使用非FIPS缺省配置文件重啟。重啟之後,當前登錄用戶不需要輸入任何信息即可直接登錄到非FIPS模式的係統。
· 手動重啟方式:係統不自動創建進入非FIPS模式的下次啟動配置文件,需要用戶手工完成進入非FIPS模式所需的所有必要配置之後,手工重啟設備。重啟之後,當前登錄用戶需要根據配置的登錄認證方式輸入相應的用戶信息登錄到非FIPS模式的係統。
從FIPS模式切換到非FIPS模式時,登錄設備的缺省認證方式如下,用戶也可根據實際情況修改登錄認證方式:
· 通過VTY用戶線登錄設備時的缺省認證方式為password。
· 設備通過Console口登錄設備時的缺省認證方式均為none。
關閉FIPS模式之後、選擇手動重啟設備之前,需要注意的是:
· 對於當前遠程登錄的用戶,若要登錄非FIPS模式,則必須在不退出當前用戶線的情況下,重新設置登錄設備的認證方式為scheme,並設置對應的登錄用戶和密碼(也可使用當前的登錄用戶和密碼)。
· 對於當前通過Console口登錄的用戶,若要登錄非FIPS模式的係統:
¡ 如果使用password登錄認證方式,則還需要設置相應的認證方式為password,並設置對應的登錄密碼。
¡ 如果使用scheme登錄認證方式,則需要設置相應的認證方式為scheme,並設置對應的登錄用戶和密碼(也可使用當前的登錄用戶和密碼)。
¡ 如果使用none登錄認證方式,則需要設置相應的認證方式為none。
重新啟動可能會導致業務中斷,請謹慎操作。
表1-2 關閉FIPS模式
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
關閉FIPS模式 |
undo fips mode enable |
缺省情況下,FIPS模式處於關閉狀態 |
FIPS模式處於開啟狀態之後,為確保密碼算法模塊的功能正常運行,係統會進行一定的自檢處理,具體包括啟動自檢、條件自檢。啟動自檢失敗後,自檢進程所在的單板自動重啟。條件自檢失敗後,自檢進程所在的單板不重啟,但係統會輸出密碼算法自檢失敗的提示信息。
設備運行過程當中,當用戶或管理員需要確認當前FIPS模式下的係統中的密碼算法模塊是否正常工作時,可以通過執行命令來手工觸發係統進行密碼算法自檢工作。手工自檢失敗後,整個設備會自動重啟。
如果自檢失敗,請聯係用服工程師解決。
啟動自檢是在設備啟動過程中對FIPS允許使用的密碼算法進行的自檢。啟動自檢包括以下兩種:
· KAT(Known-answer Test,已知結果測試):即使用密碼算法對已知的密鑰和明文進行運算,如果運算結果與已知結果相同,則表示該算法的啟動自檢通過,否則表示自檢失敗。
· PWCT(Pairwise Conditional Test,密鑰對有效性測試):
¡ 簽名和驗證:生成DSA/RSA/ECDSA非對稱密鑰對時進行的自檢,具體為,首先使用私鑰對指定數據進行簽名,然後使用公鑰對該簽名數據進行驗證,如果驗證成功,則表示自檢通過,否則自檢失敗。
¡ 加密和解密:生成RSA非對稱密鑰對時進行的自檢,具體為,首先使用公鑰加密任意一段明文,然後使用對應的私鑰對生成的密文進行解密,如果解密成功,則表示自檢通過,否則自檢失敗。
· 3DES · SHA1、SHA224、SHA256、SHA384、SHA512 · HMAC-SHA1、HMAC-SHA224、HMAC-SHA256、HMAC-SHA384、HMAC-SHA512 · AES · RSA簽名和驗證 · ECDH · RNG · DRBG · GCM · GMAC |
|
· RSA簽名和驗證 · RSA加密和解密 · DSA簽名和驗證 · ECDSA簽名和驗證 |
條件自檢是在非對稱密碼模塊和隨機數生成模塊被使用時進行的自檢,具體包括以下兩種測試:
· 簽名和驗證的PWCT:生成DSA/RSA非對稱密鑰對時進行的自檢,具體為,首先使用私鑰對指定數據進行簽名,然後使用公鑰對該簽名數據進行驗證,如果驗證成功,則表示自檢通過,否則自檢失敗。
· 隨機數連續性測試:生成隨機數的過程中進行的自檢,如果前後兩次生成的隨機數不同,則表示自檢通過,否則自檢失敗。該自檢過程也會在生成DSA/RSA非對稱密鑰對時進行。
手工觸發的密碼算法自檢內容與設備啟動時自動進行的啟動自檢(Power-up Self-tests)內容相同。
隻有所有密碼算法自檢都通過了,整個密碼算法自檢才算成功。密碼算法自檢失敗後,設備會自動重啟。
表1-4 手工觸發密碼算法自檢
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
手工觸發密碼算法自檢 |
fips self-test |
- |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後FIPS模式的狀態,通過查看顯示信息驗證配置的效果。
表1-5 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.
Slot 1:
Save next configuration file 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.
# 設置登錄VTY用戶線的登錄認證方式為scheme。
[Sysname] line vty 0 63
[Sysname-line-vty0-63] authentication-mode scheme
# 將當前配置保存到存儲介質的根目錄,並將該文件設置為下次啟動配置文件。
[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.
Slot 1:
Save next configuration file successfully.
[Sysname] quit
# 刪除二進製類型的下次啟動配置文件。
<Sysname> delete flash:/startup.mdb
Delete flash:/startup.mdb?[Y/N]:y
Deleting file flash:/startup.mdb...Done.
# 重啟設備。
<Sysname> reboot
重啟設備後,輸入用戶名test和對應的密碼12345zxcvb!@#$%ZXCVB,進入非FIPS模式的係統。
Press ENTER to get started.
login: test
Password:
Last successfully login time:…
(略)
<Sysname>
# 顯示當前FIPS模式狀態,可見設備工作在非FIPS模式下。
<Sysname> display fips status
FIPS mode is disabled.
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!