您的位置:首页 > 其它

如何确保一个Web站点的安全?

2010-11-03 20:45 267 查看
记得上次面试时,面试官给我提出了这个问题,当时回答的比较迷糊,回来也查了一些相应资料,在此作个简单的总结。

但凡提到安全,就会想起安全的铁三角——CIA:

C:Confidentiality 保密性

I:Integrity 完整性

A:Availability 可用性

的却,作为Web站点,这三者缺一不可(貌似是废话)。现在的Web站点大多都是基于三层架构的:

前端页面是页面显示层,为用户提供可视化的交互接口。要求信息能够准确无误,及时的呈现给用户。这一层面体现了安全的完整性与可用性。
服务器端脚本语言可以看作是业务逻辑层,它负责处理用户提交的各个事务,负责服务器端与用户的交互。这一过程要求用户提交的请求必须是合法的,而且不能让其他非法用户知道。这一层面全部体现出了安全的CIA。
数据服务器作为数据层,在笔者看来是最重要的。它保存了整个站点的所有重要,机密信息。一旦数据层的安全防护被攻破,整个站点的安全性也就不复存在了。

那要如何确保一个Web站点的安全呢?我们先看一下一个基本的Web站点的组成:服务器(工作站),Web服务器(IIS,Apache等),数据服务器,数据服务器管理系统(MS SQL Server,MySQL,Oracle等),服务器管理员,Web站点管理员(可能与服务器管理员是同一个人),防病毒软件,入侵检测系统,防火墙,以及各种网络设备(交换机),站点文件等等。要确保一个站点的安全,每一项都是不容忽视的。

物理安全:服务器(工作站)的环境(温度,湿度,颗粒度,灰尘指数,静电指数等)是否适宜,非授权人员是否容易接触服务器、各种网络设备。

外围设备安全:入侵检测系统,防火墙等是否配置得当。

软件安全:Web服务器配置是否得当,是否及时更新补丁,防病毒软件的病毒库是否及时更新,数据库管理系统配置、用户权限分配是否合理。

管理安全:服务器管理员是否可靠,是否有相应的监管、审计部门对管理员进行监督管理。

一些前辈的Tips:

OS,各种开启的服务(尤其是Web服务)及一些相关的脚本文件需要得到及时的升级;

服务器的服务及权限最小化,禁止弱口令及共享帐号;

对于文件服务器和邮件服务器,需要对防病毒系统及时更新;

正确配置防火墙的安全策略,以达到最大限度的访问控制,及时备份、更新访问控制列表;

使用IDS,安全审计系统,日志系统,可以在入侵发生之前响应应急预案,并及时报警,也可在入侵发生后追查被攻击者利用的系统漏洞或系统弱点,攻击者的入侵路径,以及保留攻击证据,以备日后调查与分析;

条件允许的情况下,尽量将数据服务器与web服务器分离,并且限制数据服务器只能与web服务器连接;

长期动态的对安全进行监控;

对管理员后台进行严格的保护,有条件的话,应该设置为只允许特定的IP访问(例如只允许管理员网段访问)——这个要根据实际情况来看的;

条件允许的情况下,配置针对HTTP的内容过滤,过滤病毒、恶意脚本等;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: