基于公网邮箱和OA的医院内外网文件转发系统的设计

2021-03-07 09:12刘兴民李纳张焕蛟
电子技术与软件工程 2021年19期
关键词:网闸外网内网

刘兴民 李纳 张焕蛟

(临沂市中心医院信息科 山东省临沂市 276400)

随着信息化的发展,医疗机构基本都运行着内部和外部两套网络,并且通过网闸等安全设备进行物理网络隔离,实施网络安全[1]。内部网络用于医院内部业务系统运行;而外部网络,主要是指的网络架构中的DMZ区(俗称隔离区或非军事化区),一般运行用于提供公网服务的服务器,如医院官网、患者手机支付、门诊就诊预约等服务。物理隔离的内外网保障了内部网络的安全性的同时,却带来了用户内外网文件交互不便的问题。为了解决这个问题,最简单的方式,用U盘来手工进行内外网文件的转发、交互。一般情况下,医院的内网主机都是封禁USB接口的,医院职工无法直接在内网主机插入U盘读写文件,当有需要转发文件时,就需要医院信息部门的协助。信息部门在医院内部网络,通过OA(协同办公系统或办公自动化)或是其他方式,接收到医院其他部门发送的文件,再拷贝到U盘,插到外网电脑,通过微信、QQ或是邮箱等方式发送文件至接收人。当有文件需要转入到医院内网时,医院职工发送到信息部门工作人员微信、QQ或是邮箱等通讯工具,工作忙时,其他科室人员需要电话通知信息部门工作人员,手工下载并通过U盘转入到医院内网,并通过OA或是网络文件共享到工作人员电脑。此过程繁杂、效率低下,给信息部门人员和医院其他科室带来极大的不便。

1 内外网文件转发系统方案对比

为了解决手工实现内、外网文件交互的问题,通常可以采用以下的方案:

1.1 通过网闸设备打通OA内外网

通过网闸设备同步内网协同办公平台数据库和数据文件,到非军事化区(DMZ),同时在DMZ区运行和内网相同的OA(协同办公)软件服务,从而实现内网和外网的服务访问[3]。OA大都有类似邮件的功能模块如“传阅”,当用户把文件上传到内网OA系统时,网闸设备会自动把文件同步到外网的OA系统相同目录,用户在公网访问OA系统时,自然可以访问到文件。反之,从外网上传文件到OA系统,内网也能访问。从而实现内外网的文件转发。这种方式,用户使用简单,内外网使用同一套系统;系统维护人员,部署方便,维护简单。但是,这却带来一定的安全隐患,内网的OA系统暴露在公网,增加了受到网络攻击的可能性,给医院的网络安全带来隐患;在公网,用户可以简单的上传文件并通过网闸同步文件到内网OA系统,易把携带病毒的文件传入内网。

1.2 部署企业云盘

采用自建企业云盘或是商业企业云盘,经过网闸、防火墙的策略配置,使得内网和外网都能访问企业网盘[2]。用户通过账号登录,上传文件到云盘,因服务通过网闸、防火墙打通,自然内外网都能访问。这种方式,对用户友好,方便、快捷。但是,医院需要额外增加硬件、软件的费用;对于医院职工,又增加了一套信息系统,同时,需要多记忆一套用户名、密码。用户在公网可以访问企业网盘服务,这增加了受到网络攻击的可能性,给网络安全带来隐患;同时,企业云盘可能有自带的文件杀毒功能,但是其病毒库更新及杀毒能力让人担心,也给网络安全带来挑战。

1.3 部署邮件服务器

在内网或DMZ区部署邮件服务器,并通过网闸、防火墙等安全设备的配置后,用户能同时在内、外网访问邮件服务器,以达到文件在内外网之间传输的目的。电子邮件是企业沟通的主要的工具,也是黑客攻击、病毒、垃圾邮件等的主要攻击对象[4],当邮件服务暴露到公网后,会给网络安全带来巨大压力,受到网络攻击的可能性也会增加;这种方式对于医院职工来说,增加了一套系统,需要记忆一套医院邮箱账户信息;医院也需要购置相关的服务器及存储设备等,需要投入一定的资金。

