下面我给大家稍微讲讲一下几个方面的 web 安全问题与对策
1)SQL 注入挂马
2)网络带宽耗尽
3)DDOS 攻击
4)XSS Worm
5)网页被篡改
6)ARP 挂马
首先给大家介绍下 SQL 注入挂马
Web 编程门槛很低,新手很容易上路。在一段不长的时间里,新手往往就已经能够编出看来比较完美的动态网站,在功能上,老手能做到的,新手也能够做到。那么新手与老手就没区别了吗?这里面区别可就大了,只不过外行人很难一眼就看出来罢了。
相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。
目前 SQL 注入挂马的现象比较严重,我就着重讲讲 SQL 注入挂马的成因以及对策。
SQL 注入挂马的成因是程序员没有安全意识或者对安全不够了解造成的,常见的注入主要有数字型、字符型、搜索型和包含型。
对于字符型这个大家基本上都知道过滤掉单撇号了,然而过滤单撇号只对字符型有效。
那么对于数字型注入我们应该怎样防范呢,首先可以限制请求的长度。
比如 asp 中的 len () 函数 asp.net 中的 length 等等
其次可以用 cint () int.phrase () 等对传入的数据进行转换,如果不是数字就不能继续执行,还有一个办法就是对数据库账号做权限限制,这样其它的恶意 sql 语句就不会执行了。
其它的几种 sql 注入也可以依次类推,时间有限我就不多讲了
下面介绍下第二个栏目 网络带宽耗尽
有很多资源下载站,甚至是普通站点一个下载资源被提交到迅雷的数据库中,就导致大面积迅雷从该网站下载,一般普通站点也就是几兆带宽,迅雷这样一下载,网站就显得奇慢无比,甚至不能打开网站。
那么有没有好的解决方案可以防止类似事情发生呢,答案是肯定的。
首先我们可以不断变换文件 url,这个可以通过 urlrewriter 来实现,其次可以使用一些专业的软件,比如安全伞之类的,最后可以把下载资源放到 ftp 里面下载,很多 ftp 软件都有 ip 和流量限制,这样基本可以保护我们的带宽资源了。
变换文件 url 是指通过修改 urlrewriter 的 url 重写规则实现同一文件不同时间的 url 地址不一样。
DDoS 攻击又叫分布式的拒绝服务攻击
你理解了 DoS 攻击的话,它的原理就很简单。如果说计算机与网络的处理能力加大了 10 倍,用一台攻击机来攻击不再能起作用的话,攻击者使用 10 台攻击机同时攻击呢?用 100 台呢?DDoS 就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。
被 DDoS 攻击时的现象
1)被攻击主机上有大量等待的 TCP 连接
2)网络中充斥着大量的无用的数据包,源地址为假
3)制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯
4)利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求,严重时会造成系统死机。
对于这种攻击,数据量比较大的话没有很好的解决办法,即使象 baidu 这样的公司也被攻击的不能正常访问,所以大家在选在机房的时候最好能找有硬件防 DOS 设备的机房。
那么小数量的攻击我们怎么来自己解决呢?
下面我给大家介绍关于 web maxconnection 攻击的解决办法
使用 netstat -an>ip.txt
把当前的用户连接保存到 ip.txt 文件
然后提取同一 ip 连接数量比较多的 ip
这个可以用批处理实现
最后用批处理建立 ipsec 规则将这些 ip 屏蔽掉
大致是通过 netstat 找到嫌疑 IP , 然后屏蔽掉这些 IP
紧接着我们来谈谈网页被篡改
对于网页被篡改的技术和起源,这里就不多做解释了
目前市场上的网页防篡改产品很多,而且非常昂贵,大部分是政府购买。
免费的实现网页的防篡改有两种途径:
一是通过限制 IIS 用户对网页权限来实现,IIS 用户对网页文件只有读取权限。
二是通过 EQSecure 和 Mcafee 等主动防御软件的文件防御来实现
EQSecure 可以实现对指定目录的指定文件具有读写等权限,只要设置得当,效果甚至比市面上几万的网页防篡改软件都要好。
ARP 挂马我也不多讲了,基本通过 360 的 arp 防火墙就可以实现。