基于Linux的“数据保护+备份”架构
——文件防篡改
2021-12-20张文新
张文新
(深圳大学 图书馆,广东 深圳 518060)
随着电子资源种类以及数量不断的增多,传统观意义上的纸质图书馆正在向电子图书馆转变。为了读者方便,可以足不出户的通过网络访问图书馆馆藏,获取相应的图书馆电子资源,图书馆就需要从网络上通过网页的形式,对电子资源进行发布;发布以后,读者可以通过网络访问所需的电子资源。电子资源发布后,就有很多相关的问题需要考虑,服务器以及数据的安全就是一个首先需要考虑的问题。保证服务器和数据的安全,才能保证读者能够顺利快速的访问到相应的资源,数据安全没有得到保障,不能正常提供电子资源的访问,电子资源服务也就成了问题,引起读者的不满。因此,一定要保证电子资源服务器和数据的安全性,必要的安全设置不仅可以防止黑客的攻击,还可以提高服务器的效率,同时也可以有效地防止管理员本身的误操作导致数据的丢失或者篡改等。服务器的安全设置一般主要是账号/密码安全设置、防火墙设置、程序漏洞修复等方法。如果这些防线被一些别有用心的人所“破解”,那么服务器和数据的安全就有可能受到威胁,因此数据的安全保护就变得尤为重要,加强数据安全保护,同时也是提高读者服务质量的一种手段。
1 文件防篡改的意义
在实际生活中,连接到Internet的服务器是最易受到攻击的,这些服务器中,WEB服务器是首当其冲被攻击的对象。黑客攻击WEB服务器的手段很多,比较常见的手段大致有以下3种:①Dos攻击消耗服务器资源使其瘫痪,致使网页无法访问,这种方法可以通过修补程序漏洞和防火墙等设置进行有效拦截。②通过WEB 页面注入SQL代码对数据库进行攻击,窃取数据库信息等。这种行为可以通过优化网页代码、将WEB与数据库进行分离的方式进行限制等方法进行一定的限制。③通过上传文件或直接进入服务器破坏服务器操作系统或篡改,显示非法或恶作剧内容,删除文件等。从以上3种形式的黑客攻击中不难分析出:数据库和文件系统的破坏造成的危害是最恶劣的,但这两种归根结底还都是“数据”被破坏,那么如何防止系统中的数据被“修改”呢?笔者主要介绍服务器文件防篡改的架构以及原理,此架构可以有效地保护服务器中数据的安全。
2 系统架构及原理
传统的文件防篡改的实现方法是将文件定时进行备份,而当数据被篡改或丢失后,需手动进行恢复。这种方法不但无法实现数据的实时恢复,而且实质上它也没有在真正意义上实现防篡改的目的。
本方案的架构如图1所示:内网FTP服务器充当数据管理服务器的角色,且一台FTP服务器可以同时管理多台外网WEB服务器。FTP服务器具有统一更新、上传、备份WEB服务器中数据的功能,且FTP服务器与WEB服务器需建立SSH连接信任,以便服务器之间进行数据传递。最终目的是禁止通过WEB服务器层对其上的数据进行修改,数据的所有权限赋予了FTP服务器。
图1 文件防篡改架构
下面以WEB服务器为例,详细介绍本架构下如何更新数据、如何防止文件被篡改。需要2台服务器,1台FTP管理服务器,1台WEB服务器。该架构的具体实现思路是:使FTP服务器具有修改数据的权限(包括被监控数据的增、删、改等权限),目的是为管理员提供数据更新的入口。将WEB服务器被监控的数据对应在FTP服务器中数据的权限全部赋予对应的FTP用户,如果管理员需要修改被监控数据的属性,那么管理员可通过相应的FTP用户登录FTP服务器上传或更新数据,如图2所示。
图2 监控FTP服务器
在FTP服务器中,建立FTP用户,不同FTP用户拥有不同目录的管理权限(即不同用户登录不同的FTP目录),将WEB服务器被监控目录所对应在FTP服务器上的数据,置于被监控状态,如果管理员需要对该目录进行了属性的修改(包括文件的属性、目录下文件或目录的增、删、改等操作),那么FTP服务器中的监控程序将被触发:①迫使WEB服务器将自动地、实时地与FTP服务器上的数据进行同步。②在FTP服务器上对数据的变化进行备份。最后发送短信或邮件通知系统管理员。
禁止WEB服务器修改数据(包括被监控数据的增、删、改等权限),目的是防止黑客或者不法分子破坏数据,如图3所示。
图3 监控WEB服务器
监控WEB服务器发布目录,如果被监控的目录下文件或目录的属性发生变化(包括文件的属性、目录下文件或目录的增、删、改等操作),那么WEB服务器将与FTP服务器进行连接,并与其上的数据进行同步,导致此次修改无效,并发送短信或邮件通知系统管理员。这样任何登录WEB服务器系统的用户都将无法直接修改WEB服务器端被监控的数据。
3 系统部署
由于笔者主要介绍的是系统架构,所以具体的实现方法不做详细介绍,以下主要介绍本架构的实现步骤以及注意事项。
WEB服务器 — 新建apache1用户,并将WEB服务器被监控目录A 的属主赋予apache1。若FTP服务器同时监控2台WEB服务器,则第二台WEB服务器下目录的所有者应区别第一台的用户名(比如apache2),监控多台原理相同。WEB目录的权限可通过FTP服务配置文件进行设置。监控工具可使用iwatch、inosync或自行编写的监控程序(笔者只介绍架构、各种软件的选择、应用、具体安装与使用方法这里不做介绍),其在A目录中所要产生的效果为:运行监控程序监控目录A,如果A目录的属性发生变化,可使用Rsync、scp(实现方法因工具的选择而有差异,在此不做介绍)工具与FTP上B目录进行同步并发送短信或邮件通知。具体监控程序实现方法略。
FTP服务器 — 安装配置FTP服务器,WEB服务器中A目录对应在FTP服务器中目录的名称为B,建立apache1用户(注意:此用户名应与WEB服务器中A目录所有者名称保持一致)并赋予其可以登录FTP服务器的权限,其Home目录为B目录(即apache1用户拥有B目录的最高管理权限)。若FTP服务器同时监控2台WEB服务器,则在FTP服务器上新建第二台WEB服务器目录所对应的相同的用户(即apache2),监控多台原理相同。FTP服务器上也同样应用WEB服务器上的监控工具,其在FTP服务器中所要产生的效果为:运行监控程序监控目录B,如果B目录的属性发生变化,那么FTP服务器将触发其上的监控程序,促使WEB服务器将自动地与FTP上的数据进行同步,实现了数据的实时更新。
完成以上部署后,启动2台服务器上的监控脚本。启动监控脚本前需设置监控程序的安全性,包括监控进程、监控程序等的权限控制。
4 部署过程中注意的问题
①设置WEB服务器被监控目录对应在FTP服务器中目录的属性以及所有者。即:FTP服务器中B目录拟定义的所有者与文件属性应根据WEB服务器中A目录的需求而定义。另:此架构FTP服务器可以监控多台WEB服务器,所以每一台WEB服务器对应在FTP服务器中的目录必须被独立的用户所拥有,且用户名不得相同。 ②建立被监控服务器与FTP服务器之间需SSH信任关系。若WEB服务器中被监控目录实时与FTP服务器中的数据同步,必须建立两者之间的信任关系才能自动传输数据。③系统安全、运行监控程序产生的进程安全设置。深圳大学图书馆为服务器系统以及监控程序设置的安全措施有:iptables 、NAT以超级管理员的权限运行监控程序、禁止WEB服务器上root级别的用户直接登录系统、限制登录服务器的IP、访问控制等(更多的安全设置可参阅参考文献7、8或其他相关文档)。
5 系统测试
环境搭建完成后,分别从WEB服务器和FTP服务器两个方向对数据进行数据的增、删、改等操作测试,测试效果,见表1。
表1 文件防篡改测试结果
以上测试结果是通过Inotify工具进行监控得出的,所有测试项目均符合预期效果。从以上结果可以看出,对A目录进行文件的增、删、改操作,A目录和B目录均无变化,对B目录进行文件的增、删、改操作后A、B目录均发生了相应的变化。
6 本架构的优点
不同的FTP具有不同目录的操作权限,FTP服务器对被监控目录有最高的操作权限,极大地增强了被监控服务器数据的安全性。实现了异地操作、实时同步,而且上传、更新文件更方便快捷。
一台FTP可以同时服务于多台WEB服务器,提高了管理大量WEB服务器的效率,实现了集中管理。
程序开发人员无须直接登录Linux服务器上传、更新文件。减少了系统用户名和密码外泄等各种可能,以及杜绝了登录后出现误操作造成的后果增强了系统的安全系数。另:由于被监控目录的所有权限转嫁给了内网FTP服务器,所以此架构系统彻底屏蔽了外网用户的权限。
程序开发、管理人员无须掌握复杂的Linux系统的操作使用方法即可完成数据的增、删、改等。
在整个架构中,FTP服务器不仅充当更新数据的角色,而且也充当着备份服务器的角色,因此管理人员无须再单独对数据进行备份,降低了管理人员的劳动量。
实时的手机短信和邮件通知,不仅可以实时掌握对被监控目录的“属性”,而且也可以了解监控系统的“健康”状态。
7 结束语
本方案不仅可以有效阻止别有用心的黑客破坏数据,而且也可以防止程序开发人员对目录的误操作。在此架构中,FTP服务器不仅可以集中管理所有的Linux WEB服务器,起到了上传、更新、监控等作用,还充当着备份服务器的角色,而且这种形式的备份永远处于实时状态。在整个架构中,WEB服务器始终处于“被动”接受的状态,极大地增强了服务器中数据的安全性。
数据作为信息的重要载体,其安全问题在信息安全中占有非常重要的地位。Internet中服务器又是数据的重要载体,所以服务器安全更是信息中心的重中之重。黑客的攻击是防不胜防的,安全从点点滴滴做起,尽量不给或少给黑客或不法分子可乘之机,尽可能地保证数据的安全。