如何保障Web服务器安全


Posted in 面试题 onMay 05, 2014
维护Web服务器安全是信息安全中最不讨好的差事之一。你需要在相冲突的角色中找到平衡,允许对网络资源的合法访问,同时阻止恶意破坏。

你甚至会考虑双重认证,例如RSA SecurID,来确保认证系统的高信任度,但是这对所有网站用户来说也许不实用,或者不划算。尽管存在这样相冲突的目标,仍有六个有助Web服务器安全的步骤。

对内部和外部应用分别使用单独的服务器

假设组织有两类独立的网络应用,面向外部用户的服务和面向内部用户的服务,要谨慎地将这些应用部署在不同的服务器上。这样做可以减少恶意用户突破外部服务器来获得对敏感的内部信息地访问。如果你没有可用的部署工具,你至少应该考虑使用技术控制(例如处理隔离),使内部和外部应用不会互相牵涉。

使用单独的开发服务器测试和调试应用软件

在单独的Web服务器上测试应用软件听起来像是常识——的确是。不幸的是,许多组织没有遵循这个基本规则,相反允许开发者在生产服务器上调试代码甚至开发新软件。这对安全和可靠性来说都很可怕。在生产服务器上测试代码会使用户遇到故障,当开发者提交未经测试易受攻击的代码时,引入安全漏洞。大多数现代版本控制系统(例如微软的Visual SourceSafe)有助于编码/测试/调试过程自动化。

审查网站活动,安全存储日志

每一个安全专业人员都知道维护服务器活动日志的重要性。由于大多数Web服务器是公开的,对所有互联网服务进行审核是很重要的。审核有助你检测和打击攻击,并且使你可以检修服务器性能故障。在高级安全环境中,确保你的日志存储在物理安全的地点——最安全的(但是最不方便的)技巧是日志一产生就打印出来,建立不能被入侵者修改的纸记录,前提是入侵者没有物理访问权限。你也许想要使用电子备份,例如登录进安全主机,用数字签名进行加密,来阻止日志被窃取和修改。

培训开发者进行可靠的安全编码

软件开发者致力于创建满足商业需求的应用软件,却常常忽略了信息安全也是重要的商业需求。作为安全专业人员,你有责任对开发者进行影响到Web服务器的安全问题的培训。你应该让开发者了解网络中的安全机制,确保他们开发的软件不会违背这些机制;还要进行概念的培训,例如内存泄漏攻击和处理隔离——这些对编码和生成安全的应用软件大有帮助。

给操作系统和Web服务器打补丁

这是另一个常识,但是当管理员因为其他任务而不堪重荷时常常忽略这一点。安全公告,像是CERT或者微软发布的公告,提醒人们软件厂商多频繁地发布某些安全漏洞的修补程序。一些工具像是微软的软件升级服务(SUS)和RedHat的升级服务有助于使这项任务自动化。总之,一旦漏洞公布,如果你不修补它,迟早会被人发现并利用。

使用应用软件扫描

如果负担地起,你也许会考虑使用应用软件扫描器来验证内部编码。像是 Watchfire公司的AppScan这样的工具有助于确保编码在生产环境里不会存在漏洞。记住,要有安全意识。设计良好的 Web服务器结构应该基于健全的安全政策。贯彻执行这六个方法会帮助你建立坚固的基础。

Tags in this post...

面试题 相关文章推荐
为什么要优先使用同步代码块而不是同步方法?
Jan 30 面试题
广州御银科技股份有限公司试卷(C++)
Nov 04 面试题
我能否用void** 指针作为参数, 使函数按引用接受一般指针
Feb 16 面试题
static全局变量与普通的全局变量有什么区别
May 27 面试题
利用指针变量实现队列的入队操作
Apr 07 面试题
南京软件公司的.net程序员笔试题
Aug 31 面试题
武汉瑞得软件笔试题
Oct 27 面试题
下列程序在32位linux或unix中的结果是什么
Jan 26 面试题
sort命令的作用和用法
Nov 04 面试题
一些Solaris面试题
Dec 22 面试题
设计模式的基本要素是什么
Apr 21 面试题
金鑫耀Java笔试题
Sep 06 面试题
介绍一下如何利用路径遍历进行攻击及如何防范
Jan 19 #面试题
SQL注入攻击的种类有哪些
Dec 30 #面试题
渗透攻击的测试步骤
Jun 07 #面试题
介绍一下木马病毒的种类
Jul 26 #面试题
什么叫做SQL注入,如何防止
Oct 04 #面试题
如何查找网页漏洞
Jun 22 #面试题
动态密码技术
Oct 18 #面试题
You might like
推荐个功能齐全的发送PHP邮件类
2007/01/03 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
2011/07/29 PHP
数组与类使用PHP的可变变量名需要的注意的问题
2013/06/20 PHP
Yii实现自动加载类地图的方法
2015/04/01 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
javascript回到顶部特效
2016/07/30 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
Python版实现微信公众号扫码登陆
2020/05/28 Javascript
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
Python根据文件名批量转移图片的方法
2018/10/21 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
什么是Smarty变量操作符?如何使用Smarty变量操作符
2014/07/18 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
非功能性需求都包括哪些方面
2013/10/29 面试题
初二生物教学反思
2014/02/03 职场文书
老同学聚会感言
2014/02/23 职场文书
活动总结书
2014/05/08 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python
Python基本知识点总结
2022/04/07 Python
vue自定义右键菜单之全局实现
2022/04/09 Vue.js
nginx配置之并发频次限制
2022/04/18 Servers
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS