我們根據 GOST 進行加密:動態流量路由設定指南

我們根據 GOST 進行加密:動態流量路由設定指南
如果貴公司透過網路傳輸或接收依法受保護的個人資料和其他機密訊息,則需要使用GOST加密。 今天我們將告訴您我們如何在其中一個客戶處基於 S-Terra 加密網關 (CS) 實施此類加密。 資訊安全專家以及工程師、設計師和建築師都會對這個故事感興趣。 在這篇文章中,我們不會深入探討技術配置的細微差別;我們將重點放在基本設定的關鍵點。 有關設定 Linux 作業系統守護程序(S-Terra CS 所基於的)的大量文件可在 Internet 上免費取得。 設定專有 S-Terra 軟體的文件也可在以下位置公開取得: 門戶網站 製造商。

關於該項目的幾句話

客戶的網路拓樸是標準的-中心和分公司之間的全網狀。 有必要在所有站點之間引入資訊交換通道的加密,其中有8個。

通常,在此類專案中,一切都是靜態的:在加密網關 (CG) 上設定到網站本地網路的靜態路由,註冊用於加密的 IP 位址 (ACL) 清單。 然而,在這種情況下,網站沒有集中控制,本地網路內任何事情都可能發生:可以以各種可能的方式新增、刪除和修改網路。 為了避免在更改站點本地網路尋址時重新配置 KS 上的路由和 ACL,決定使用 GRE 隧道和 OSPF 動態路由,其中​​包括所有 KS 和站點網路核心層級的大多數路由器(在某些站點,基礎設施管理員更喜歡在核心路由器上使用SNAT 來實作KS)。

GRE 隧道讓我們解決了兩個問題:
1. 在ACL中使用CS外部介面的IP位址進行加密,封裝傳送到其他站點的所有流量。
2. 在 CS 之間組織 ptp 隧道,這可讓您設定動態路由(在我們的範例中,提供者的 MPLS L3VPN 在網站之間組織)。

客戶下令實施加密即服務。 否則,他不僅必須維護加密網關或將其外包給某些組織,而且還必須獨立監控加密證書的生命週期,按時更新它們並安裝新的證書。
我們根據 GOST 進行加密:動態流量路由設定指南
現在是實際的備忘錄 - 我們如何配置以及配置什麼

CII 主題注意事項:設定加密網關

基本網路設定

首先,我們啟動一個新的CS並進入管理控制台。 您應該先更改內建管理員密碼 - 命令 更改使用者密碼管理員。 然後你需要執行初始化程序(命令 初始化),在此期間輸入許可證資料並初始化隨機數感測器(RNS)。

注意! S-Terra CC初始化時會建立安全策略,安全閘道介面不允許封包通過。 您必須建立自己的策略或使用命令 運行 csconf_mgr 激活 啟動預定義的允許策略。
接下來,您需要設定外部和內部介面的尋址以及預設路由。 最好使用 CS 網路設定並透過類似 Cisco 的控制台設定加密。 此控制台旨在輸入類似 Cisco IOS 指令的指令。 使用類似 Cisco 的控制台產生的設定反過來會轉換為作業系統守護程式所使用的對應設定檔。 您可以使用下列命令從管理控制台前往類似 Cisco 的控制台 配置.

更改內建使用者 cscons 的密碼並啟用:

>啟用
密碼:csp(預裝)
#配置終端
#username cscons 特權 15 秘密 0 #enable 秘密 0 設定基本網路設定:

#介面GigabitEthernet0/0
#ip位址10.111.21.3 255.255.255.0
#不關機
#介面GigabitEthernet0/1
#ip位址192.168.2.5 255.255.255.252
#不關機
#ip 路由 0.0.0.0 0.0.0.0 10.111.21.254

GRE

退出類似 Cisco 的控制台並使用命令到 debian shell 系統。 為使用者設定您自己的密碼 團隊 passwd文件.
在每個控制室,為每個站點配置單獨的隧道。 隧道介面在檔案中設定 的/ etc /網絡/接口。 IP 隧道公用程式包含在預先安裝的 iproute2 集中,負責建立介面本身。 介面創建命令寫入pre-up選項中。

