杨勇志
(福建广播影视集团 福建省福州市 350001)
随着计算机技术在全国各电视台的电视节目制作中的广泛应用,在获得这种高效灵活的工作方式的同时,也面临着病毒安全问题。在电视制作网环境下,所涉及的交互环节,对于病毒的态度几乎是零容忍的。
但是,在过去多年,对包括摆渡网关专业设备、病毒隔离器在内这类防文件摆渡防病毒专业设备使用当中,我们发现一个重要的问题,面对如今病毒日新月异的情势,市面上,绝大多数网络专业安全设备厂家推出的应用于这类文件摆渡的防病毒专业设备,都有个不可忽视的缺点,那就是其病毒库更新频率不高,滞后时间比较长,用户无法根据自己的需要自行及时地更新其病毒库,更无法让其设备按照特定需求自动更新,更新起来比较困难,更新包的获取以及更新操作都受限于该厂家的行为,如此就导致这类设备,在日常使用过程中,无法对新病毒进行最大限度排查,而且随着时间过去,我们也曾遇到过,由于厂家产品的不断更新换代,以及厂家不断的人员流动,实际操作中,使得本就受制于厂家行为的病毒库更新工作,越来越滞后。
2019年,为了加快适应集团的转型发展,加快推进媒体深度融合工作,负责各电视频道的技术部门科室进行整合,随之而来的,我们原先的许多的频道制作网也在进行技术和设备上的调整升级,这其中,一个重要工作方向就是要更好地推进频道节目制作、发布与新媒体的深度融合,要在相对较短的时间内,实现在各频道原本相互独立的制作网与集团的融媒体制作网之间,建立更加安全、效率的文件防病毒安全摆渡系统。根据实际的具体需求和情况,系统须满足几点需求:
首先,必须保证设备能自动及时地更新最新的病毒库,利用最新的病毒库,甚至多重查杀手段,对即将迁移的文件进行查杀,完成查杀无毒的文件才予以放行。其次,整个杀毒和摆渡过程中,必须自动、无执守化,否则,防病毒工作再好,也难以保证摆渡的及时性,也是达不到要求的。还有,该系统摆渡速度,要至少与主流摆渡网关专业设备的摆渡速度处于等同水平。
最后,也是比较重要一条就是,在设计之初就要考虑到,该系统的软件和设置部分须能够跨Windows 各种的操作系统平台运行,须具备良好的移植性、可扩展性。只有如此,才能根据实际工作需要,在接下来的其他频道的制作网内的不同服务器上,甚至是工作站上进行搭建摆渡系统,来满足不同制作网的摆渡工作需求,而且还要考虑到,在业务需求不断变化的情况下,随时需要迁移到不同Windows 服务器上,或者提出的特别需求。否则这么多频道的制作网都要重新思考修改设计,甚至重新设计,那就很可能耽误计划进度,也是不符合要求的。
所以,如何在相对短的时间内,保证该摆渡系统能更安全、高效的稳定工作前提下,同时具备良好的移植性、可扩展性的问题,是必须提前考虑在内的,并得到一个符合这一系列要求的合理的设计方案,最终得以实施。
(1)集团单位融媒体制作网和频道制作网,都是进行封闭式管理,各自构成了一个孤立的制作网络系统,限制了普通用户对不规范文件的访问,同时应用策略的手段,确保在操作系统层面对普通用户的非生产行为的封闭。通过制作网网关规则设置开放融媒体制作网IP 地址的FTP 协议访问通道,以便实现由融媒体网通过FTP 向频道制作网发起的文件摆渡。
(2)选择频道制作网内一台平时负载轻的关服务器,作为平台来搭建该摆渡系统,并为其配置一个由容量足够的高速阵列存储建成的分区,起到摆渡中转盘的作用。
2.2.1 系统主要工作原理
在频道制作网内的摆渡系统中转盘上,建文件夹acceptFloder (No.001) 和casheFloder(No.001),同时,在制作网内的网络存储上,建文件夹destFloder(No.001)。其中,acceptFloder(No.001),用于等待接收文件,并完成文件的接受工作,然后进行杀毒;casheFloder (No.001)则是,当完成杀毒的文件都立即快速地移动到该目录下后,移动到最终目标文件夹; destFloder(No.001),该目录是最终提供给普通用户访问的目标文件夹。如此,从acceptFloder(No.001)到casheFloder(No.001)文件夹,再到destFloder(No.001)文件夹,即为通常意义上的建立了1 条摆渡通道路径。当然,根据需要可以建立若干条摆渡通道,满足不同用户群的不同摆渡需要。
2.2.2 系统此次应用要解决的主要问题
该系统中主要解决的是:系统能多重杀毒,能及时更新病毒库,易维护,以及摆渡效率等问题。多重杀毒就是要求系统在有文件到达接收文件夹后,能自动启动杀毒进程,并且要确保在杀毒完成之前,文件不能被摆渡迁移;效率的问题,除了使用高速阵列存储外,主要的解决方向就在于杀毒以及迁移过程设计的合理性,以及对杀毒软件的选择。至于维护性方面,重点就在于是否能充分利用服务器平台的灵活优势开发丰富实用的管理、维护功能。
2.2.3 系统的实现
2.2.3.1 杀毒软件
选择购买安装的是企业360 杀毒软件。并开启所有引擎及实时监控,监控所有文件。如此,即可实现文件落地监控功能,配合我们主动调用杀毒。而升级有两套实现方案:一是,为了实现及时更新病毒库,最大限度排查最新病毒,通过制作网边界的安全网关设备,只开放了本摆渡服务器对360 网站访问权限,同时,设置选择定时每天升级时间为7:00。另个方案是,加入一台Linux 系统的计算机,放在该局域网防火墙设备之前,定时每天7 点开机,由他获取360 网站的新的病毒库或者杀毒软件更新程序,文件经过防火墙,放置于局域网内。由局域网内360 杀毒软件自动获取升级,或者由每天机房巡查值班人员手动更新。目前暂时使用的是前者,前者更自动及时,维护更方便,后者异系统获取方式则更安全,同时及时性也同样有保障。目前使用的是第一种实现方法。
2.2.3.2 根据需要,建立1 条摆渡通道路径(即摆渡过程中所用到的文件夹),对通道路径进行编号,编号001,方便与日后可能添加的其他摆渡通道路径进行区分。另外,建立配合远程维护操作的SysFloder 文件夹。具体操作如下:
(1)按照系统工作原理,建立3 个文件夹:acceptFloder (No.001)、casheFloder(No.001)、destFloder(No.001)。acceptFloder (No.001)用于文件的接收和杀毒;casheFloder(No.001)用于文件的移动;destFloder(No.001)作为最终的移动目标目录;之所以,要建casheFloder(No.001),建立两个文件夹来分别负责文件接收杀毒和文件移动操作,这样当同时有多个用户发起多次摆渡申请的时候,杀毒和文件移动工作可以分组同时进行,这样大大提高摆渡效率,同一时间摆渡申请越多效果越明显。
(2)在摆渡系统中转盘上,建1 个文件夹SysFloder,用于接收指令文件,来实现摆渡系统执行管理员远程发送的维护指令的功能。当然在实际应用中,发送指令到该文件夹的操作是需要身份验证的,其进一步的实现方法,将在接下来的介绍中逐步进行说明。
2.2.3.3 用于对摆渡文件进行实时处理所编写的批处理脚本程序
(1) toScan.bat:用于对摆渡的非受限文件类型进行查毒,通过操作系统"md"命令,负责把acceptFloder(No.001)与casheFloder (No.001)文件夹中二者的子文件夹结构相同的同时,把摆渡文件在同分区下快速移动到casheFloder(No.001)文件夹。将判定是完全落地的文件。通过360 主动杀毒命令语句来调用360 杀毒软件的来进行杀毒,由于360 杀毒进程实际上常态下在后台就是保持开启的,所以几乎感觉不到等待调用杀毒进程的时间,其实这也是选用360杀毒的原因之一。
(2)toMove.bat:负责把casheFloder(No.001) 与destFloder (No.001)文件夹中二者的子文件夹结构相同的同时,把casheFloder (No.001)文件夹下的文件往destFloder(No.001)文件夹做迁移。如此运作,最终保证acceptFloder(No.001)与destFloder(No.001)的子目录结构相同,文件存放相对位置相同,方便用户查找文件和使用。此处值得说明的是,此次摆渡系统设计需求中,为避免出现因覆盖而使得被覆盖文件遗失,迁移过程是禁止覆盖的,所以,若遇到文件名相同的脚本将对将要被迁移的文件进行自动改名,即,将自动在原文件名之前,加入代表时间的数字串,方便用户对被改名的文件一目了然。
(3)check.bat: 为了让摆渡操作多一层保障,以及对一些意外进行记录,编写了这个脚本,一个主动查错纠错的脚本。该脚本会在系统中检查是否存在未摆渡的文件,同时,若确有存在遗漏,将会重新触发摆渡申请,并自动记录日志,以备管理员查找问题原因,对于系统长期稳定运行意义比较重大。
(4) createdellist.bat :用于定期自动删除过期文件的工作,每30 天进行一次自动删除,只保留最近的15 天文件。其具体实现方法是,把destFloder(No.001)文件夹当前所有文件名,生成对应的删除命令,存放于动态生成的dellist.bat 脚本程序中,等待15 天后,系统自动运行dellist.bat 该脚本程序,进行自动删除过期文件,删除完毕后,dellist.bat 再次调用createdellist.bat 覆盖生成新的dellist.bat,等待下一次的15 天后的到来运行上一次生成的dellist.bat,如此循环。
(5)hold.bat:为避免LOGMCON 理论上可能出现的意外退出的情况的发生,编写的LOGMCON 守护程序。该脚本会在LOGMCON 意外退出后,通过脚本循环跳转语句,会再次运行LOGMCON 程序,且保证同一时间只会出现一个LOGMCON 程序。
(6)restart.bat:该脚本是为实现远程维护而编写的脚本。根据SysFloder 所出现的指定文件名,文件名中含有的8 位校验码被校验成功后,即给予其执行相应操作,如此来实现摆渡系统的软重启、硬重启。其中,我们采用的8 位校验码是一种易记但又动态的校验码机制,所以管理员记起来很简单,同时对于系统不仅处理速度快还非常安全。当然管理员是可以随时更改这动态码的核心验算式的。
2.2.3.4 对摆渡通道路径的实时监控,触发并调用上述核心脚本程序
我们使用LOGMCON 监控程序来对中转盘上acceptFloder (No.001)、casheFloder(No.001)以及SysFloder 文件夹的进行实时监控,负责当acceptFloder(No.001)、casheFloder(No.001) 、SysFloder文件夹内有新文件变化时,即刻触发对应的编写好的脚本操作。把守护脚本hold.bat 加入到摆渡系统服务器启动自运行中,确保开机即运行hold.bat 脚本守护LOGMCON 进程开启。
2.2.3.5 摆渡系统的性能监控
由于该摆渡系统,是基于服务器搭建的,有别于黑盒子式的摆渡专业设备,不仅能通过自带任务管理器,甚至可以安装各硬件的实时监控软件,查看高峰时段的实时负载情况,能对负载能力进行较为准确的预判,方便对其进行准确的维护和升级。
如此,在杀毒方面,相较于绝大多数摆渡专业设备,便实现了多重多引擎杀毒,及时更新病毒库,最大限度排查最新病毒的目的。
2.2.3.6 安装设置FTP 服务端
(1)这里的FTP 服务端程序在选择上没有特殊要求,甚至可以选择Windows 系统自带的FTP 服务端服务。
(2)使用FTP 服务端的目的:利用FTP 服务的文件夹资源管理和用户的管理功能,负责摆渡用户及通道资源管理的管理。具体来说,就是把本身具备“可以把服务端不同文件夹的不同远程访问权限赋予不同的远程访问用户或用户组”的管理机制的FTP 服务端,作为该摆渡系统中的用户管理和通道资源管理的一个管理模块。例如,通过FTP 服务端的设置,把acceptFloder(No.001)的使用权限,分配给融媒体的用户群的普通用户,那么他们就拥有了对acceptFloder(No.001)的访问权限,即这些用户拥护了使用该摆渡系统对编号为001 的摆渡通道提起文件摆渡申请的权限,同理,把SysFloder(No.001)的使用权限分配给管理员、那么管理员就拥有了对SysFloder(No.001)的访问权限,即管理员拥护了该摆渡系统的远程维护权限。当然,不被该FTP 服务端授权的用户是使用不到资源的。如此该摆渡系统也就具备了用户管理及通道资源管理的能力。
2.2.3.7 远程维护功能
实现方法:管理员通过FTP 访问,向SysFloder 推送指令文件,或者对logmcon 同核心脚本所在目录下的配置文件的访问修改,来实现管理员在远程让摆渡系统自行执行常见的软重启、硬重启,以及其他执行操作,包括配置的更改。
该防病毒摆渡系统,有别于市面上摆渡专业设备,是以主流配置服务器为平台而搭建,从而获得了许多摆渡专业设备都不太具备的实用功能特点、创新:
(1)该系统,防病毒性能强,能自动及时更新最新的病毒库,从而真正地确保摆渡系统在摆渡过程中,以最大程度排查最新病毒,同时,还可根据不同需要,从众多的杀毒软件中,选择符合自己要求的杀毒软件。
(2)该系统搭建十分灵活,完全可以根据设计需求及当前条件,来在制作网中选择是用某一台服务器,还是单独架构一台的服务器。而且一台配合高速存储的主流服务器的处理性能是完全能胜任普通摆渡设备所能承载的任务的,甚至超出。正因如此,该系统选择用制作网中的某一台在线的负载轻的消息网关服务器。
(3)该系统,能更直观的掌握查看实时负载情况,有丰富的远程维护功能,甚至任意命令都可以通过远程维护功能让摆渡系统予以执行,配置也非常简单。而敢于使用比较丰富的远程维护功能,是基于我们一套动态验证码机制作为重要的安全保障。另外,该系统软件及设置方面,从无到有,也仅仅需要运行事先一个编写好的批处理脚本命令即可完成设置,甚至需要的话可以随时搬家。这些都使得该摆渡系统管理、维护起来非常方便。
(4)该系统,有别于市面上的摆渡专业设备,是以主流服务器为平台来搭建的,所以,其功能具备可扩展性,可以根据自身的条件和需求,选择安装或自己编写合适的程序或脚本,来扩展其功能。
(5)该系统,核心执行程序是开源的脚本,调用语句都是Win 系列操作系统本身自带的命令,不需要编译,而且,此次在开始设计编写之时,并不明确所要安装到的服务器具体情况,不仅如此,系统还要满足日后在不同频道制作网进行安装调试和使用文件摆渡系统。即便需求上有些许变化需要修改,也仅仅需要文本编辑修改即可,很简便,而且,开源脚本更适合现场环境下的修改、调试,准确性更高。其实,该系统中logmon 程序并不是必须的,是可以使用脚本来完全替代。因此,脚本的使用让该系统在系统兼容性方面表现非常好。
在设计该系统的过程中,我们也有参考过许多类似的应用环境下的应用案列,但都发现或多或少存在不适用。
该摆渡系统因采用以制作网内主流配置服务器为搭建平台,在具备足够稳定性的同时,使其具备更强的杀毒查毒能力,更直观的掌握实时负载情况,更丰富实用的管理、维护功能。该系统的前期,完全可以按设计需求以及当前条件,来选择适合的设计实施方式和投入的资源,目前本次实施应用的防病毒摆渡系统,投入性价比是远高于同类功能的专业设备的。而该系统的后期,通过软件的选择和脚本程序的编写,使摆渡系统功能具备非常高的可扩展性,以便于能不断的适应对今后的业务发展。其实,目前,市面上非计算机平台的同类功能的专业设备,常见的有摆渡网关、防病毒安全盒等等,这些各种品牌,我们都有在用,但不能完全满足我们此次的应用要求。
(1)许多应用环境使用同步软件作为替代来实现摆渡。这种方式并不适合本次应用环境:首先,同步软件无法实现对文件杀毒后才放行的摆渡标准流程。其次,利用同步软件来摆渡,哪怕是在同一分区的A 到B 目录摆渡,它也是进行复制,效率很低,而且,其复制成功后,接收目录下的文件,同步软件无法进行删除,使用非常不方便。
(2)而相比较于一些专门编写的摆渡软件来说,不仅杀毒软件的选择上可能是个问题,不同杀毒软件调用都是不同的,包括不同版本有时候都会有所区别。而且,最关键的是,若用需要编译的语言来编写的程序,其跨平台的易扩展性、兼容性、灵活性、准确性相比较而言并不高,而本次应用的要求之一就是兼容性、可移植性、易扩展性要高。所以,本次应用的该摆渡系统的核心执行程序,须使用的是开源的脚本。对于许多项目来说,其调用语句都是Win系列操作系统本身自带的命令,不需要编译生成,不需要额外加装软件运行环境,而且,此次在开始设计编写脚本之时,并不明确未来所要安装到的Win 系统服务器具体情况。而该系统如此设计实施基本不需要考虑Win 系统兼容问题,甚至是特殊网络运行环境下被要求定制调试的问题。
如今的防病毒工作,早已经上升到安全生产的重要环节上,因此,对于生产环节中的防病毒工作,无论如何强调和加强都不为过。该系统的设计和搭建也正是源于此。两年以来,该系统在集团各频道运行良好,受到了频道用户好评。