利用反向提高互联网应用安全

时间:2022-06-13 02:55:53

利用反向提高互联网应用安全

摘 要 随着国家互联网+战略的不断推进,联网应用的普及程度不断提高,人们对互联网的依赖也不断加大,随之而来网络安全问题也日益凸显,本文对如何提高互联网应用安全提出了自己的看法。

【关键词】反向 安全 跨站脚本 SQL注入 拒绝服务攻击

1 概述

近年来重大网络安全事故层出不穷,如2016年全国关注的徐玉玉电信诈骗案就是由于山东高考报名系统漏洞导致考生信息泄露而引发的。这些网络安全问题大都是针对Web应用系统进行攻击,Web应用的安全漏洞导致了大量用户个人信息的泄露与财产损失。作为传统行业的邮政企业也积极进行转型发展拥抱互联网时代,通过互联网为广大群众提供各种业务服务,通过互联网进行企业宣传与内部管理,以广东邮政来说全省就有200多个应用部署在互联网上,一旦发生安全事故对邮政企业及邮政客户都会造成重大影响,加强互联网应用的安全管理刻不容缓。

2 互联网Web应用安全风险分析

根据Open Web Application Security Project(OWASP)组织的报告,Web应用程序的常见安全风险包括:

2.1 拒绝服务攻击(DDOS)

拒绝服务攻击是指导致合法用户不能正常使用网络服务,使信息或信息系统的被利用价值和服务能力下降或丧失的攻击手段。拒绝服务攻击最基本的攻击手段就是制造大量正常的请求来占用过多的服务资源,从而使广大合法用户无法得到服务;

2.2 注入(Injection)

是指攻击者通过输入恶意数据,从而达到在Web服务器环境下运行任意指令的目的,如SQL注入、SHELL注入。

2.3 跨站脚本(XSS)

当应用程序收到含有不可信的数据,在没有进行适当的验证和转义的情况下,将它发送给浏览器,导致产生跨站脚本攻击(XSS)。XSS允许攻击者在受害者的浏览器上执行脚本,从而劫持用户会话将用户转向至恶意网站。

2.4 跨站请求伪造 (CSRF)

跨站请求伪造攻击通过诱使用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到一个存在漏洞的Web应用程序,而应用程序按照用户合法请求的模式处理这些请求导致损失。

3 反向技术

反向 (Reverse Proxy) 是指以服务器来接受另一个网络的访问请求,然后将请求中转给自身所处网络上的服务器,并将从服务器上得到的结果返回给访问的客户端,这时服务器对外就表现为一个服务器。

反向通俗来说就是 Web 服务器加速,它是一种通过在繁忙的 Web 服务器和外部网络之间增加一个高速的 Web 缓冲服务器来降低实际的 Web 服务器的负载的一种技术。反向是针对 Web 服务器供加速功能,作为缓存,它并不是针对浏览器用户,而针对一台或多台特定的 Web 服务器,它可以外部网络对内部网络的访问请求。被的服务器对外部网络来说是不可见的,也无法直接访问,反向为内部的Web服务器提供了一个缓冲隔离的空间,避免了内部重要的Web服务器直接暴露在外部网络环境中,减少了这些服务器被攻击的机率。

此外反向服务器还具有内容过滤的功能可以对经过服务器的Web内容进行修改,在网页中增加或删除指定的内容,还可以分析网页内容,根据网页内容执行指定的操作。

4 反向的配置

Nginx是一个俄罗斯开发的高性能HTTP和反向服务器,在互连网公司得到了广泛应用,Nginx是插件体系结构的,通过插件模块实现功能扩展并且支持LUA脚本编程。广东邮政采用Nginx作为互联网应用的反向,通过解析访问二级域名将访问请求分发到内网的各个应用服务器上。

Nginx安装完毕后,通过修改nginx.conf 配置文件来控制Nginx的行为。针对常见的互联网安全威胁,Nginx的配置如下

4.1 限制外部请求访问频率及连接数限制

limit_req_zone $clientRealIp zone=req_one:30m rate=2r/s;

limit_conn_zone $clientRealIp zone=req_addr:10m;

limit_req_status 503;

这里的配置说明服务器将根据客户端的IP地址进行连接数及访问频率的限制,limit_req_zone参数用于限制访问频率,每个IP地址每秒只能访问2次,limit_conn_zone定义了一个连接地址地址池用于每个服务的连接数限制。

4.2 配置转发

server_name .cn;

location / { proxy_pass http://192.168.248.31:8080/;

limit_req zone=one burst=50 nodelay; limit_conn req_addr 2; }

server_name .cn;

location / { proxy_pass http://192.168.248.45:8090/;

limit_req zone=one burst=50 nodelay; limit_conn req_addr 5; }

上面的配置表示配置对域名.cn的访问请求跳转到内网192.168.248.31服务器,每个客户端IP地址同时连接数为2;对配置域名.cn的访问请求跳转到内网192.168.248.45服务器,每个客户端IP地址同时连接数为5。

4.3 配置防止跨站脚本参数

add_header X-XSS-Protection "1; mode=block";

set $block_common_status 0;

if ($query_string ~ "(|%3E)")

{ set $block_common_status 1; }

if($query_string~*".*('|--|iframe|script|alert|Webscan|style|confirm|innerhtml|innertext|class).*")

{ set $block_common_status 1; }

if ($query_string ~ "base64_(en|de)code\(.*\)")

{ set $block_common_status 1; }

if ($block_common_status = 1)

{ return 403; }

这段配置首先向浏览器发送 X-XSS-Protection头信息,目前新版本的浏览都能识别该HTTP头信息对可能存在跨站脚本的JS方法进行阻止;另外配置中利用正则表达式对客户端浏览器发送的数据进行检测,如果里面包含有XSS脚本的关键字则阻止该次访问不会把请求转发给实际的服务器,从而达到防止XSS攻击的目的。

5 结语

本文结合作者在工作中的实践探讨了提升互联网应用的一些方法和手段,但是互联网应用的安全是个综合体系,需要网络硬件、系统软件、应用软件、管理制度等多方配合,共同协作,而且互联网应用的安全形势也是在不断变化发展的,新的攻击手段不断出现,针对这些新的安全威胁我们也要不断调整应用的防护措施,确保应用的安全。

参考文献

[1]李媛,张晓梅,胡冰.Web应用的安全L险及应对措施[J].保密科学技术,2010(02).

[2]车树炎,黄银瑞.反向技术在高校网站系统中的应用研究[J].电脑编程技巧与维护,2013(02).

上一篇:基于教育信息化的公共英语课堂教学探究 下一篇:高校语言室的网络安全问题和对策