如何保护 .NET 应用的安全?
自从 Web 应用能给访问者提供丰富的内容之后,黑客们就把目光转向任何他们能够破坏,损毁,欺骗的漏洞。通过网络浏览器提供的应用越来越多,网络罪犯们可以利用的漏洞数量也呈指数增长起来。
大多数企业都依赖于网站向客户提供内容,与客户进行互动,销售产品。因此,企业会部署一些常用的技术来处理网站的不同请求。Joomla!或 Drupal 这样的内容管理系统或许能够建立包含产品、服务以及相关内容的健壮网站。此外,企业往往会使用 Wordpress 博客或基于 phpBB 的论坛这类依靠用户产出内容的社区,给客户提供评论和讨论的反馈平台。无论规模大小,对于直接在网上销售的电商企业,ZenCart 和 Magento 都能满足他们的需求。但再加上数千个网站依赖的专有应用程序,确保网络应用程序的安全应该是任何规模的网站管理者的首要问题。
与网络应用相关的风险
网络应用程序允许访问者访问网站最重要的资源——网络服务器和数据库服务器。和任何一款软件一样,网络应用程序的开发人员在产品和功能上花费了大量时间,却很少把时间用在安全上。当然,这并不是说开发人员不关心安全问题,实际情况绝非如此。真正的原因是,一方面,开发者对安全缺乏理解。另一方面,项目经理考虑安全问题的时间太少。
不管是什么原因,应用程序往往充满了漏洞。利用这些漏洞,攻击者可以访问 Web 服务器或数据库服务器。到那时候,他们可以做的事情就多了,比如:
- 损坏网站
- 插入指向其他站点的垃圾链接
- 插入能在访客电脑里运行的恶意代码
- 插入恶意代码,窃取会话 ID(cookies)
- 盗取访问者信息和浏览习惯
- 盗取账户信息
- 盗取数据库里存储的信息
- 访问受限内容
还有更多
阻止网络应用遭受攻击
使用 OneRASP .NET 探针,可以避免许多 Web 应用威胁,因为 OneRASP .NET 探针 会监视 HTTP 流量,根据规则检查网络数据包,从而决定是允许还是拒绝协议、端口、IP地址等的访问,以此来阻止 Web 应用程序受到侵害。
作为即插即用的软件,OneRASP.NET 探针提供了最佳的开箱即用保护,能防御 DOS 攻击、跨站脚本注入、SQL 注入攻击,路径遍历和许多其他网络攻击技术。
OneRASP .NET 探针能为网络应用安全提供全面的解决方案,其原因是:
- 易于安装在 Apache 和 IIS 服务器
- 针对已知和新兴的黑客攻击有强壮的安全防护
- 最佳的预定义安全规则,用于快速防护
- 简单的接口和 API ,用于管理多台服务器
- 无需额外硬件,轻松适用不同企业规模
攻击者如何对网络应用程序发动攻击?
恶意黑客攻击网络应用程序的方法多种多样。稍微谷歌一下,就能发现常见 Web 应用程序,像 WordPress、zencart、Joomla!、Drupal 和 MediaWiki 中的大量漏洞。当然,不仅是这些应用程序中存在漏洞,很多其他网站也存在容易找到的漏洞。攻击者只要使用自动化的搜索根据,就可以准切找到哪些网站没有修复这些漏洞。
下面是最常见的攻击应用程序的方法:
- SQL 注入
- XSS(跨站脚本)
- 远程指令执行
- 路径遍历
SQL 注入
SQL 注入要想起作用,攻击者必须找到网站中允许用户输入而且不会过滤转义字符的区域。用户登录区域是常见的攻击目标,因为为了检查用户表中的证书,需要与数据库直接相连。通过注入 SQL 语句,如 `)或1 = 1--,攻击者就可以访问存储在网站数据库中的信息。当然,上面的例子只是一个相对简单的 SQL 语句。如果攻击者知道数据库中的表格结构,往往使用更加复杂的查询语句,从而得到更好的查询结果。
跨站脚本
攻击者在防护较薄弱的网页注入恶意的客户端脚本,即为跨站脚本( XSS )攻击。当这些脚本运行时,会在访问者的计算机上安装恶意软件,窃取访问者的 cookie ,或劫持访问者的会话。
远程指令执行
远程指令执行漏洞允许攻击者向应用程序传入任意指令。在严重情况下,攻击者会获得系统级的权限,从而实现远程攻击服务器,并执行任何必要的指令以达到目的。
路径遍历
路径遍历漏洞给攻击者访问受限文件、目录和指令的机会。因为存在于正常的网页文件根目录之外的,这些路径通常是无法访问的。不像前文讨论过的其他漏洞,路径遍历漏洞之所以存在是因为安全设计错误而不是编码错误。
避免攻击的需求
有了这么多在网站运行的应用程序,攻击者已经创建了自动化的工具,可以对多个安全防护不足的网站同时发动攻击。因此,恶意黑客的攻击目标不再局限于大型公司网站,较小的网站也很容易被这些自动攻击所捕获。
无论什么行业,企业规模大小,网站受到攻击之后引发的反响对任何业务来说都是毁灭性的。攻击的后续影响还包括:
- 数据被盗
- 用户账户受损
- 客户和/或访客的信任缺失
- 品牌声誉受损
- 销售收入受损
- 网站被标记为恶意站点
- 搜索引擎排名下滑
保护网站免受攻击
OneRASP .NET 探针独特的安全方法无需了解每个 Web 应用潜在的具体威胁。运行 OneRASP .NET 探针的软件会重点分析请求及其对应用产生的影响。高效的 Web 应用安全以三个强大的 Web 应用安全引擎,分别是:模式识别、会话保护和签名库。
同时,OneRASP .NET 探针采用的模式识别 Web 应用安全引擎能有效防护前文提到的攻击,以及许多其他攻击。该模式基于正则表达式,能有效且准确地识别多种应用层攻击方法。所以, OneRASP.NET 探针的误报率极低。
让 OneRASP .NET 探针与众不同的是,它不仅提供了针对 Web 应用威胁的全面保护,还是最简单易用的解决方案。
只需数十次点击,没有接受过安全培训的网站管理员也可以将 OneRASP .NET 探针运行起来。其预定义的规则集提供了开箱即用的防护,且基于浏览器的管理界面简单易用,几乎不会影响服务器或网站性能。
如今,多样化的攻击手段层出不穷,传统安全解决方案越来越难以应对网络安全攻击。OneRASP 实时应用自我保护技术,可以为软件产品提供精准的实时保护,使其免受漏洞所累。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客
如何保护 .NET 应用的安全?的更多相关文章
- 为革命保护视力 --- 给 Visual Studio 换颜色
“为革命,保护视力,预防近视,眼保健操开始......” 这个应该是最老版本的眼保健操了,你听过? 一堆废话 且不说上面这个眼保健操到底有木有用,让眼睛放松下还是很有必要的,尤其是现在天天对着不是手机 ...
- Go语言实战 - revel框架教程之CSRF(跨站请求伪造)保护
CSRF是什么?请看这篇博文“浅谈CSRF攻击方式”,说的非常清楚. 现在做网站敢不防CSRF的我猜只有两种情况,一是没什么人访问,二是局域网应用.山坡网之前属于第一种情况,哈哈,所以至今没什么问题. ...
- 用JWT来保护我们的ASP.NET Core Web API
在上一篇博客中,自己动手写了一个Middleware来处理API的授权验证,现在就采用另外一种方式来处理这个授权验证的问题,毕竟现在也 有不少开源的东西可以用,今天用的是JWT. 什么是JWT呢?JW ...
- IBatisNet -- 保护你的配置文件及映射文件信息
通常情况下我们在使用IBatisNet的时候,配置文件和映射文件都是暴露在外的,如果能进入到服务器,那么你的程序的操作数据库的SQL语句,数据库连接字符串等信息都将很轻松的被看到,这样是很危险的.然而 ...
- IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...
- 逆向工程学习第四天--Windows栈溢出保护机制(GS)原理及绕过测试
GS简介: Windows的缓冲区安全监测机制(GS)可以有效的阻止经典的BOF攻击,因为GS会在函数调用前往函数栈帧内压入一个随机数(canary),然后等函数返回前,会对canary进行核查,判断 ...
- 使用KRPano资源分析工具强力加密KRPano项目(XML防破解,切片图保护,JS反调试)
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- java-并发-保护代码块
浏览以下内容前,请点击并阅读 声明 线程经常需要协调其动作,最常用的协调方法就是保护代码块,该代码块以一个条件判断开始,当判断为true时才能开始执行. 假设一个方法guradedJoy必须等到变量j ...
- .保护Express应用程序
毫无疑问,Node.js已经变的愈加成熟,尽管这样,开发者仍然缺乏大量的安全指南.在这篇文章中,我将分享一些有关Node.js安全要点给大家,希望大家能够谨记于心. 1.避免使用Eval Eval并不 ...
- 浅谈Android应用保护(一):Android应用逆向的基本方法
对于未进行保护的Android应用,有很多方法和思路对其进行逆向分析和攻击.使用一些基本的方法,就可以打破对应用安全非常重要的机密性和完整性,实现获取其内部代码.数据,修改其代码逻辑和机制等操作.这篇 ...
随机推荐
- Android之文字点击链接
定义textView1和textView2并获得组件. String html = "<font color='red'></font>"; html += ...
- Debian8 加载NTFS 磁盘出错 解决方法
执行 ntfsfix /dev/sdb2 // sd* a代表第一块硬盘 b代表第2块硬盘 数字是分区号 执行后 就可以正常使用了.
- c# DataGridView操作
#region 操作DataGridView /// <summary> /// 初始化DataGridView属性 /// </summary> /// <param ...
- (转)Hessian(C#)介绍及使用说明
什么是Hessian? Hessian是Caucho开发的一种二进制Web Service协议.支持目前所有流行的开发平台. Hessia能干什么? hessian用来实现web服务. Hessia有 ...
- 一种简单的权限管理ER图设计
权限管理支持动态地管理用户的角色和权限.权限代表用户可以在什么对象上进行什么操作:角色是一组权限的集合. PS:当增加或删除某个用户的角色时,系统自动将该角色对应的权限(角色 -权限关联表)增加或删除 ...
- L003-oldboy-mysql-dba-lesson03
L003-oldboy-mysql-dba-lesson03 IOPS:每秒钟输入输出的数量 [root@web01 ~]# cat /proc/meminfo [root@web01 ~ ...
- CSS的引入方式
再用HTML编写的文本中,有是没能达到我们想要的效果,此时此刻我们可以用过引用CSS来控制!这不仅使得效果好而且代码层次清晰.CSS的引入方式可以分为四类: 1.链入外部样式表,就是把样式表保存为一个 ...
- 转载:邮箱正则表达式Comparing E-mail Address Validating Regular Expressions
Comparing E-mail Address Validating Regular Expressions Updated: 2/3/2012 Summary This page compares ...
- Sublime Text 3 入门(插件控制台安装)
下载地址:http://www.sublimetext.com/3 以windows 32位系统为例 直接点击Windows下载: Package Control插件控制台(有这个才可以安装插件) h ...
- JavaScript的语法要点 4 - 面向对象的基础
在传统的面向对象语言如C++.C#.Java中有类.对象.继承等概念.在JavaScript中又如何表示呢?JavaScript中没有class关键字,JavaScript中的类.对象.继承的概念是通 ...