gMIS吉米斯升級支持IPv4/IPv6雙棧網絡模式

今天是三八國際婦女節, 恭祝女同胞節日快樂!新冠肺炎疫情還沒有解除,各自安好!ios

1. IPv6地址及與IPv4並存過渡的雙棧網絡模式spring

距離論文 IPv6 Address in Dot-Base62x 的發表差很少十年過去了,IPv6的應用也逐漸從學術論文到實驗網,從實驗網到工業部署和商業應用,終於IPv6的逐漸啓用,開始由底至上的由網絡層影響到應用層。數據庫

好比在 gMIS吉米斯 中,安全檢查依賴對用戶請求的IP的監測。當IP地址由IPv4向IPv6過渡時,應用層看到的地址,多是IPv4,也多是IPv6,尤爲是在 IPv6/IPv4雙棧網絡 中(下圖2),這種狀況尤爲明顯。安全

例如,當咱們在啓用了IPv6的網絡下,查看終端用戶的IP時( -myip ),狀況多是這樣:
網絡

Internet Protocol version 4 (IPv4)
120.244.128.xxxsession

Internet Protocol version 6 (IPv6)
2409:8a00:6055:b650:b5df:f4f3:36cd:xxxxapp

也即同一個用戶,可能有兩個IP地址,一個IPv4地址,一個IPv6地址,二者可能交替出現,在此前的部署應用中,若是偵測到用戶IP地址發生改變,可能會有潛在的中間人攻擊發生。面對新狀況,須要更新升級程序處置這樣因爲網絡層發生改變而引發的安全檢測的 false positive alert.ui

2. gMIS吉米斯支持 IPv4/IPv6雙棧模式的思路及實施spa

從純技術上說,改進對一種新網絡模式的支持,由原來的單用戶單IP變成單用戶多IP的支持,要改動的地方不少,難度也較大,甚至容易滋生新的安全漏洞等。code

經反覆比對各類實施方案,茲選取以下一種實施對gMIS吉米斯支持IPv4/IPv6雙棧模式的改進。其主要思路時,當偵測到同一用戶的IP地址發生改變時,將用戶彈出系統,使用新IP再次驗證一次,使得用戶在新IP, IPv4 或 IPv6 下也得到一樣的受權,如此以來,用戶在兩個IP下都進行了受權驗證。在用戶層,通過兩次登陸後,在接下來的操做中,網絡層IP地址的切換,已經能夠無縫銜接,自動漫遊。

在系統中,分別將兩次驗證的受權Token以不一樣的名稱記錄到客戶端,一般是 Cookie或請求地址的參數裏,這樣,當用戶的IP再次漂移改變時,從Cookie中讀取到讀取到對應IP下的Token便可。

改動涉及到的程序文件:
A. comm/header.inc
根據已經讀取到的IP地址,判斷是IPv4或者IPv6,並將判斷結果標記記錄到運行時環境變量中去。也即 $_CONFIG 中。
B. extra/signinup
在經過用戶受權驗證,進行Cookie或請求參數寫操做時,若是當前網絡爲 IPv6,則在原Token名稱後附帶形如 「v6」 的標記。
C. inc/session.class
在進行用戶請求的鑑權時,經過Cookie或請求參數等讀取Token,若是當前網絡爲 IPv6,則在原Token的名稱後附帶形如 「v6」 的標記。


擴展開來,推而廣之地看,IPv6/IPv4的共存過渡階段,雙棧模式下,全部上層應用基於用戶單一IP考慮的地方,都須要進行這方面的調整。這技術是IT/互聯網屆的又一個相似 「千年蟲/2000年/千禧蟲」 的問題。

基於IP地址的安全覈驗,須要修改考慮這種新狀況,相似上述分析與升級改進。
基於IP地址的用戶識別,須要改進;基於IP地址的統計,基於IP地址的位置識別,基於IP地址的資源調度….

