沈亮

摘 要:隨著計算機技術、網絡技術和通信技術的發展及其在電力系統中的廣泛應用,變電站監控系統的技術水平正在迅速提高。針對某變電站監控系統接入調度數據網調試工作中出現接入不正常,報文出現中斷不加密現象進行原因分析及故障處理。該方案已在變電站得到廣泛應用,解決了許多實際問題,降低了維護成本,提高了工作效率,增強了網絡的安全可靠性。
關鍵詞:調度數據網;二次安防;IP報頭校驗和;IP分片
中圖分類號:TM734 文獻標識碼:A 文章編號:1671-2064(2017)01-0166-01
變電站調度數據網建設目標是建立電力二次系統安全防護基本結構,二次安防系統包括加密機,防火墻,交換機等構成。實現安全防護的基本功能;在控制區與調度數據網的實時VPN網絡邊界部署縱向加密認證裝置,實現對重要信息傳輸的機密性、完整性保護;在虛設的非控制區與調度數據網的非實時VPN網絡邊界設置防火墻,實現對虛設的非控制區業務系統的訪問控制;通過安全策略配置,控制接入系統之間的互聯互訪,實現業務系統到調度數據網的安全接入。
1 原因分析
該變電站監控系統經二次安防設備接入調度數據網時,通道數據經常運行一會兒就出現中斷,無法與主站進行通訊。經核查,該通道正常,但報文數據(使用IEC-104規約)異常,在沒接防火墻時一切正常,接入防火墻后導致訪問不正常。針對此現象只有從報文結構和該加密機和防火墻進行原因分析。
IP報頭校驗和只跟IP報頭有關,跟IP封裝的數據無關,因此,如果原文中的描述的“收到報文是否進行校驗和檢查”是指IP報頭檢驗和的話,那么應該不會存在校驗和錯誤而被防火墻丟棄的問題,如果是指TCP校驗和或UDP檢驗和的話,那么,每個來自于加密機的報文其TCP或UDP校驗和都是錯誤的(因為多了33字節),因此防火墻肯定會直接丟棄這個報文,根本不存在文檔中描述的在防火墻轉發接口抓到1460字節數據包的情況;防火墻不對收到的報文進行校驗和計算,那么這個報文才會進入防火墻的內核處理流程,因為來自于加密機的報文是IP分片報文,因此防火墻會對此分片報文進行處理(選擇直接轉發分片報文還是重組后匹配策略再轉發),如果防火墻直接轉發,則沒什么問題,如果是重組轉發,這里就存在一個問題:防火墻能否完成這個報文的重組?因為IP分片的重組是根據IP報頭中的相關信息來完成的,其中非常重要的一個參數就是分片偏離量,這個值決定了分片報文在原始報文中的位置,而在這個故障環境下,每個報文都被加密機在尾部添加了只有加密機能夠識別的特征碼,防火墻并不能識別,那么防火墻在重組這些報文的時候,如何處理正常分片報文跟前一分片報文尾部添加的33字節部分的重疊呢?這是值得思考的。如是覆蓋33字節的尾部識別碼,則到達對端加密機后,加密機會丟棄這個報文。
在做加密處理時,TCP頭和IP頭都不做加密,只對數據區做加密,通過在加密機的抓包,發現加密機把所有MTU大于1300的數據包做了分片處理,并且在所有包的末尾加入自己的N字節加密識別碼,這樣從加密機發出的數據包MTU值最大1333,對于大于1333的報文(如1460)的數據包加密機都是分2個包進行傳送,在沒接防火墻時一切正常,接入防火墻后導致訪問不正常;變電站在訪問主站服務器時,服務器回應的MTU值1460數據包被服務器端加密機拆成2個包(第一個包1300),并在每個包的末尾加入33位,而防火墻在接收時將兩個包合并轉發,具體表現為防火墻接收口(接服務器端加密機)收到的報文數據長度是1333,而轉發口(接客戶端加密機)轉發的報文數據長度是1460,這樣客戶端加密機就認為加密數據被篡改,導致VPN加密通訊錯誤。
2 解決辦法
(1)由于加密機的特殊性,所以加密封包后的數據在通過防火墻時,會被認為是錯誤報文,解決方法:將防火墻“選項設置”---“安全設備系統參數”---“系統參數開關”下的“收到報文進行是否效驗和檢查”選項取消,如圖1所示。
(2)加密機對大于1300的數據包做分片處理,到防火墻時,發現數據是分片包,防火墻又給重組后轉發,導致對端加密機認為數據被篡改,不再對該數據包做解密處理。解決方法:啟用防火墻中的分片處理,將經過防火墻的數據都不做分片重組處理。經過以上處理,該現象徹底消失,變電站監控系統接入調度數據網通道數據正常。