簡介
本文描述如何將使用CentOS分發的Linux伺服器配置為使用面向身份服務引擎(ISE)的公鑰基礎架構(PKI)身份驗證的安全檔案傳輸協定(SFTP)伺服器。
必要條件
需求
思科建議您瞭解以下主題:
- 一般ISE知識
- ISE儲存庫配置
- Linux基礎常識
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- ISE 2.2
- ISE 2.4
- ISE 2.6
- ISE 2.7
- ISE 3.0
- CentOS Linux版本8.2.2004(核心)
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
為了對檔案傳輸實施安全性,ISE可以通過PKI證書通過SFTP進行身份驗證,以確保更安全地訪問儲存庫檔案。
設定
1.配置CentOS伺服器
1.1以根使用者身份建立目錄。
mkdir -p /cisco/engineer
1.2.建立使用者組。
groupadd tac
1.3.此命令將使用者新增到主目錄(檔案),它指定使用者屬於組工程師。
useradd -d /cisco/engineer -s /sbin/nologin engineer
usermod -aG tac engineer
附註:命令的/sbin/nologin部分表示使用者將無法通過安全殼層(SSH)登入。
1.4.繼續建立用於上傳檔案的目錄。
mkdir -p /cisco/engineer/repo
1.4.1設定目錄檔案的許可權。
chown -R engineer:tac /cisco/engineer/repo
find /cisco/engineer/repo -type d -exec chmod 2775 {} \+
find /cisco/engineer/repo -type f -exec chmod 664 {} \+
1.5.建立CentOS伺服器在其中執行證書檢查的目錄和檔案。
目錄:
mkdir /cisco/engineer/.ssh
chown engineer:engineer /cisco/engineer/.ssh
chmod 700 /cisco/engineer/.ssh
檔案:
touch /cisco/engineer/.ssh/authorized_keys
chown engineer:engineer /cisco/engineer/.ssh/authorized_keys
chmod 600 /cisco/engineer/.ssh/authorized_keys
1.6.在sshd_config系統檔案中建立登入許可權。
若要編輯檔案,可以透過此命令使用vim Linux工具。
vim /etc/ssh/sshd_config
1.6.1在下面新增指定的行。
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match Group tac
ChrootDirectory %h
X11Forwarding no
AllowTCPForwarding no
ForceCommand internal-sftp
1.7.運行命令以驗證sshd_config系統檔案語法。
sshd -t
附註:無輸出表示檔案的語法正確。
1.8.繼續重新啟動SSH服務。
systemctl restart sshd
附註:某些Linux伺服器具有selinux實施,要確認此引數,可以使用getenforce命令。作為建議,如果處於enforce模式,請將其更改為permissive。
1.9.(可選)編輯semanage.conf檔案,將實施設定為允許執行。
vim /etc/selinux/semanage.conf
新增命令setenforce0。
setenforce0
2.配置ISE儲存庫
2.1.繼續通過ISE圖形使用者介面(GUI)新增儲存庫。
導航到管理>系統維護>儲存庫>新增
2.2.輸入儲存庫的正確配置。
附註:如果您需要訪問回購目錄而不是工程師的根目錄,則目標路徑需要為/repo/。
3.在ISE伺服器上生成金鑰對
3.1. ISE GUI
導覽至Administration>System Maintenance>Repository>Generate key對,如下圖所示。
附註:必須通過ISE GUI和命令列介面(CLI)生成金鑰對,才能對儲存庫進行完全雙向訪問。
3.1.1.輸入密碼短語,這是保護金鑰對所必需的。
附註:首先生成金鑰對,然後匯出公鑰。
3.1.2.繼續匯出公鑰。
導航到管理>系統維護>儲存庫>匯出公鑰。
選擇匯出公鑰。將生成一個名為id_rsa.pub的檔案(確保儲存該檔案以供將來參考)。
3.2. ISE CLI
3.2.1.導航到要在其中完成儲存庫配置的節點的CLI。
附註:從此以後,您需要在使用PKI身份驗證允許訪問SFTP儲存庫的每個節點上執行後續步驟。
3.2.2.運行此命令,以便將Linux伺服器的IP新增到host_key系統檔案中。
crypto host_key add host <Linux server IP>
3.2.3.生成公共CLI金鑰。
crypto key generate rsa passphrase <passphrase>
3.2.4.使用此命令從ISE的CLI匯出公鑰檔案。
crypto key export <name of the file> repository <repository name>
附註:必須具有一個以前可以訪問的儲存庫,您可以將公鑰檔案匯出到該儲存庫。
4.一體化
4.1.登入您的CentOS伺服器。
導航到您先前配置了authorized_key檔案的文件夾。
4.2.編輯授權金鑰檔案。
執行vim命令以修改檔案。
vim /cisco/engineer/.ssh/authorized_keys
4.3.從生成金鑰對部分複製並貼上在步驟4和步驟6上生成的內容。
從ISE GUI生成的公鑰:
從ISE CLI生成的公鑰:
Linux伺服器上的authorized_key檔案:
4.4.將鍵貼上到檔案後,按ESC,繼續運行wq!命令以儲存檔案。
驗證
1.從Linux伺服器以root使用者身份執行此命令。
tail -f /var/log/secure
必須顯示輸出,如下圖所示。
2.用於ISE驗證。
在GUI上導航到管理>系統>維護>儲存庫。
從Repository List中選擇所需的資料庫,然後選擇Validate。
您必須在螢幕右下角看到Server Response彈出視窗。
在CLI中,執行show repo sftp_pki 指令以驗證金鑰。
為了進一步調試ISE,請在CLI上執行以下命令:
debug transfer 7
必須顯示輸出,如下圖所示:
相關資訊
https://www.cisco.com/c/en/us/td/docs/security/ise/2-2/admin_guide/b_ise_admin_guide_22/b_ise_admin_guide_22_chapter_01011.html