# 网络安全建设方案4

- 网络安全体系：根据信息安全等级保护的要求，建立网络安全管理机构和岗位，制定网络安全管理制度和操作规程，实施网络安全审计和检查，提高网络安全意识和能力。
根据《信息安全等级保护基本要求》（GB/T 22239-2008），针对三级保护对象，应当建立完善的网络安全管理体系，具体包括以下几个方面：
	- 建立网络安全管理机构和岗位，明确各部门、各岗位的职责和权限，配备相应的专业人员，建立有效的沟通协调机制。
	- 制定网络安全管理制度和操作规程，包括网络安全策略、网络安全规范、网络安全培训、网络安全应急等内容，确保网络安全工作有章可循，有法可依。
	- 实施网络安全审计和检查，定期对网络系统进行自查、自评、自改，及时发现和解决存在的问题和隐患，同时接受上级主管部门或第三方机构的监督和评估。
	- 提高网络安全意识和能力，加强对网络系统使用者、管理者、维护者的培训和教育，提升他们的网络安全知识、技能和责任感，增强他们的防范意识和应对能力。
- 网络安全防护：按照功能区划分不同的子网或网段，部署访问控制设备，过滤进出网络的信息内容，监测和防御各种入侵攻击，保证网络各个部分的带宽和业务处理能力。
	- 网络安全：是指保护网络基础设施、网络运行、数据和信息等方面的安全，防范和抵御各种网络安全威胁，维护国家安全、社会稳定和公共利益。
	- 结构安全：是指保证网络的合理拓扑结构、可靠连接、高效传输和灵活扩展，实现网络的高可用性、高可靠性和高可扩展性。具体包括：
		- 保证主要网络设备的业务处理能力具备冗余空间，满足业务高峰期需要；
		- 保证网络各个部分的带宽满足业务高峰期需要；
		- 在业务终端与业务服务器之间进行路由控制建立安全的访问路径；
		- 绘制与当前运行情况相符的网络拓扑结构图；
		- 根据各部门的工作职能、重要性和所涉及信息的重要程度等因素，划分不同的子网或网段，并按照方便管理和控制的原则为各子网、网段分配地址段；
		- 避免将重要网段部署在网络边界处且直接连接外部信息系统，重要网段与其他网段之间采取可靠的技术隔离手段；
		- 按照对业务服务的重要次序来指定带宽分配优先级别，保证在网络发生拥堵的时候优先保护重要主机。
	- 访问控制：是指对进出网络或网络内部各个区域或设备的访问进行控制和管理，实现对访问者身份的鉴别、访问权限的授权、访问行为的记录和审计等功能。具体包括：
		- 在网络边界或重要区域部署访问控制设备，启用访问控制功能；
		- 能根据会话状态信息为数据流提供明确的允许/拒绝访问的能力，控制粒度为端口级；
		- 对进出网络或网络内部各个区域或设备的访问进行身份鉴别和权限验证，实现基于用户、角色、时间、位置等条件的细粒度访问控制；
		- 对进出网络或网络内部各个区域或设备的访问进行日志记录和审计，实现对访问者身份、来源、目标、时间、内容等信息的记录和分析。
	- 边界防护：是指对网络边界进行有效防护，阻止或减少外部对内部网络资源的非法访问或攻击，保护内部网络资源不受外部威胁。具体包括：
		- 在网络边界部署防火墙设备，启用防火墙功能；
		- 能根据预定义的规则或策略，对进出网络边界的数据包进行检查和过滤，实现对应用层HTTP、FTP、TELNET、SMTP、POP3等协议的过滤；
		- 能根据会话状态信息为数据流提供明确的允许/拒绝访问的能力，控制粒度为端口级；
		- 能对网络边界进行实时或定期的监测和分析，识别出潜在的安全威胁或风险，并采取相应的防御措施，如隔离、断开、重定向或报警等，减少或消除安全损害。
	- 通信保密性保护：是指保护网络中传输的数据不被窃听、截取或篡改，实现数据的机密性、完整性和可靠性。具体包括：
		- 对网络中传输的数据进行加密处理，使其不易被破解或解密；
		- 对网络中传输的数据进行数字签名或认证码处理，使其能够验证数据的来源和完整性；
		- 对网络中传输的数据进行时间戳或序列号处理，使其能够防止重放攻击或伪造攻击；
		- 对网络中传输的数据进行压缩或分片处理，使其能够提高传输效率或降低被截取的可能性。
	-	数据完整性保护：是指保护网络中存储、处理或传输的数据不被篡改、删除或损坏，实现数据的完整性、一致性和可用性。具体包括：
		- 对网络中存储、处理或传输的数据进行校验和、哈希值、认证码等处理，使其能够验证数据的完整性；
		- 对网络中存储、处理或传输的数据进行备份、冗余、容错等处理，使其能够恢复数据的可用性；
		- 对网络中存储、处理或传输的数据进行锁定、版本控制、审计追踪等处理，使其能够控制数据的修改权限和记录数据的修改历史。
	-	身份鉴别与认证管理：是指对网络中访问者或设备的身份进行鉴别和认证，实现对访问者或设备身份的确认和信任。具体包括：
		- 对网络中访问者或设备的身份进行一次性密码、动态口令、数字证书、生物特征等方式的鉴别和认证，使其能够提供足够强度的身份凭证；
		- 对网络中访问者或设备的身份进行单点登录、联合认证、双因素认证等方式的鉴别和认证，使其能够提高访问便利性和安全性；
		- 对网络中访问者或设备的身份进行过期检查、撤销管理、更新维护等方式的鉴别和认证，使其能够保持身份凭证的有效性和合法性。
	- 密钥管理与加密解密服务管理：是指对网络中使用的密钥进行生成、分发、存储、更新、销毁等管理，实现对密钥的安全保护和合理使用。具体包括：
		- 对网络中使用的密钥进行随机数生成器、密码算法等方式的生成，使其能够满足密码强度要求；
		- 对网络中使用的密钥进行公钥基础设施（PKI）、密钥交换协议等方式的分发，使其能够安全地传递给合法接收者；
		- 对网络中使用的密钥进行加密存储器、硬件安全模块（HSM）等方式的存储，使其能够防止被非法获取或泄露；
		- 对网络中使用的密钥进行定期更换、按需更新等方式的更新，使其能够避免被破解或失效。

