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

面试题 相关文章推荐
PHP如何设置和取得Cookie值
Jun 30 面试题
List、Map、Set三个接口,存取元素时,各有什么特点?
Sep 27 面试题
几个人围成一圈的问题
Sep 26 面试题
简述你对Statement,PreparedStatement,CallableStatement的理解
Mar 25 面试题
一些高难度的SQL面试题
Nov 29 面试题
上海某公司.net方向笔试题
Sep 14 面试题
VLAN和VPN有什么区别?分别实现在OSI的第几层?
Dec 23 面试题
C#笔试题集合
Jun 21 面试题
什么是SCM(软件配置管理)
Aug 16 面试题
十一个高级MySql面试题
Oct 06 面试题
同步和异步有何异同,在什么情况下分别使用他们?
Dec 28 面试题
介绍下Java中==和equals的区别
Sep 01 面试题
介绍一下如何利用路径遍历进行攻击及如何防范
Jan 19 #面试题
SQL注入攻击的种类有哪些
Dec 30 #面试题
渗透攻击的测试步骤
Jun 07 #面试题
介绍一下木马病毒的种类
Jul 26 #面试题
什么叫做SQL注入,如何防止
Oct 04 #面试题
如何查找网页漏洞
Jun 22 #面试题
动态密码技术
Oct 18 #面试题
You might like
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
两个JavaScript jsFiddle JSBin在线调试器
2010/03/14 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
python实现用户名密码校验
2020/03/18 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
餐饮主管岗位职责
2013/12/10 职场文书
一月红领巾广播稿
2014/02/11 职场文书
致接力运动员广播稿
2014/02/17 职场文书
建筑设计专业求职自我评价
2014/03/02 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
办公室文员岗位职责
2015/02/04 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL
Python循环之while无限迭代
2022/04/30 Python