当前位置: 代码迷 >> Web前端 >> web软件工程师须知
  详细解决方案

web软件工程师须知

热度:235   发布时间:2012-12-24 10:43:14.0
web程序员须知

网站面临的安全问题是方方面面的,主要可概括为以下四个方面:


1)操作系统、后台数据库的安全问题


这里指操作系统和后台数据库的漏洞,配置不当,如弱口令等等,导致黑客、病毒可以利用这些缺陷对网站进行攻击。


2)Web发布系统的漏洞


Web业务常用的发布系统,如IIS、Apache等,这些系统存在的安全漏洞,给入侵者可乘之机。


3)Web应用程序的漏洞


主要指Web应用程序的编写人员,在编程的过程中没有考虑到安全的问题,使得黑客能够利用这些漏洞发起对网站的攻击,比如SQL注入、跨站脚本攻击等等。


4)自身网络的安全状况


网站服务器所处的网络安全状况也影响着网站的安全,比如网络中存在的DoS攻击等,也会影响到网站的正常运营。

?

?

?

1、SQL Injection?

?

http://en.wikipedia.org/wiki/SQL_injection

http://en.wikipedia.org/wiki/Code_injection

?

?

2、使用软件工具像crul 批量注册或其他对服务器端数据库进行修改的一些操作???

用复杂的验证码可以防止

?

3、跨站脚本攻击

跨站脚本攻击(XSS)是攻击者将恶意脚本提交到网页中,使得原本安全的网页存在恶意脚本,或者是直接添加有恶意脚本的网页并诱使用户打开,用户访问网页 后,恶意脚本就会将用户与网站的会话COOKIE及其它会话信息全部截留发送给攻击者,攻击者就可以利用用户的COOKIE正常访问网站。攻击者有时还会 将这些恶意脚本以话题的方式提交到论坛中,诱使网站管理员打开这个话题,从而获得管理员权限,控制整个网站。跨站脚本漏洞主要是由于没有对所有用户的? 输入 进行有效的验证 所造成的,它影响所有的Web应用程序框架。

?

?

?

4、DOS./DDOS攻击


DoS即Denial Of Service,拒绝服务的缩写。DoS是指利用网络协议实现的缺陷来耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使 目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。这些服务资源包括网络带宽,文件系统空间容量,开放的进程或者允 许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。

?

DDoS(Distributed Denial Of Service)又把DoS又向前发展了一大步,这种分布式拒绝服务攻击是黑客利用在已经侵入并已控制的不同的高带宽主机(可能是数百,甚至成千上万台) 上安装大量的DoS服务程序,它们等待来自中央攻击控制中心的命令,中央攻击控制中心在适时启动全体受控主机的DoS服务进程,让它们对一个特定目标发送 尽可能多的网络访问请求,形成一股DoS洪流冲击目标系统,猛烈的DoS攻击同一个网站。被攻击的目标网站会很快失去反应而不能及时处理正常的访问甚至系 统瘫痪崩溃。

?

?

5、用大Ping包搞垮对方或者塞满网络

很久以前,一部分操作系统(例如win95),不能很好处理过大的Ping包,导致出现了Ping to Death的攻击方式

随着操作系统的升级,网络带宽的升级、计算机硬件的升级,目前,大Ping包基本上没有很大的攻击效果(分布式攻击除外),如果一定要使用Ping包去攻击别的主机,除非是利用TCP/IP协议的其他特性或者网络拓扑结构的缺陷放大攻击的力度(所谓正反馈)

?

?

?

6、跨站请求伪造
  CSRF是指在页面中注入一些恶意代码或者链接──指向用户使用的其它站点,比如站点A。当用户访问被污染的页面时,如果刚好站点A仍处于有效认证期,则用户在站点A的数据就会被侵犯。解决方案:
?? protect_from_forgery :secret => "123456789012345678901234567890..."
  此代码会在非get请求中添加一个security token,如果token不一致,则请求将失败。这种方式可以有效防止CSRF,当然前提是我们正确地使用了HTTP method。


日志信息泄露
  默认情况下,Rails会把所有的请求信息都记录在日志文件中。那么攻击者就可以通过窃取日志文件,以得到一些秘密信息,比如登录密码、信用卡信息等等。解决方案:
?? filter_parameter_logging :password
  这行代码就可以过滤那些不希望被日志文件记录的信息,比如password等,从而避免通过日志来泄露敏感信息。
  Web应用还面临着很多其它安全问题,比如SQL注入,XSS等等。我们应该更多关注Web应用所面临的安全问题,并尽可能避免。何况,在Rails中要避免大多数问题,方法都很简单。

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?




  相关解决方案