全部的IT及互聯網應用軟件系統,都須要從新審視由單用戶多IP產生的新問題,並且越早越好,越快越好,由於IPv4/IPv6的共存和過渡階段,目前來看會是一個至關長的過程,也許是10,20年,甚至是50年。


額外地,關於 IPv6 Address in Dot-Base62x 的應用,

例如在啓用了IPv6的家用網關路由器(Home Gateway)或者光貓一體機(Fibre Modem + Router)中,默認的Web管理控制檯的IPv4地址的訪問路徑一般爲:
http://192.168.1.1/或者http://192.168.0.1/

其對應的IPv6地址的訪問路徑一般爲:
http://[fe80::1]/ 或者 http://[fe80:0:0:0:0:0:0:1]/

顯然地,後者IPv6地址的訪問路徑看起來不友好,也有些費解,增長了中括號[]用於括起來IPv6地址,同時冒號:不單獨特指網絡服務的端口號,也多是IPv6地址的一部分。

相應地,若是上述IPv6地址( fe80::1 或者 fe80:0:0:0:0:0:0:1 ) 用Dot-Base62x 來表示的話,則其形式以下:
http://x3e00.0.0.0.0.1/

只此一種,明確無誤,沒有簡寫變項,也兼容目前全部網絡協議規範,不須要引入中括號[], 也不會影響冒號:用來特指網絡服務的端口號的定義。
在形式上,與IPv4同樣,使用點號.來區分地址段,不一樣的只是長度上多了兩個地址段. 這也是實際意義上的增加,IPv4由四段組成,IPv6地址由6段組成.

一樣地,上述終端用戶IPv6地址,
Internet Protocol version 6 (IPv6)
2409:8a00:6055:b650:b5df:f4f3:36cd:xxxx
也能夠表述成 Dot-Base62x 的地址形式爲:
xxxx.xxxx.xxx.yyyy.yyyy.yyy

這是推薦使用 IPv6 Address in Dot-Base62x 的主要緣由之一.


3. gMIS吉米斯相關的更新改進

A. 改進鏈接數據庫時進行長鏈接的操做;

B. 改進對數據表記錄狀態默認值的描述,增長了」其餘」選項等;

C. 改進了寫用戶終端Cookie的操做,增長了失效時間和有效路徑範圍.

D. Next @todo, 使用模板引擎 -Hanjst 替換掉 Smarty . 


-gMIS (general Management Information System,吉密斯) 是一種基於 -GWA2 (General Web Application Architecture,吉娃兔) 的通用管理信息系統應用軟件,具備可配置的輸入和輸出接口、開箱即用等特徵。

能夠在 gMIS吉米斯 上構建各類管理信息應用系統軟件,例如:
內容管理系統(CMS), 客戶資源管理(CRM), 企業資源計劃管理(ERP),
辦公自動化系統(OA)等,
也能夠是各類行業應用管理系統軟件,例如:
人力資源管理系統(HR),學生管理,檔案管理,旅遊管理,圖書管理,
商品管理及業務運營支撐系統(BOSS)等等。
gMIS吉米斯 可以實現零代碼開發、數分鐘內快速搭建各類管理信息系統(MIS, Management Information System).

-gMIS is a -GWA2 based Management Information System (MIS) software with characteristics like configurable input and output interfaces, open-box-to-use.
Various management application software systems can be built on it, such as
Content Management System (CMS), Customer Resource Management (CRM), Enterprise Resource Planning Management (ERP),
Office automation systems (OA), as well as different industry application management system softwares, such as
Human Resource Management System (HR), Student Management, Archive Management, Tourism Management, Book Management,
Commodity management and business operations support systems (BOSS), etc.
With zero code development, -gMIS can build a set of management information systems (MIS) software in a few minutes.

**Lower Costs,
**Better Productivity.
下降成本,
提升效率.

-R/q2SX

相關文章
相關標籤/搜索