论文部分内容阅读
【摘要】普通院校图书馆数字资源本地镜像并发访问量较低,所以多数使用Tomcat来承担应用服务器。人才和技术的限制,会间接导致其成为学校网络安全问题的一个入口。因此,文章主要从安全配置入手,分析了Tomcat初始化安装前后需要注意的一些安全细节,并且罗列了2017年爆发的一些漏洞和相关解决方式。
【关键词】Tomcat;图书馆;数字资源;服务器;web服务
一、引言
通过业务交流得知,受人才和技术的限制,多数普通院校图书馆数字资源本地镜像的部署,一般交由第三方数字资源商辅助安装和维护。然而笔者在对服务器管理的日常工作过程中,发现部分数据商所部署的Tomcat应用服务器经常会忽略一些安全配置细节,非常容易导致服务器受到来源于内网的攻击,或者成为外网的跳板,蔓延攻击内网中的其他服务器和网络设备,这将间接对整个校园网络和自身数据的安全造成不可忽略的影响。所以本文主要通过Tomcat应用服务器在安全配置上的一些小细节以及近年来的一些安全漏洞问题,探讨图书馆数字资源web应用服务器Tomcat的安全防范。
二、Tomcat安全配置应注意的一些事项
端口扫描是黑客入侵最直接、最简便的方式。因为Tomcat在Linux操作系统下1024以内的端口非root用户无法使用,而Tomcat提供的是HTTP服务,需要一个与80有关的端口,所以Tomcat的默认配置是选择8080端口对外提供web服务,同时还会占用8005、8009和8443端口。黑客可以利用专门的自动扫描工具,例如Apache_Tomcat_Crack等,扫描出端口开启并且防火墙开放的主机,获取服务器的IP地址,并且还可以通过扫描工具对admin账户预设密码,破获弱口令,再经由默认后台地址登录,认证成功后,将可以看到站点的相关目录等信息。而后台管理所提供的开启、停止、重启、卸除等功能,被黑客利用,会直接对我们的服务和数据造成一定的影响。更为严重的是,黑客会利用上传功能,通过WAR file to deploy模块,将Webshell打包成war文件上传到web站点并运行,从而进一步利用Webshell上传其他黑客辅助工具,开启服务器的远程桌面等。针对以上威胁,在做安全配置时,笔者总结出了以下值得注意的细节。
(一)安全合理的初始化配置
普通院校图书馆用于发布数字资源的服务器,经常以单台对外服务多个系统项目,而且是通过Tomcat的虚拟机一起使用同一个实例来实现的。Tomcat虚拟主机配置的灵活性可以为部署web带来很多便利,但笔者不建议使用,避免任何一个虚拟机中的应用程序因共享内存关系而可能相互影响。因此,最好以本馆的需求来权衡服务器的开销与应用程序的安全之间的轻重。选择Tomcat的安装版本也很重要,可以避免安装一些已经公布的漏洞补丁升级,首先选出适合本馆需求的大版本,在当前的大版本中选择较新的版本而不是最新的版本。
首次安装完成后立即删除webapps下面的所有代码,注释或删除tomcat-users.xml文件里面的所有用户权限。图书馆数字资源的安装与维护一般由第三方商家来负责,极少用到Tomcat提供的默认管理页面,因此我们应该要求安装人员在进行初始化配置的时候,注意把webapps目录下的文件全部删除,同时也将conf/Catalina/localhost目录下的host-manager.xml和manager.xml两个配置文件删除。在lib目录下名称为catalina.jar的包中,有一个ServerInfo.properties文件,为了避免黑客针对某些版本攻击,我们可以通过修改该文件中的serverinfo字段来更改当前的版本信息。
(二)端口与用户设置
安装人员要注意在启动Tomcat之前,对安装目录下的所有文件设置指定用户,限制访问权限,不要使用root用户来启动Tomcat,避免权限的继承。图书馆技术管理员,可以通过修改置文件tomcat-users.xml,为管理用户设置更加复杂的密码。在对tomcat-users.xml文件操作前,一定要保证Tomcat处于关闭状态,设置好后再打开。管理员可以在conf目录下找到server.xml文件,修改初始安装默认占用的几个端口号。
(三)应用程序的安全防范
在默认的情况下,Tomcat开启了对war包的自动部署,为了防止恶意上传的war自动部署和继承权限,可以将相应的实例修改为:,注意应用程序部署与Tomcat的启动,不能使用同一个用户。
(四)禁止显示文件目录和列表
当用户请求的文件夹不存在的时候,返回来的提示页面會显示相关的目录列表信息,对于此项信息的裸露,同样是一个较大的隐患入口。因此我们要确认在Tomcat的设置中禁止目录等信息,可以通过修改Tomcat/conf目录下的web.xml文件,将原本true 实例中的“true”修改为“false”重启后即可生效。我们还可对web.xml进行一些优化,例如增加监听器,增加过滤器,更改应用的默认网页等。
三、2017年爆发的部分漏洞以及防范方式
(一)高危漏洞
1.CVE-2017-12615:远程代码执行漏洞。影响范围:Apache Tomcat 7.0.0-7.0.80。当Tomcat运行在Windows主机上,且启用了HTTP PUT请求方法(例如,将readonly初始化参数由默认值设置为false),攻击者将有可能通过精心构造的攻击请求向服务器上传包含任意代码的JSP文件。之后,JSP文件中的代码将能被服务器执行。Tomcat 7.x版本内web.xml配置文件内默认配置无readonly参数,需要手工添加,默认配置条件下不受此漏洞影响。 漏洞临时修复方式:根据业务评估配置readonly值为True或注释参数,禁用PUT方法并重启Tomcat,临时规避安全风险,但对于依赖PUT方法的应用,可能导致相关业务失效,官方已经发布Apache Tomcat 7.0.81版本修复了两个漏洞,最终解决方式是尽快升级到相应版本。
2.CVE-2017-12616:信息泄露漏洞。影响范围:Apache Tomcat 7.0.0-7.0.79。当Tomcat中使用了VirtualDirContext时,攻击者将能通过发送精心构造的恶意请求,绕过设置的相关安全限制,或是获取到由VirtualDirContext提供支持资源的JSP源代码。Tomcat 7.x版本内默认配置无VirtualDirContext参数,需要手工添加,默认配置条件下不受此漏洞影响。
漏洞临时修复方式:根据业务评估配置VirtualDirContext值为True或注释参数,禁用PUT方法并重启Tomcat,临时规避安全风险,但对于依赖PUT方法的应用,可能导致相关业务失效,官方已经发布Apache Tomcat 7.0.81版本修复了两个漏洞,最终解决方式是尽快升级到相应版本。
3.CVE-2017-5664:安全限制绕过漏洞。影响范围:Apache Tomcat(9.0.0.M1-9.0.0.M20,8.5.0-8.5.14,8.0.0.RC1-8.0.43,7.0.0-7.0.77)。攻击者可以利用该漏洞构造恶意请求会导致文件删除,比如若DefaultServlet配置为允许写,对于静态错误页面,可能会替换或删除自定义错误页面等,解决方式是升级到官方公布的相应版本。
(二)低危漏洞
相对低危的漏洞,官方已经全部发布相应的补丁升级,用户可以通过官网进行下载更新。进行更新前需要对server.xml、catalina.sh、web.xml和tomcat-users.xml文件进行备份处理,待部署完新版本之后用其覆盖新的文件。
1.CVE-2017-5650:拒绝服务漏洞。Apache Tomcat(9.0.0.M1-9.0.0.M18,8.5.0-8.5.12)版本在处理大量HTTP/2请求时存在安全漏洞,可使攻击者执行拒绝服务攻击。
2.CVE-2017-7674:缓存投毒漏洞。Apache Tomcat 9.0.0.M1-9.0.0.M21版本,在CORS过滤器实现中,未添加HTTP Vary标头,表明响应根据来源变化,在实现上存在安全漏洞,可导致客户端及服务器端缓存中毒。
3.CVE-2017-7675:目录遍历漏洞。Apache Tomcat 9.0.0.M1-9.0.0.M21、Apache Tomcat 8.5.0-8.5.15版本,在HTTP2实现中存在安全限制绕过漏洞,可使攻击者通过构造的URL,利用此漏洞,绕过安全限制。
四、结语
数字资源无论是商业化或非商业化、机构或个人自建、网络索引等,同印刷型文献相比,其类型都更为丰富,存取和利用都更加便捷,成为现代图书馆馆藏资源建设中的重要组成部分。而高校图书馆数字资源一般通过web服务来为用户提供数据之间的交换。Tomcat是一个免费的开源轻量级应用服务器,其技术和性能目前均受到使用者和开发者的普遍认可,但由其带来的网络安全问题不可忽视。因笔者知识有限,在进行安全配置和漏洞分析时难免有错漏现象,希望可以得到指正。
【参考文献】
[1]怯肇乾.Tomcat应用服务器高并发优化处理[J].电脑编程技巧与维护,2018(02):131-138.
[2]余炀,曲毅,孙亦乐.基于Apache Tomcat的一站式Java应用服务器解决方案[J].中国金融电脑,2018(01):59-63.
[3]梁龙.基于Tomcat的改造实现关闭上传war包功能[J].信息技术与信息化,2016(06):51-52,58.
[4]马旭.探究Tomcat虚拟路径功能应用[J].中国新通信,2016,18(02):67.
[5]王雪.基于Linux架構的Tomcat的安装部署[J].信息与电脑(理论版),2015(20):26-27.
[6]吴小青.JSP TOMCAT MYSQL开源软件整合配置初探——以揭阳职业技术学院图书馆网站服务器配置为例[J].齐齐哈尔大学学报(自然科学版),2012,28(04):66-69.
【关键词】Tomcat;图书馆;数字资源;服务器;web服务
一、引言
通过业务交流得知,受人才和技术的限制,多数普通院校图书馆数字资源本地镜像的部署,一般交由第三方数字资源商辅助安装和维护。然而笔者在对服务器管理的日常工作过程中,发现部分数据商所部署的Tomcat应用服务器经常会忽略一些安全配置细节,非常容易导致服务器受到来源于内网的攻击,或者成为外网的跳板,蔓延攻击内网中的其他服务器和网络设备,这将间接对整个校园网络和自身数据的安全造成不可忽略的影响。所以本文主要通过Tomcat应用服务器在安全配置上的一些小细节以及近年来的一些安全漏洞问题,探讨图书馆数字资源web应用服务器Tomcat的安全防范。
二、Tomcat安全配置应注意的一些事项
端口扫描是黑客入侵最直接、最简便的方式。因为Tomcat在Linux操作系统下1024以内的端口非root用户无法使用,而Tomcat提供的是HTTP服务,需要一个与80有关的端口,所以Tomcat的默认配置是选择8080端口对外提供web服务,同时还会占用8005、8009和8443端口。黑客可以利用专门的自动扫描工具,例如Apache_Tomcat_Crack等,扫描出端口开启并且防火墙开放的主机,获取服务器的IP地址,并且还可以通过扫描工具对admin账户预设密码,破获弱口令,再经由默认后台地址登录,认证成功后,将可以看到站点的相关目录等信息。而后台管理所提供的开启、停止、重启、卸除等功能,被黑客利用,会直接对我们的服务和数据造成一定的影响。更为严重的是,黑客会利用上传功能,通过WAR file to deploy模块,将Webshell打包成war文件上传到web站点并运行,从而进一步利用Webshell上传其他黑客辅助工具,开启服务器的远程桌面等。针对以上威胁,在做安全配置时,笔者总结出了以下值得注意的细节。
(一)安全合理的初始化配置
普通院校图书馆用于发布数字资源的服务器,经常以单台对外服务多个系统项目,而且是通过Tomcat的虚拟机一起使用同一个实例来实现的。Tomcat虚拟主机配置的灵活性可以为部署web带来很多便利,但笔者不建议使用,避免任何一个虚拟机中的应用程序因共享内存关系而可能相互影响。因此,最好以本馆的需求来权衡服务器的开销与应用程序的安全之间的轻重。选择Tomcat的安装版本也很重要,可以避免安装一些已经公布的漏洞补丁升级,首先选出适合本馆需求的大版本,在当前的大版本中选择较新的版本而不是最新的版本。
首次安装完成后立即删除webapps下面的所有代码,注释或删除tomcat-users.xml文件里面的所有用户权限。图书馆数字资源的安装与维护一般由第三方商家来负责,极少用到Tomcat提供的默认管理页面,因此我们应该要求安装人员在进行初始化配置的时候,注意把webapps目录下的文件全部删除,同时也将conf/Catalina/localhost目录下的host-manager.xml和manager.xml两个配置文件删除。在lib目录下名称为catalina.jar的包中,有一个ServerInfo.properties文件,为了避免黑客针对某些版本攻击,我们可以通过修改该文件中的serverinfo字段来更改当前的版本信息。
(二)端口与用户设置
安装人员要注意在启动Tomcat之前,对安装目录下的所有文件设置指定用户,限制访问权限,不要使用root用户来启动Tomcat,避免权限的继承。图书馆技术管理员,可以通过修改置文件tomcat-users.xml,为管理用户设置更加复杂的密码。在对tomcat-users.xml文件操作前,一定要保证Tomcat处于关闭状态,设置好后再打开。管理员可以在conf目录下找到server.xml文件,修改初始安装默认占用的几个端口号。
(三)应用程序的安全防范
在默认的情况下,Tomcat开启了对war包的自动部署,为了防止恶意上传的war自动部署和继承权限,可以将相应的实例修改为:
(四)禁止显示文件目录和列表
当用户请求的文件夹不存在的时候,返回来的提示页面會显示相关的目录列表信息,对于此项信息的裸露,同样是一个较大的隐患入口。因此我们要确认在Tomcat的设置中禁止目录等信息,可以通过修改Tomcat/conf目录下的web.xml文件,将原本
三、2017年爆发的部分漏洞以及防范方式
(一)高危漏洞
1.CVE-2017-12615:远程代码执行漏洞。影响范围:Apache Tomcat 7.0.0-7.0.80。当Tomcat运行在Windows主机上,且启用了HTTP PUT请求方法(例如,将readonly初始化参数由默认值设置为false),攻击者将有可能通过精心构造的攻击请求向服务器上传包含任意代码的JSP文件。之后,JSP文件中的代码将能被服务器执行。Tomcat 7.x版本内web.xml配置文件内默认配置无readonly参数,需要手工添加,默认配置条件下不受此漏洞影响。 漏洞临时修复方式:根据业务评估配置readonly值为True或注释参数,禁用PUT方法并重启Tomcat,临时规避安全风险,但对于依赖PUT方法的应用,可能导致相关业务失效,官方已经发布Apache Tomcat 7.0.81版本修复了两个漏洞,最终解决方式是尽快升级到相应版本。
2.CVE-2017-12616:信息泄露漏洞。影响范围:Apache Tomcat 7.0.0-7.0.79。当Tomcat中使用了VirtualDirContext时,攻击者将能通过发送精心构造的恶意请求,绕过设置的相关安全限制,或是获取到由VirtualDirContext提供支持资源的JSP源代码。Tomcat 7.x版本内默认配置无VirtualDirContext参数,需要手工添加,默认配置条件下不受此漏洞影响。
漏洞临时修复方式:根据业务评估配置VirtualDirContext值为True或注释参数,禁用PUT方法并重启Tomcat,临时规避安全风险,但对于依赖PUT方法的应用,可能导致相关业务失效,官方已经发布Apache Tomcat 7.0.81版本修复了两个漏洞,最终解决方式是尽快升级到相应版本。
3.CVE-2017-5664:安全限制绕过漏洞。影响范围:Apache Tomcat(9.0.0.M1-9.0.0.M20,8.5.0-8.5.14,8.0.0.RC1-8.0.43,7.0.0-7.0.77)。攻击者可以利用该漏洞构造恶意请求会导致文件删除,比如若DefaultServlet配置为允许写,对于静态错误页面,可能会替换或删除自定义错误页面等,解决方式是升级到官方公布的相应版本。
(二)低危漏洞
相对低危的漏洞,官方已经全部发布相应的补丁升级,用户可以通过官网进行下载更新。进行更新前需要对server.xml、catalina.sh、web.xml和tomcat-users.xml文件进行备份处理,待部署完新版本之后用其覆盖新的文件。
1.CVE-2017-5650:拒绝服务漏洞。Apache Tomcat(9.0.0.M1-9.0.0.M18,8.5.0-8.5.12)版本在处理大量HTTP/2请求时存在安全漏洞,可使攻击者执行拒绝服务攻击。
2.CVE-2017-7674:缓存投毒漏洞。Apache Tomcat 9.0.0.M1-9.0.0.M21版本,在CORS过滤器实现中,未添加HTTP Vary标头,表明响应根据来源变化,在实现上存在安全漏洞,可导致客户端及服务器端缓存中毒。
3.CVE-2017-7675:目录遍历漏洞。Apache Tomcat 9.0.0.M1-9.0.0.M21、Apache Tomcat 8.5.0-8.5.15版本,在HTTP2实现中存在安全限制绕过漏洞,可使攻击者通过构造的URL,利用此漏洞,绕过安全限制。
四、结语
数字资源无论是商业化或非商业化、机构或个人自建、网络索引等,同印刷型文献相比,其类型都更为丰富,存取和利用都更加便捷,成为现代图书馆馆藏资源建设中的重要组成部分。而高校图书馆数字资源一般通过web服务来为用户提供数据之间的交换。Tomcat是一个免费的开源轻量级应用服务器,其技术和性能目前均受到使用者和开发者的普遍认可,但由其带来的网络安全问题不可忽视。因笔者知识有限,在进行安全配置和漏洞分析时难免有错漏现象,希望可以得到指正。
【参考文献】
[1]怯肇乾.Tomcat应用服务器高并发优化处理[J].电脑编程技巧与维护,2018(02):131-138.
[2]余炀,曲毅,孙亦乐.基于Apache Tomcat的一站式Java应用服务器解决方案[J].中国金融电脑,2018(01):59-63.
[3]梁龙.基于Tomcat的改造实现关闭上传war包功能[J].信息技术与信息化,2016(06):51-52,58.
[4]马旭.探究Tomcat虚拟路径功能应用[J].中国新通信,2016,18(02):67.
[5]王雪.基于Linux架構的Tomcat的安装部署[J].信息与电脑(理论版),2015(20):26-27.
[6]吴小青.JSP TOMCAT MYSQL开源软件整合配置初探——以揭阳职业技术学院图书馆网站服务器配置为例[J].齐齐哈尔大学学报(自然科学版),2012,28(04):66-69.