云端主机部署安全原则
服务器硬件实体建置安全部署 例如:安全组限制访问,端口转发限制,仅允许外网访问 Nginx 主机 IP,SSL 凭证配置
服务安装配置安全原则
服务器数字资源访问安全设置(基于 IP 与基于用户角色的权限控制) Nginx 启用 ModSecurity 建构 WAF Keepalived 搭配 Nginx 实现双机高可用,防止单点故障 例如:数据库的IP Binding。防火墙配置( ufw 在数据库服务器,以及反向代理场景的不同配置)
数据库安全原则
- 用户密码以单向哈西值存储
 - 数据库 root 权限仅局限于内网本地访问
 - 数据库副本备份
 
RESTful API安全
https://blog.techbridge.cc/2017/02/25/csrf-introduction/
- 不对外开放不安全的 API 访问权限
 - 使用 HTTPS 加密传输
 - OAuth 认证
 - 使用者提交内容过滤 ( XSS 攻击,SQL 注入攻击)
 - 限制请求并发数,以及限制用户访问请求的频率( DDoS 攻击)
 - 高度敏感性资讯访问加上简讯验证码
 - 采用 Double Submit Cookie 比对表单 csrftoken ( CSRF 攻击)
 - 重要ID不透明处理,如采用 UUID ( Path traversal 攻击 )
 
OAuth安全原则
https://www.oauth.com/oauth2-servers/scope/defining-scopes/
- redirect_uri 全路径验证
 - 状态参数 state 随时销毁
 - 获取访问 token 时,验证 client_secret
 - 回调 url 进行跳转校验 ( CSRF 攻击)
 - 采用 scope 限制用户敏感信息的访问层级
 - 采用 audience 限制准许访问 token 请求的 URLs 白名单
 - 采用 allowed_cors_origins 有条件限制防止跨原始来源资源分享( CORS )攻击
 - 采用 grant_types 限制 token 的访问资源
 - 访问 token 超时自动失效
 - 允许禁用或锁定特定 client 的 token 请求权限
 - 特定执行平台(如 Java)不在应用中植入 clent_secret
 
内容传递网路
- https://docs.microsoft.com/zh-tw/azure/architecture/best-practices/cdn
 - 使用 CDN 所提供的凭证限制访问
 - 使用 HTTPS 加密传输传递内容
 - 有条件限制防止跨原始来源资源分享( CORS )
 
监视和诊断
- https://docs.microsoft.com/zh-tw/azure/architecture/best-practices/monitoring
 - Prometheus与Prometheus-node-exporter的安装与配置
 - 入侵检测
 - IP 地址禁止
 - 访问统计
 
