Course Code: net
Overview:

_

Course Outline:

.NET安全开发最佳实践

课程目标:

  • 了解SDL安全开发生命周期
  • 了解OWASP Top TenWeb漏洞并知道如何避免它们
  • 了解Web漏洞和安全编码实践
  • 掌握.net framework  .net core 的迁移安全编码最佳实践
  • 掌握HTTP 2.0, TLS 1.3 的实战经验

培训对象:

  • 开发工程师、测试工程师。

学时:

  • 2天,每日7小时,含一小时休息

课程安排

.NET安全开发最佳实践
时间课程内容
 

SDL软件安全开发生命周期概述

  • 软件的发展和安全问题
  • 软件安全问题产生的原因
  • 软件安全开发概念
  • SDL软件安全开发生命周期
  • 软件安全开发方法
  • 软件保障成熟度模型
  • SDL 重要性及发展
  • SDL 主要组成部分和阶段

软件安全需求

  • 安全需求分析方法
  • 安全需求来源
  • 安全需求类型及示例
  • 安全需求库建设

威胁建模

  • 威胁建模的目的与意
  • 常见威胁建模方法
  • STRIDE 威胁建模流
  • 轻量级威胁建模

安全设计

  • 安全设计基础
  • 软件安全设计原则
  • 减少软件受攻击面
  • 软件安全设计方法

安全编码

  • 软件漏洞含义及分类
  • 软件安全编码原则
  • OWASP TOP10漏洞原理及防御
  • C# 安全编码示例
  • Web 安全编码示例
  • Web应用的安全隐患--注入型隐患-案例实战
  • .net framework  .net core 的迁移安全编码最佳实践

Web安全设计之身份验证

  • 安全口令的设计原则和要求
  • 用户的双重验证机制
  • 验证码的有效使用与最佳实践
  • 统一认证入口
  • 认证模块应注意的事项
  • 用户中心与管理中心分离部署
  • 防止会话劫持和跨站请求
  • 会话固定漏洞
  • 如何实施强身份认证
  • 用户锁定策略

Web安全设计之会话管理

  • 常用的会话维持方式介绍与原理
  • 多种会话维持方式的比较
  • 会话过程中应注意事项
  • 如何检测非法会话?
  • 非法会话如何处理?
  • 会话失效机制
  • 服务端的业务流程的安全控制、顺序执行、幂等性

Web安全设计之权限管理

  • 需授权操作的权限认证
  • 授权和用户角色数据的安全存储
  • 账号与角色的最小责任授权
  • 分配最低权限的操作系统账号与数据库连接账号

 

Web安全设计之敏感数据保护

  • 如何界定敏感数据
  • 敏感数据的存放位置
  • 敏感数据的加密存储
  • 日志中敏感数据处理
  • 敏感数据的缓存
  • 敏感数据的安全传输

Web安全设计之安全审计

  • 安全与操作事件的日志记录
  • 安全日志的访问策略   
  • 日志模块对硬件资源的限制
  • 日志的存储机制和策略
  • 日志的安全备份策略

Web 安全设计之 Web Service  Rest Web Service

  • 输入参数的校验和过滤
  • 接口调用者的身份认证
  • 接口调用鉴权
  • https 安全协议
  • 客户端IP鉴权
  • 日志记录调用记录

Web安全编程之输入校验

  • 输入的有效性和合法性校验
  • http 头伪造
  • 客户端和服务端的双重校验
  • SQL注入的攻防策略
  • 禁止从客户端获取参数执行操作系统命令

Web安全编程之输出编码

  • 服务端输出到客户端前编码

Web安全编程之上传下载  

  • 上传文件类型、大小限制
  • 上传文件的重命名       
  • 敏感数据文件放置位置要求

Web安全编程之异常处理

  • 生产环境异常的友好提醒
  • 记录异常日志

Web安全编程之代码注释

  • 代码注释要求

Web安全设计之安全部署

  • Web服务器与应用服务器安全部署要求
  • Web应用根目录安装部署要求
  • 不同权限用户对同一应用系统访问策略
  • 用户访问增加安全访问控制

HTTP/2概述

  • HTTP 的演变
  • HTTP/2 的主要功能
  • HTTP/2 的性能优势
  • IIS10 上的 HTTP/2

TLS 1.3概述

  • TLS 1.3 中变化的快速概述和介绍
  • TLS 1.3部署应用实战