时间:2024-09-03
◆孙晓林 张新刚
(1.南阳师范学院网络管理中心 河南 473061;2.南阳师范学院计算机与信息技术学院 河南 473061)
基于Nginx的网站安全优化方案
◆孙晓林1张新刚2
(1.南阳师范学院网络管理中心 河南 473061;2.南阳师范学院计算机与信息技术学院 河南 473061)
数字化智慧校园的发展,高校的办公、科研、管理都更加数字化、智能化,应用系统和各类网站都不断增加。然而,高校网站存在数量大、网站制作技术不统一等问题,引起管理不便,安全隐患也随之而来。使用Nginx反向代理技术,将网站服务器加以隐藏,使Internet用户通过Nginx服务器访问网站,从而增强了网站安全性。
Nginx;网站;安全;反向代理
随着教育信息化的推进和数字化智慧校园的发展,高校网站和应用系统的数量都随之增加,其中应用系统是高校内部教学、科研、管理的重要平台,网站是高校面向社会的窗口[1]。2017年6月1日《网络安全法》的颁布实施,校园网的安全性显得更加重要。高效网站存在数量多、制作技术不统一等问题,成为黑客关注的重点,是网络安全的重灾区[2]。由于 Nginx具有反向代理的特点,可以使用户通过Internet和Nginx服务器对网站进行访问,从而增强了高校网站的透明性和安全性。
Nginx起源于俄罗斯,可以提供web代理、反向代理和电子邮件服务[3]。由于 Nginx具有性能高、并发性强、稳定性高、资源消耗低、易于配置等优点,在国内外已经得到广泛的应用。目前国内的百度、腾讯、新浪等大型网站都使用Nginx作为服务器对外提供服务[4]。
Nginx的常用功能有:
(1)负载均衡:也就是把多台服务器虚拟成一台服务器对外提供服务, 每一台服务器独立对客户请求进行回应[5],从而使大量的并发访问成为可能,提高用户访问速度。
(2)搭建流媒体平台:先使用Rtmp协议将视频流推送到服务器,然后用户进行点播,实现多个频道的实时直播。
(3)反向代理:就是将Internet用户的访问请求,转发至防火墙后的服务器,再把内网服务器的返回结果转发给Internet的请求用户[6]。对用户来说,反向代理服务器是Internet用户访问内网服务的入口,从而使内网服务器的真实信息得到隐藏,加强了服务器及服务安全性。Nginx具有web缓存功能,当用户第一次访问某个页面时将相关的css、jpg等静态文件进行缓存,之后可以直接将缓存数据发送给用户,从而降低数据库负载,减少网络延迟,提高用户访问的相应速度,增强用户体验感。Nginx还可以启用高级URL策略和管理技术,从而使处于不同web服务器的页面同时存在于同一个 URL下。总之,反向代理对外是透明的,Internet访问者并不知道自己访问的是一个代理[7]。
高校网站分三种:自行制作托管、自行制作独立运行、站点内容管理系统统一制作托管。就安全性来说,站点内容管理系统能够实现网站前后台分离,安全性最高;其次是自行制作统一托管类网站,由于网站制作技术人员水平参差不齐,代码中可能存在安全隐患;最不安全的是第二种。
对于自行制作托管网站,可以考虑归类单独放置管理,然后使用Nginx反向代理,既实现了同类网站统一域名访问,又最大程度地保障其他网站的正常运行。
另外,由于各部门工作的实际情况,财务和图书馆等部门的网站和相关系统需要单独放置,便于管理。但因为技术人员缺乏以及财力不足问题,安全防护措施不能防范到位,存在很大的安全风险。对于这种情况,使用Nginx进行反向代理,隐藏真实服务器信息,一定程度上能够保护服务器的安全。
Nginx对操作系统环境没有特定要求,可以在 windows或Linux系统进行部署。下面主要对 Nginx配置文件进行介绍,具体如下:
(1)反向代理核心配置代码
其中,proxy_pass 后面是内部服务器上网站的访问地址URL。URL后面的“/”有重要作用,加上“/”,Internet用户访问地址只是“www3.nynu.edu.cn”的绝对根路径;相反,如果没有“/”,则用户访问的URL要加上location中的匹配路径。
此外,上述设置可以读取至根目录,即使http://192.168.10.21下有多级虚拟目录,也不必一一进行配置,使用上述方法就可以实现所有子网站的访问,如:http://www3.nynu.edu.cn/file/web1可以打开。
(2)多端口配置
(3)多域名配置
(4)安全设置
为了增强网站的安全性,Nginx的配置文件中增加以下设置。
禁止使用IP地址访问:
server_name _; return 404;
禁止列出网站目录:
autoindex off;限制某些类型文件的访问权限:
限制可用的请求方法,只允许GET,HEAD和POST方法:
(5)缓存配置
为提高用户访问质量,对 Nginx缓存进行配置,缓存所用的硬盘空间40G,正常访问状态下缓存时间是3天,缓存数据5天无访问则删除。具体代码如下:
以上设置实现了Nginx反向代理功能,并进行安全配置,进一步加强了网站的安全性。部署完成之后,对使用Nginx代理的网站进行测试,所有的安全设置都全部生效。由于缓存的设置,在高并发情况下,网站的访问速度也明显提升,增强了用户访问的舒适度。
通过Nginx反向代理服务器的配置,校内网站通过Nginx进行代理,网站所属服务器信息得到很好地保护,加强了网站的安全性;通过对Nginx反向代理中安全和缓存设置,我校的网站安全性和访问速度得到很好地解决。由于技术在不断进步,要与时俱进,不断学习,加强创新,进一步加强校园网的安全。
[1] 冯贵兰,李正楠. Nginx反向代理在高校网站系统中的应用研究[J].网络安全技术与应用,2017.
[2] 刘振昌,陈诗明,焦宝臣等.高校网站安全管理模式的探索与实践[J].华东师范大学学报(自然科学版),2015.
[3] 高群凯.深入剖析 Nginx[M].人民邮电出版社,2013.
[4] 张宴.实战Nginx:取代Apache的高性能Web服务器[M].电子工业出版社,2010.
[5] 任世宗,李润知,张茜等.基于Nginx的可扩展负载均衡Web站点部署[J].中国教育网络,2014.
[6] 车树炎,黄银瑞.反向代理技术在高校网站系统中的应用研究[J].电脑编程技巧与维护,2013.
[7] 雷明彬.反向代理技术在数字化校园中的应用[J].电脑与电信,2009.
南阳师范学院青年项目(QN2015012);河南省科技攻关项目(172102310702);河南省教育厅科技研究重点项目(17A520049,17A630046)。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!