Node.js 安全清单
来源:互联网 发布:www.com域名出售 编辑:程序博客网 时间:2024/05/21 00:45
摘要: 前言 安全性,总是一个不可忽视的问题。许多人都承认这点,但是却很少有人真的认真地对待它。所以我们列出了这个清单,让你在将你的应用部署到生产环境来给千万用户使用之前,做一个安全检查。 以下列出的安全项,大多都具有普适性,适用于除了Node.js外的各种语言和框架。
前言
安全性,总是一个不可忽视的问题。许多人都承认这点,但是却很少有人真的认真地对待它。所以我们列出了这个清单,让你在将你的应用部署到生产环境来给千万用户使用之前,做一个安全检查。
以下列出的安全项,大多都具有普适性,适用于除了Node.js
外的各种语言和框架。但是,其中也包含一些用Node.js
写的小工具。
配置管理
安全性相关的HTTP头
以下是一些安全性相关的HTTP头,你的站点应该设置它们:
Strict-Transport-Security
:强制使用安全连接(SSL/TLS之上的HTTPS)来连接到服务器。X-Frame-Options
:提供对于“点击劫持”的保护。X-XSS-Protection
:开启大多现代浏览器内建的对于跨站脚本攻击(XSS)的过滤功能。X-Content-Type-Options
: 防止浏览器使用MIME-sniffing
来确定响应的类型,转而使用明确的content-type
来确定。Content-Security-Policy
:防止受到跨站脚本攻击以及其他跨站注入攻击。
在Node.js
中,这些都可以通过使用Helmet模块轻松设置完毕:
var express = require('express');
var helmet = require('helmet');
var app = express();
app.use(helmet());
Helmet
在Koa中也能使用:koa-helmet。
当然,在许多的架构中,这些头会在Web服务器(Apache,nginx)的配置中设置,而不是在应用的代码中。如果是通过nginx配置,配置文件会类似于如下例子:
# nginx.conf
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src 'self'";
完整的例子可以参考这个nginx配置。
如果你想快速确认你的网站是否都设置这些HTTP头,你可以通过这个网站在线检查:http://cyh.herokuapp.com/cyh 。
客户端的敏感数据
当部署前端应用时,确保不要在代码中暴露如密钥这样的敏感数据,这将可以被所有人看到。
现今并没有什么自动化检测它们的办法,但是还是有一些手段可以用来减少不小心将敏感数据暴露在客户端的概率:
使用
pull request
更新代码建立起
code review
机制
- Node.js 安全清单
- 必须谨记!Node.js安全开发技巧
- 必须谨记!Node.js安全开发技巧
- Node.js全局安全位置修改
- LINUX 基准安全清单
- LINUX 基准安全清单
- LINUX 基准安全清单
- 安全摄像系统清单
- 冰天雪地安全驾驶清单
- 安全测试的清单
- 安全测试:测试清单
- nodejs安全清单
- Node.js实践HTTP安全认证之一~~基本认证
- helmet是一个保护Node.JS应用的安全项目
- node.js开发的几点安全技巧
- 网站安全快速检查清单
- 网站安全快速检查清单
- win2003结构化安全清单
- CODE[VS]3020 猪八戒吃桃
- Mybatis中关于映射文件一对多,多对一的方法理解
- Linux下MySQL的备份与还原
- Selenium+Python:Web自动化测试
- ready事件和onload的区别,及$(window).load()方法
- Node.js 安全清单
- pppython tushare学习笔记API篇(3)投资参考数据
- Android M 6.0 READ_CONTACTS WRITE_CONTACTS权限问题
- vs无法生成项目
- 支付宝服务窗的简单开发体会
- PostgreSQL 9种索引的原理和应用场景
- 扒一扒那些说起来简单做着难的技术需求
- Python函数-关键字参数
- 大数据学习之路-第04天-centos防火墙操作-开启防火墙&关闭防火墙