- 主机安全防护：对应用服务器、负载均衡服务器、数据库服务器、文件服务器等进行安全加固，关闭不必要的服务和端口，设置合理的权限和密码，安装杀毒软件和补丁，定期备份数据。
	- 关闭或删除不必要的服务、进程、账号、端口等；
	- 设置强口令策略，禁用空口令或弱口令账号；
	- 安装并定期更新操作系统和应用软件的安全补丁；
	- 配置并启用防火墙规则，只允许必要的访问；
	- 配置并启用日志审计功能，记录并分析关键操作和事件；
	- 配置并启用入侵检测和防御功能，监测并阻止恶意攻击；
	- 配置并启用文件完整性检查功能，检测并修复被篡改的文件；
	- 配置并启用加密传输功能，保护数据的通信保密性。
- 应用安全防护：使用java开发的信息管理平台应遵循安全编码规范，避免出现SQL注入、跨站脚本、文件上传等常见漏洞，对用户输入和输出进行有效的验证和过滤，对敏感数据进行加密和签名。
	- 对于SQL注入防护，主要包括：
		- 使用预编译语句（PreparedStatement）或参数化查询（Parameterized Query）来拼接SQL语句，而不是直接使用字符串拼接；
		- 对用户输入的数据进行严格的校验和转义，过滤掉特殊字符和关键字；
		- 限制数据库用户的权限，避免执行不必要的操作；
		- 使用最新版本的数据库驱动和软件，及时修复已知的漏洞。
	- 对于跨站脚本防护，主要包括：
		- 对用户输入的数据进行严格的校验和转义，过滤掉HTML标签和JavaScript代码；
		- 对用户输出的数据进行编码或转义，避免在浏览器中被解析为HTML或JavaScript；
		- 使用HTTP头中的Content-Type和X-XSS-Protection来指定输出内容的类型和启用浏览器的XSS防护功能；
		- 使用HTTP头中的Content-Security-Policy来限制可执行的脚本来源和策略2。
	- 对于文件上传防护，主要包括：
		- 对上传文件的大小、类型、扩展名、内容等进行严格的校验，只允许上传符合要求的文件；
		- 对上传文件的存储路径和访问路径进行隔离，避免将文件存储在WEB目录下或可执行目录下；
		- 对上传文件的文件名进行重命名或加密，避免使用用户提供的文件名或原始文件名；
		- 对上传文件进行杀毒扫描，防止上传恶意文件。
	- 对于敏感数据加密和签名，主要包括：
		- 使用安全的加密算法和模式，如AES、RSA、SHA等，避免使用已被破解或弃用的算法，如DES、MD5等；
		- 使用足够长度的密钥和随机数，避免使用固定或可预测的密钥和随机数；
		- 使用合适的密钥管理机制，如密钥交换、密钥协商、密钥存储等，保护密钥的安全性和完整性；
		- 使用数字签名或消息认证码来保证数据的完整性和不可否认性。
- 数据安全防护：使用oracle数据库的信息管理平台应采用强密码策略，限制数据库访问权限和范围，对数据库进行定期维护和优化，使用SSL/TLS等协议保护数据传输的安全，对重要数据进行备份和恢复。
	- 对于强密码策略，主要包括：
		- 使用复杂的密码组合，包含大小写字母、数字和特殊符号，避免使用常见的单词或者与个人信息相关的内容；
		- 定期更换密码，避免使用相同或者相似的密码；
		- 限制密码重试次数，防止暴力破解；
		- 使用不同的密码管理不同的数据库账户，避免泄露一个账户影响其他账户1。
	- 对于数据库访问权限和范围，主要包括：
		- 根据最小权限原则，为不同的数据库用户分配合适的角色和权限，只允许他们访问和操作必要的数据对象；
		- 使用视图或者存储过程来限制用户对数据的直接访问，提供更细粒度的控制；
		- 使用防火墙或者网络隔离来限制数据库的访问来源和目标，只允许信任的主机或者网络进行连接；
		- 使用审计功能来记录和监控数据库的访问活动，及时发现和处理异常行为2。
	- 对于数据库维护和优化，主要包括：
		- 定期检查数据库的运行状态和性能指标，发现并解决潜在的问题；
		- 定期清理数据库中的无用或者过期的数据，释放空间和资源；
		- 定期更新数据库软件和补丁，修复已知的漏洞和错误；
		- 定期优化数据库结构和索引，提高查询效率3。
 	-	对于数据传输的安全，主要包括：
		- 使用SSL/TLS等协议来加密数据在网络中的传输，防止被窃听或者篡改；
		- 使用数字证书或者密钥来验证数据传输双方的身份，防止被伪造或者劫持；
		- 使用安全的端口和通道来传输数据，避免使用明文或者不安全的协议。
	- 对于数据备份和恢复，主要包括：
		- 定期对数据库中的重要数据进行备份，并将备份文件存储在安全的位置；
		- 定期对备份文件进行校验和测试，确保其完整性和可用性；
		- 根据不同的故障场景，制定相应的恢复策略和步骤；
		- 在发生故障时，尽快恢复数据库到正常状态，并尽量减少数据丢失。