今天是三八国际妇女节, 恭祝女同胞节日快乐!新冠肺炎疫情还没有解除,各自安好!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.
下降成本,
提升效率.