服务器被黑原因之nginx 设置漏洞

服务器的安全防护中,网站环境的搭建与安全部署也是很重要的一部分,目前大多数的服务器都使用的是nginx来搭建网站的运行环境,包括windows服务器,linux服务器都在使用,nginx的安全设置对于服务器安全起到很重要的作用。关于如何设置nginx安全,以及服务器的安全部署,我们SINE安全公司来详细的给大家介绍一下:

大部分的网站使用nginx来做负载均衡以及前端的80端口代码来进行静态html文件的访问,nginx的安全设置如果没有设置好会导致服务器安全出现问题,可能会导致服务器被入侵,以及网站被攻击。

nginx 在linux centos系统里,使用的是nginx.conf的格式文件来作为网站的配置文件,里面的配置主要是绑定域名,以及端口,指定到网站的目录地址,伪静态规则,看下图:

从上图的配置文件中,我们可以看出,nginx的内部结构很清晰,每一行代码都写的很精简,针对的功能也是唯一的,每个代码对应的指令以及作用划分的很仔细,其中server就是我们IIS配置的host地址,比如域名以及IP地址,在server的代码里写入端口,可以将网站设置成端口形式的访问。现在我们大体的了解了什么nginx,那么nginx设置不全面,会导致那些漏洞呢?

最常见的就是网站目录可以被任意的查看,也就是网站目录遍历漏洞,这个简单来说就是如果服务器里有很多网站,随便一个网站被攻击,都会导致服务器里的全部网站被攻击,因为可以跨目录的查看任意网站的程序代码。通常导致该漏洞的原因是在配置nginx的时候,有些服务器运维人员会将autoindex on;代码写入到server行里,导致发生目录遍历漏洞。如下图就是目录可以被任意的浏览,包括网站里包含了那些代码,都看的一清二楚。

nginx设置导致的URL注入漏洞,服务器里的网站在使用SSL证书,启用443端口访问网站,nginx会自动代理,并加载SSL证书,有些会设置nginx强制的跳转到https网站,使用302的协议进行强制跳转,如果技术人员设置成return 302 https://$host$uri,会导致网站存在SQL注入漏洞,$uri变量值的含义是:请求文件以及网站的路径,当nginx环境进行传递参数值的时候,可以插入恶意代码到网站中执行,并提交到数据库后端进行sql查询,注入漏洞就因此而发生,建议服务器的运维人员不要对此进行设置。

关于nginx的安全设置方面,服务器的维护人员尽量严格的进行设置,对目录的浏览权限详细的分配,对https协议访问的网站也要加强302的强制跳转参数设置,如果您对服务器安全防护方面不是太懂的话,也可以找专业的安全公司处理,国内SINE安全,绿盟,深信服,都是比较不错的安全公司。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190514A0AYJA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券