典型隧道介面的設定範例:
汽車站點1
iface site1 inet 靜態
地址192.168.1.4
網絡掩碼255.255.255.254
pre-up ip 隧道新增 site1 模式 gre 本地 10.111.21.3 遠端 10.111.22.3 key hfLYEg^vCh6p

注意! 需要注意的是,隧道介面的設定必須位於該節之外

###netifcfg-開始###
*****
###netifcfg-結束###

否則,當透過類似 Cisco 的控制台變更實體介面的網路設定時,這些設定將會被覆寫。

動態路由

在S-Terra中,動態路由是使用Quagga軟體包實現的。 要設定 OSPF,我們需要啟用和配置守護進程 斑馬 и ospfd。 zebra 守護程序負責路由守護程序和作業系統之間的通訊。 ospfd 守護進程,顧名思義,負責實作 OSPF 協定。
OSPF 透過守護程式控制台或直接透過設定檔進行設定 /etc/quagga/ospfd.conf。 參與動態路由的所有實體和隧道介面都將添加到該文件中,並且還將聲明將通告和接收通告的網路。

需要新增的設定範例 ospfd設定文件:
接口eth0
!
接口eth1
!
介面站點1
!
介面站點2
路由器 ospf
ospf 路由器 ID 192.168.2.21
網路 192.168.1.4/31 區域 0.0.0.0
網路 192.168.1.16/31 區域 0.0.0.0
網路 192.168.2.4/30 區域 0.0.0.0

在這種情況下,位址 192.168.1.x/31 被保留用於站點之間的隧道 ptp 網絡,位址 192.168.2.x/30 被指派用於 CS 和核心路由器之間的傳輸網路。

注意! 為了減少大型安裝中的路由表,您可以使用下列結構來過濾傳輸網路本身的通告 沒有重新分配連接重新分配連接的路線圖.

配置守護程式後,需要更改守護程式的啟動狀態 /etc/quagga/守護進程。 在選項中 斑馬 и ospfd 沒有更改為是。 啟動 quagga 守護程式並將其設定為在啟動 KS 命令時自動執行 update-rc.d quagga 啟用.

如果GRE隧道和OSPF配置正確,那麼KSh和核心路由器上應該會出現其他站點網路中的路由,從而實現本地網路之間的網路連接。

我們將傳輸的流量進行加密

如前所述,通常在站點之間進行加密時,我們會指定對其之間的流量進行加密的IP 位址範圍(ACL):如果來源位址和目標位址落入這些範圍內,則它們之間的流量將被加密。 然而,在這個項目中,結構是動態的,地址可能會改變。 由於我們已經配置了 GRE 隧道,因此我們可以指定外部 KS 位址作為加密流量的來源位址和目標位址 - 畢竟,已經被 GRE 協定封裝的流量到達時需要加密。 換句話說,從一個站點的本地網路到其他站點已公佈的網路進入 CS 的所有內容都是加密的。 在每個站點內都可以執行任何重定向。 因此,如果本地網路發生任何變化,管理員只需修改從他的網路發送到該網路的公告,並且該公告將可供其他網站使用。

S-Terra CS 中的加密是使用 IPSec 協定執行的。 我們根據 GOST R 34.12-2015 使用「Grasshopper」演算法,為了與舊版本相容,您可以使用 GOST 28147-89。 從技術上講,可以對預定義金鑰 (PSK) 和憑證執行身份驗證。 然而,在工業操作中,必須使用根據 GOST R 34.10-2012 頒發的證書。

使用該實用程式可處理憑證、容器和 CRL 證書管理器。 首先,使用指令 cert_mgr 創建 需要產生私鑰容器和憑證請求,發送到憑證管理中心。 收到憑證後,必須使用以下命令將其與根 CA 憑證和 CRL(如果使用)一起匯入 cert_mgr 導入。 您可以使用以下命令確保安裝所有憑證和 CRL cert_mgr 顯示.

