如何保障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...

面试题 相关文章推荐
Java面试题及答案
Sep 08 面试题
如何获取某个日期是当月的最后一天
Dec 05 面试题
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
Jul 17 面试题
怎样声明子类
Jul 02 面试题
介绍一下sql server的安全性
Aug 10 面试题
Oracle性能调优原则
May 03 面试题
杭州联环马网络笔试题面试题
Aug 04 面试题
请解释一下webService? 如何用.net实现webService
Jun 09 面试题
override和overload的区别
Mar 09 面试题
String s = new String(“xyz”);创建了几个String Object?
Aug 05 面试题
介绍下Java中==和equals的区别
Sep 01 面试题
什么是方法的重载
Jun 24 面试题
介绍一下如何利用路径遍历进行攻击及如何防范
Jan 19 #面试题
SQL注入攻击的种类有哪些
Dec 30 #面试题
渗透攻击的测试步骤
Jun 07 #面试题
介绍一下木马病毒的种类
Jul 26 #面试题
什么叫做SQL注入,如何防止
Oct 04 #面试题
如何查找网页漏洞
Jun 22 #面试题
动态密码技术
Oct 18 #面试题
You might like
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
PHP原理之异常机制深入分析
2010/08/08 PHP
php代码收集表单内容并写入文件的代码
2012/01/29 PHP
php 启动时报错的简单解决方法
2014/01/27 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
2019/03/21 PHP
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
常用jQuery代码分享
2015/07/14 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
Avalonjs双向数据绑定与监听的实例代码
2017/06/23 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
2020/03/14 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
python批量导出导入MySQL用户的方法
2013/11/15 Python
python 中split 和 strip的实例详解
2017/07/12 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
PHP面试题附答案
2015/11/28 面试题
武汉东之林科技有限公司机试
2013/09/17 面试题
哈理工毕业生的求职信
2013/12/22 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
欠条范文
2015/07/03 职场文书
2019年个人工作总结范文
2019/03/25 职场文书
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server
python 学习GCN图卷积神经网络
2022/05/11 Python