通过对比上述不同解决方案,其各有优缺点,但是共同的缺点都是依赖网闸直接打通医院内网和外网,相关系统服务暴露到公网,带来方便的同时,增加了受到网络攻击的可能性,给医院网络安全带来压力。因此,满足医院内外网文件转发的需求,同时为了保障网络安全不受到攻击,提出并设计了一种基于公网邮箱和OA系统的内外网文件转发、交互的方案。

2 内外网文件转发系统设计

本系统分为两大子系统:外网转内网子系统和内网转外网子系统。

2.1 外网转内网子系统

为了保障文件转入流程的网络信息安全,采用内网主动发起连接方式,外网无法访问到内网的程序服务。访问公网邮箱服务器时,可以有两种方式:

方式一,内外网完全物理隔离,没有防火墙和网闸等安全设备的医院,可以在内网与外网边界处部署一个代理服务器,如CCProxy软件。但是,需要注意的是要按照网络安全的要求,配置服务器主机防火墙、安装杀毒软件、及时更新系统补丁、配置上网代理的安全账户、IP限制等安全措施[5][6]。处于内网的文件转发程序,通过此代理登录公网邮箱,下载收到的邮件内容。

方式二,有相关网络安全设备的医院,可以通过防火墙、网闸等把公网邮箱的IMAP、SMTP网络地址映射到医院的内部网络,内网的文件转发程序通过映射的内网地址访问公网邮件服务器。这两种网络访问方式都可以尽可能的隔离医院内网,避免外部公网能访问医院内部局域网的操作,保障了医院内部网络的安全。

由于我院有网闸、防火墙等网络安全设备,因此,选择的是第二种方式。

为了实现外网文件转发到内部OA,需要申请一个公网邮箱,并开通SMTP和IMAP服务,即此邮箱能通过第三方客户端访问。

文件转入到内网OA系统的具体流程步骤如下:

(1)用户向系统设定邮箱发送带有需转入文件的邮件,并在主题中填写接收人的OA系统账号。需要注意的是,目前系统只识别普通附件,当作为超大附件时无法成功转入文件。

(2)内网转发系统,定时访问系统设定邮箱,下载所有未读邮件及其附件,并写入到本地邮件数据库。邮件下载模块流程如图1所示。

图1:邮件下载模块

(3)每一封邮件下载完成后,把邮件服务器端的邮件标记为已读,并调用本地服务器的杀毒软件模块对下载的文件进行杀毒。

(4)异步调用邮件转入模块,把邮件转入到OA系统内,在进行转入前会调用WinRAR压缩包管理软件对相关文件进行压缩,再把压缩后的文件转入OA系统内,并向OA相关接收人账户发送“传阅消息”。邮件转入模块流程如图2。

图2:邮件转入模块

(5)邮件转入结束。

在用户整个文件转入过程中,待转入内网的文件,被执行了3次杀毒操作。第一次杀毒,用户发送邮件,上传文件到个人邮箱时,公网邮箱服务提供商对其进行了杀毒操作;第二次杀毒,特定邮件服务提供商,收到用户发送过来的邮件后又对用户的文件进行了杀毒操作;第三次杀毒,邮件被下载到本地后,再次调用了杀毒软件模块执行了杀毒操作。因此,在这个过程当中尽最大努力的保障了文件的安全。

为了防止用户恶意转入文件,撑爆内网OA服务器存储资源,转发系统会识别接收人账号,并记录每日的转入次数,对OA的接收账户进行了每日可接收转发文件的次数限制。

为了减轻文件转发系统的本地邮件库的压力,系统会定时扫描本地邮件数据库,定时删除不符合转入规则的邮件附件(如主题中不是合法的OA账户),删除多次转入失败的邮件附件,删除转入成功特定时间(目前设定的是一个月)之后的邮件附件。虽然,转发系统进行了垃圾邮件的清理,但是不影响文件转入过程的溯源。转发系统的特定邮箱中保存有完整的邮件记录,转发系统的本地数据库中保存有转入的过程记录;OA系统中保存有接收文件的转入信息等。

2.2 内网转外网子系统

在OA系统中,设计一个申请转出文件的处理流程。当用户需要向外转发文件时,需要在信息采集表中填写接收邮箱,及在表格中附加附件。转发系统会定时访问数据库,当有新的申请时,程序通过调用SMTP协议模块,把附件发送到接收人邮箱。

