如何提升网络安全

本文所提及到的网络安全指的不仅仅是网络层(OSI模型)的安全, 主要指发布在互联网上的产品的安全。

0. 渗透测试的流程

通过渗透测试的流程, 可以对黑客的入侵有手段和步骤有所了解,
如下图:


渗透.png

1. 从宏观层面上有三个方面提升网络安全

1. 1 从源头上做到安全

  • 安全开发流程, 从源头上降低安全风险, 提高产品的安全质量。
    可以参考微软的SDL(Secure at the Source) ,分为16个阶段

1.2 发现安全问题并解决问题

通过漏扫描, 渗透测试, 代码审计等方式可以发现系统中已知的安全问题。
然后通过设计安全方案, 实施安全方案来解决。
实际过程中我们就有用深信服的硬件漏扫设备和的漏扫软件配合检测,
常用的软件有:Acunetix、nessus、Burpsuite、metasploit、nmap 等

1.3 安全的防御工作

  • 采用安全的防御设备, 比如WAF, 硬件/软件防火墙
  • 安全监控(比如web 的可用性监控, 日志的分析预警(ELK)等)

2. 怎样设计一个好的安全方案

解决方案已定要有针对性, 就是针对性由资产等级划分、威胁分析、风险分析等阶段的结果来给出的。

2.1 默认的安全策略

  • 2.1.1 白名单&黑名单
    Secure by Default 就是在做安全设计的时候牢牢记住这个原则,可以为白名单、黑名单的思想;
  • 2.1.2 最小权限原则
    比如:不要过度授权, linux 不用root权限运行程序, 数据库权限的最小化

2.2 纵深防御原则

纵深防御包含两层含义:
首先, 要在各个不同层面, 不同方面实施安全方案, 避免出现疏漏, 不同安全方案之间需要相互配合, 构成一个整体;
其次要在正确的地方做正确的事情, 就是在解决根本问题的地方实施针对性的安全方案。
一个桶最多能够装多少水, 取决与最短的那块板。

2.3 数据与代码分离的原则

建议采用ORM( Object/ Relation Mapping)框架;
程序在栈或则堆中, 将用户数据当做代码执行, 混淆了代码与数据的边界,从而导致安全问题的发生。

3. 涉及到哪些层面的安全

如下图:


Security classification.png

4. 怎样持续提升安全

  • 安全的思想
  • 安全的培训
  • 安全的运营

注:本文部分内容参考了以下书目:
吴翰清. 白帽子讲Web安全 (Kindle位置4077). 电子工业出版社出版

你可能感兴趣的:(如何提升网络安全)