编写安全的 Web 应用程序
在当今数字化时代,编写安全的 Web 应用程序至关重要。以下将从多个方面介绍编写安全 Web 应用的要点。
1. 最小特权设计
在设计代码时,应遵循最小特权原则。代码完成任务所需的权限不应超过必要的限度。例如,如果应用程序不需要定期执行数据库恢复操作,就不要赋予其数据库管理员权限。若只有少数任务需要更高权限,可以将这些任务分离出来,放到一个独立的实体中,比如一个单独的应用程序。同时,要尽可能在权限最低的账户下运行 Web 应用程序。
在整个组织层面,也应应用这一原则。员工不应拥有执行日常任务所不需要的资源访问权限。首席执行官也不应直接访问数据库或服务器,这并非是不信任他们,而是因为他们的访问权限可能会被外部方利用。在编写新应用程序甚至新功能的第一行代码之前完成这些步骤,从长远来看会受益匪浅。
2. 模糊安全的作用
软件安全是一场与时间的赛跑。无论你认为自己的软件有多安全,最终都取决于人员的安全性以及软件周围一切的安全性。任何安全措施最终都可能被攻破。曾经人们认为破解一个 4096 位的 RSA 密钥所需的时间比宇宙的寿命还长,但随着量子计算机的出现,情况发生了改变。这意味着每个安全措施的唯一目的是为你争取时间,增加攻击者的工作难度。
信息安全专家通常不喜欢模糊安全这种方式。本杰明·富兰克林曾说:“那些试图通过模糊来实现安全的人,既不配拥有安全,也不配拥有模糊。”虽然他可能没有精确地这样表述,但意思相近。反对模糊安全的原因在于它不能为你争取太多时间,或者说即使能争取到,也是微不足道的。专家们反对的是认为模糊本身就足够安全的观点,实际上它并不足够,而且单独使用时永远不会有效。你不应将其列为优
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