内网转外网目前偶尔会报“User Over flow”的故障。经查,公网邮箱的邮件服务商一般会对第三方客户端每日发送次数进行限制。为了提高每日发送邮箱数,可以使用企业级的公网邮箱服务,提高每日可发送邮件次数,当然,这会增加成本。该系统,为了解决此问题,采用了一个简单的策略,增加多个备用邮箱。当主邮箱发送失败时,会再一次尝试使用其他备用公网邮箱进行发送,当全部备用邮箱都发送失败后,即结束此邮件的发送,更新转出申请次数+1,随后,进入下一循环。当发送次数超过阈值时如3次,不再尝试发送。

3 系统开发工具及环境

该系统采用python开发语言,以MongoDB作为本地邮件存储数据库,以pycharm作为程序集成开发平台。由于当前我院OA运行在Windows操作系统环境下,为了便于通过网络访问OA的文件,该系统也运行在Windows操作系统下。

为了实现异步调用邮件转入模块,采用Celery分布式任务队列,以及高性能的K-V数据库Redis作为消息中间件。需要注意的是在Windows平台容易出现Celery版本的兼容问题,本系统采用的Celery版本号为3.1.26.post2,redis版本号为2.10.6,celery-withredis版本号为3.0。

执行查询转文件申请或是向OA数据库写入用户转入文件记录操作时,采用SQLAlchemy ORM框架去访问OA数据库。

访问邮箱时采用的是imap-tools模块,进行下载邮件及附件;发送邮件采用smtplib模块,实现从内网发送邮件到外网邮箱。

4 实验结果及结论

该系统采用Windows任务计划的方式定时执行外网文件转入内网OA和内网OA文件转出外网邮箱的操作。当前设定的转入任务计划周期每2分钟执行一次,转出任务计划周期为每1分钟执行一次。

该测试过程分为两个部分:外网转内网和内网转外网。

4.1 外网转内网的实验

首先,向系统设定邮箱发送测试邮件,主题为“ceshi”,即内网的OA用户账号,并添加普通附件“测试.txt”。其次,等待几分钟后,登录内网OA系统,即会收到OA系统的内部消息提醒,打开传阅功能模块,即可看到转入的文件如图3。

图3:OA传阅模块中收到信息科账号发送的传阅信息

因此,经过测试外网文件能成功转入到OA系统接收人账户,成功实现文件的外网转内网功能。

4.2 内网转外网的实验

在OA系统中填写申请表,并添加附件。提交申请后,等待几分钟,登录申请表中的邮箱服务器,即可查看到从内网发送出来的文件。需要注意的是,为了提高发送效率,默认对文件进行压缩。登录个人邮箱后查看接收到的邮件及附件文件。因该过程较简单,不再图示及赘述。系统的内网转发外网邮箱模块可以成功进行转发操作。

5 缺点和不足及解决方案

(1)目前没有实现超大附件的外网文件转入内网的功能。因不同邮件服务提供商的超大附件协议不同,分析起来比较复杂,为尽快实现系统的转入功能,故暂未支持此项功能。在未来进行系统升级,可以实现超大附件的文件转入内网功能。

(2)内网转发到外网邮箱对文件的大小有限制,目前是限制在50MB。这是基于公网邮箱普通附件的大小限制而设定的。在系统设计过程中,曾尝试把大文件切分成小于50MB的多个文件,分多个邮件发送到接收人邮箱。但是,经测试,顺序发送相同接收人邮箱的多封邮件经常会被邮箱服务提供商自动拒绝服务,判定为垃圾邮件。在未来进行系统升级,可以尝试采用公网邮箱的超大附件功能。

6 结语

目前,该系统已在我院运行一年多,内网文件转外网日均40次,外网文件转内网OA日均53次,这给医院职工的内外网之间的文件的交互带来极大的便利,提高了职工的工作效率,同时,也减少了信息工作人员手工转发文件的工作。

猜你喜欢
网闸外网内网
内网和外网间的同名IP地址转换技术及应用
电子政务外网的安全管理研究
浅谈网闸在内外网隔离中的应用
企业内网中的数据隔离与交换技术探索
内外网隔离条件下如何实现邮件转发
地下车库柱网布置设计思路
QoS技术在企业内网实践探索
基于网闸的高速公路收费监控多网络互通解决方案
工商管理移动电子政务信息系统的设计与实现
浅谈电子政务系统的构成及发展趋势