Node.js 应用安全环境搭建指南
1. 基础概述
在开始保障 Node.js 应用安全之前,我们需要了解一些基础概念。Prototype 的更改会影响原型链中包含该原型的所有对象,这虽然有一定作用,但也容易造成混淆。为保持应用的稳定性和完整性,建议避免更改原始原型。
Node.js 应用以单线程运行,并在底层支持事件。同时,JavaScript 存在一些特性,如数学舍入误差和自动类型转换,可能导致难以调试的错误,我们需要对此有所警觉。
2. 遵循最小权限原则
最小权限原则(PLP)有助于我们在整个应用中设计更好的安全性。在 PLP 中,应用的每个抽象层(程序、用户、进程)仅能访问完成其任务所需的信息和资源。这样,若应用层无法访问特权资源,攻击者就难以利用它获取这些资源,从而在发生安全漏洞时限制损害。
以下是一些常见示例:
- 操作系统 :用户通常有一个用于日常操作的普通账户,当需要执行需要更高权限的操作(如安装应用)时,系统会提示输入更高权限的凭证。这种手动权限提升系统使攻击者更难在受害者机器上执行恶意程序。
- Web 应用 :服务器进程通常没有对 Web 应用目录之外的读取权限,这能防止攻击者利用服务器配置漏洞读取和修改服务器上的其他文件。
从 Web 应用的角度来看,有以下规则:
- 不要以 root 权限运行 Web 应用,应使用仅具有所需资源访问权限的受限账户。
- 数据库账户不应是 root 账户,该账户应对数据库表具有有限的权限。
- 为 Web 应用的用户分配完成其任务所需
超级会员免费看
订阅专栏 解锁全文
1274

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