證書安裝成功後,進入類似Cisco的控制台設定IPSec。
我們建立一個 IKE 策略,指定所建立的安全通道所需的演算法和參數,並將其提供給合作夥伴進行批准。

#crypto isakmp 策略 1000
#encr gost341215k
#哈希 gost341112-512-tc26
#驗證標誌
#組vko2
#一生3600

該策略在建構IPSec第一階段時應用。 第一階段順利完成的結果是SA(安全協會)的成立。
接下來,我們需要定義用於加密的來源和目標IP位址(ACL)列表,產生轉換集,建立加密映射(crypto map)並將其綁定到CS的外部介面。

設定存取控制清單:
#ip 訪問列表擴充站點1
#permit gre 主機 10.111.21.3 主機 10.111.22.3

一組轉換(與第一階段相同,我們使用模擬插入生成模式的“Grasshopper”加密演算法):

#crypto ipsec 轉換集 GOST esp-gost341215k-mac

我們建立一個加密映射,指定 ACL、轉換集和對等位址:

#crypto map MAIN 100 ipsec-isakmp
#匹配地址site1
#set 變換設定 GOST
#設定對等點10.111.22.3

我們將加密卡綁定到收銀機的外部介面:

#介面GigabitEthernet0/0
#ip位址10.111.21.3 255.255.255.0
#加密地圖主要

若要加密與其他網站的頻道,您必須重複建立 ACL 和加密卡的過程,變更 ACL 名稱、IP 位址和加密卡號。

注意! 如果不使用 CRL 的憑證驗證,則必須明確指定:

#crypto pki 信任點 s-terra_technological_trustpoint
#撤銷檢查無

至此,可以認為設定完成了。 在類似 Cisco 的控制台命令輸出中 顯示加密 isakmp sa и 顯示加密 ipsec sa IPSec第一期和第二期的建設應該得到體現。 使用命令可以獲得相同的訊息 sa_mgr 顯示,從 debian shell 執行。 在命令輸出中 cert_mgr 顯示 應出現遠端站點憑證。 此類證書的狀態將是 遠程。 如果沒有建立隧道,則需要查看 VPN 服務日誌,該日誌儲存在檔案中 /var/log/cspvpngate.log。 文件中提供了日誌檔案的完整清單及其內容描述。

監控系統的“健康狀況”

S-Terra CC 使用標準 snmpd 守護程序進行監控。 除了典型的Linux參數之外,開箱即用的S-Terra還支援根據CISCO-IPSEC-FLOW-MONITOR-MIB發布有關IPSec隧道的數據,這就是我們在監控IPSec隧道狀態時使用的數據。 也支援將腳本執行結果輸出為值的自訂 OID 功能。 此功能允許我們追蹤證書到期日期。 編寫的腳本解析命令輸出 cert_mgr 顯示 結果給出了本地證書和根證書到期之前的天數。 當進行大量冠狀動脈繞道手術時,這項技術是必不可少的。
我們根據 GOST 進行加密:動態流量路由設定指南

這樣的加密有什麼好處呢?

S-Terra KSh 開箱即用支援上述所有功能。 也就是說,不需要安裝任何可能影響加密網關認證以及整個資訊系統認證的額外模組。 站點之間可以有任何管道,甚至可以透過網路。

由於當內部基礎設施發生變化時,無需重新配置加密網關, 系統作為服務運行,這對客戶來說非常方便:他可以將他的服務(客戶端和伺服器)放置在任何位址,並且所有變更都將在加密設備之間動態傳輸。

當然,加密由於開銷成本(overhead)會影響資料傳輸速度,但影響很小——通道吞吐量最多可以降低5-10%。 同時,該技術已經過測試,即使在相當不穩定且頻寬較低的衛星通道上也顯示出良好的效果。

Igor Vinokhodov,Rostelecom-Solar 第二線管理工程師

來源: www.habr.com

添加評論