`

做项目时需要考虑的安全性问题

 
阅读更多
在开发一个项目的时候,大家经常会忽略项目的安全性问题,有很多的安全性问题其实就是一个意识的问题,解决起来并不复杂,但是因为这些疏忽,却可能会给我们的用户带来很大的风险。下面就列举一些在做项目的时候应该考虑的一些安全性问题。

密码保存
保存密码的第一准则是不能明文保存密码,之前CSDN密码泄露一事还记忆犹新。通常的做法是对密码进行不可逆加密,加密时不要使用MD5或者SHA系列的算法加密,现在对这两个算法的破解研究工作已经有了相当的进展。推荐使用bcrypt。

CI服务器的安全性
CI服务器和Build服务器经常是攻击者最完美的跳板,这些服务器几乎拥有你系统的所有权限(代码库,各个生产环境的访问权限等等)。请确保其安全。

校验客户端安全证书的“指纹”
当使用SSL时,我们需要验证安全证书的“指纹”来确认该证书是有目标网站颁发的证书,这可以有效防止“中间人攻击”漏洞。

随机生成密码
不要对所有账户设置同一个密码,一锅端就不好了,使用密码管理软件为每一个账户生成一个独立的密码。当前比较推荐的是1Password,期待有更好的密码管理软件诞生。

使用安全系数更高的随机数生成类库
要想得到真正的随机数是很困难的,尤其是要满足安全领域的随机数标准,语言自带的一般随机数生成算法很难满足需要,所以JDK还提供了SecuredRandom这样的类,Ruby中也有SecureRandom这样的模块。

总是使用HTTPS和HSTS
如无值得信服的理由,所有的请求都应该使用加密协议

不要使用“安全问题”找回密码
一个桶能装多少水是有最短的那块木板决定的,一个安全系统的安全性也是有最薄弱的环节决定的。不要让安全问题成为你的那块短木板。

不要限制密码长度
通过密码长度来保证安全性的时代已经结束了,让用户使用"Pass Phrases"是一个不错的主意。

允许对密码或者密码短语使用更直观的复杂度控制
使用更有效,直观的方法帮助用户增加密码或者密码短语的难度。而不是简单的必须有大小写,必须超过8位等这些生硬的条件。

避免缓冲溢出
在弱类型语言中,最常见的安全性问题就是缓冲溢出,这也是最常见的一种远程攻击方法,一般有四种防范方法: * 通过操作系统使得缓冲区不可执行,从而阻止攻击者植入攻击代码。 * 写正确的代码 * 利用编译器的边界检查来实现缓冲区的保护。 * 在程序指针失效前进行完整性检查

避免注入攻击
所有的用户输入必须经过验证和清理才能传递给下游,最常见的就是SQL注入攻击

避免跨站脚本攻击
系统需要保证用户不能在页面中嵌入未经验证的信息

避免泄露信息给第三方
目前很多系统倾向于泄露信息给第三方,比方说Google,Facebook,新浪微博等等。这些第三方会窃取很多用户信息。

设置数据清理策略
只在需要数据时才保存数据,数据生命周期结束就清理掉,贼是没办法偷你没有的东西的。
5
0
分享到:
评论
2 楼 ron.luo 2014-08-24  
呵呵,有点启发。
1 楼 greatghoul 2013-04-17  
引用
CI服务器的安全性


这个以前还真没有注意过,受教了。

相关推荐

    安全性大纲模板(整套软件开发文档项目过程管理).doc

    3.1 软件生存周期各阶段对安全性要求 1 3.2 软件生存周期安全性度量方法 2 4 软件安全性大纲要求 2 4.1 考虑的主要因素: 2 4.2 主要活动项目 2 4.2.1 可行性论证 2 4.2.2 需求分析阶段 3 4.2.3 安全运行环境分析 3 ...

    论文研究-工程项目工期—成本—安全水平均衡优化研究.pdf

    目前工程项目安全性的相关研究中, 缺乏对于工期、成本等目标与安全性之间联系及相互影响的考虑。针对这一不足, 在分析每项工序持续时间、完工成本、保证性安全成本与安全水平之间关系的基础上, 通过将安全性与系统...

    数据库系统安全性分析与实现.docx

    这些因素不但会破坏数据的机密性、完整性、可用性,造成数据损坏或丢失,而且会影响数据库系统的正常运行,甚至导致数据库系统的崩溃,因此,数据库系统的安全性问题变得尤为突出,不断面临巨大的、新的挑战。...

    基于安全性考虑的网上招投标系统

    该系统的实现同一般web应用开发,要说整合SSH是一大亮点,毫无意义,大家都会这么用。该应用实现的亮点在于:利用数字证书在tomcat中实现https...至于源代码后期可能会考虑在sourceforge中将其作为开源项目供大家下载。

    论文研究 - 安全敏感项目的安全且可追溯的需求工程过程设计

    随着软件行业的不断发展,安全性在软件项目中... STREP方法不仅在需求工程阶段处理系统的安全性问题,而且使安全性需求更可追溯以在开发生命周期的后期阶段使用,因此,产生了安全的系统,这些系统也可用作客户的愿望。

    论文研究-考虑供应不确定性与需求非平稳性的项目调度与材料供应集成优化.pdf

    论文研究-考虑供应不确定性与需求非平稳性的项目调度与材料供应集成优化.pdf, 在工程建设中,项目调度与材料供应是相互关联和影响的,需要集成管理这两个决策事项.本文...

    数据库安全性设计.doc

    数据库安全性设计 数据库的共享使用是其一个重要的作用和功能,但是数据共享如果不加入一些规则和 限制会给数据库带来安全性问题。我们应该明白数据库系统中的数据共享不能是无条件 的共享。如何保护数据库防止一些...

    接触力软敏捷开发框架三年,我的一点感想.zip_cavefl5_创业_力软_快速开发平台_敏捷开发框架

    初次接触b/s型开发项目时,是在指导人员的帮助下完成的,技术上确实也学到了一些东西,但个人觉得最大的收获是在开发软件项目的过程中,自己意识上的提升,如做项目是考虑其合理性安全性以及并发性的重要性与必要性...

    大型煤制天然气项目试运行中存在的问题及应对措施

    针对位于新疆的世界规模最大的煤制天然气项目在试车过程中存在的块煤不足粉煤过剩、变换系统容量不足、气化炉夹套严重腐蚀、副产氨水品质较差和氨水过剩等问题,进行了原因分析,提出了应对措施,建议新建项目应从煤源...

    安全开发-安全编码及代码审计-李降龙.pdf

    越早考虑安全问题,解决问题所需要的成本就越低。应用系统部署后修复漏洞的成本很高,并伴随一定的业务能力损失。通过对常见的应用系统漏洞进行详细分析,给出规避安全漏洞的建议和要求,从根源上去消除应用系统的...

    SQL查询安全性及性能优化

    开发是对性能考虑不多【技术差、项目工期紧等原因没有考虑性能问题】 系统运行中,数据量扩大,访问量增多,蹩脚的SQL危害开始显露 低效SQL的危害 系统响应变慢,软件开发中的8秒定律,当打开一个软件或网页超过...

    非功能性需求,不要成为项目的坑

    比如项目要交付的时候,交互或需求不明确或者有歧义导致项目返工或延期,安全问题考虑不周导致生产环节被攻击者恶意攻击,没有考虑性能导致遇到高流量的时候就悲剧了等场景。今天的话题,我们就来聊聊《非功能性需求...

    软件项目投标技术标书模板(共133页).doc

    3.2.9 安全性和可靠性 10 3.3 质量标准与管理规范 10 3.4 本项目的建设原则 10 第4章 系统总体架构设计 10 4.1 总体设计要求 10 4.2 系统功能、框架构成设计 11 4.3 业务数据逻辑结构 11 4.4 系统网络拓扑结构 11 ...

    DefendYourCode:设计时考虑到安全性的示例代码

    保护你的代码设计时考虑了安全性的示例代码。 这是我的安全编码类的一个项目,我们必须制作一个程序来做各种事情,这些事情对各种漏洞进行防御性编码,例如缓冲区溢出、整数溢出、路径保护等。

    网络安全硬件项目建设方案.docx

    8 九、 优势分析(S) 9 十、 环境影响合理性分析 11 十一、 节能综合评价 11 十二、 质量管理 12 十三、 员工技能培训 13 十四、 项目总投资 13 总投资及构成一览表 14 十五、 资金筹措与投资计划 15 网络安全硬件...

    java编程开发社区安全模块优化管理系统的毕业设计实现.zip

    例如,您可以遵循OWASP(开放式网络应用安全项目)的建议来确保系统的安全性。 4.管理漏洞和风险:系统开发完成后,需要进行漏洞管理和风险管理。您可以利用漏洞扫描工具和风险评估工具,来发现系统中存在的漏洞和...

    大型数据中心项目技术方案.docx

    这些安全技术需要合理配置和管理,以保障数据的安全性和完整性。 能耗管理技术:大型数据中心的能耗是一个重要的问题,因此需要采用各种能耗管理技术,如节能电源、智能散热等,以降低数据中心的能耗成本。 以上是...

    水利数字化项目建设依据.docx

    水利数字化项目建设的依据主要包括以下几个方面: 政策法规:水利数字化...综上所述,水利数字化项目建设的依据是多方面的,需要在政策法规、行业标准、业务需求、技术发展趋势和安全保障等方面进行综合考虑和规划。

    Vagabond:建立在考虑安全性和隐私性的联邦社交网络上

    是一个使用ActivityPub协议构建的联合社交网络,该协议优先考虑用户隐私,安全性和自治性。 Vagabond是。 产品特点 无需电子邮件的匿名注册 每个帐户多个配置文件 临时身份掩盖了帖子的历史 加密的消息传递套件 能够...

Global site tag (gtag.js) - Google Analytics