# 网络安全

:是指保护计算机网络系统的硬件、软件、数据不受破坏,使其持续、可靠、安全地工作。

# 主要目标

网络完全的主要目标:

  • 保密性:避免信息泄露给非授权用户。
  • 完整性:
    • 数据完整性:数据没有被非授权用户破坏或篡改。
    • 系统完整性:系统能正常运行。
  • 可用性:让系统保持正常工作,可以为用户提供服务。
  • 可鉴别性:系统可以鉴别用户、进程、信息等的身份,从而控制访问权限。
  • 不可否认性:信息的发送方和接收方都不能抵赖已传输的信息。

# 安全设施

# Firewall

:防火墙,安装在内部网络与外部网络之间的系统,用于保护内部网络。

  • 主要功能:
    • 根据 IP、Port、Protocol 以及安全策略,对内网收发的数据包进行过滤。
      • 一般默认放通从内到外的流量,默认拦截从外到内的流量。
  • 常见类型:
    • 包过滤路由器:又称为屏蔽路由器,工作在网络层和传输层,通常是过滤 TCP、UDP 包。
    • 应用级网关:工作在应用层,通常是过滤 HTTP 报文。
    • 应用代理:用于代替内网主机访问外网,或代替外网主机访问内网,从而隔离内网与外网。
    • 状态监测:监测网络通信,抽取数据包进行检查。
    • 有状态防火墙(stateful firewall)
      • :能记录数据包的上下文信息,据此过滤数据包。
      • 与之相比,无状态防火墙只能根据源地址、目标地址等信息过滤数据包。
      • 假设一个主机监听 TCP 80 端口,并让有状态防火墙放通 TCP 80 端口。然后另一个主机连接到该端口,建立 TCP 连接。
        • 有状态防火墙会识别出哪些 TCP 网络包属于该 TCP 连接,放通这些网络包。即使让有状态防火墙关闭 TCP 80 端口,也不会中断该 TCP 连接,双方能继续通信。
        • UDP 是无连接的,因此有状态防火墙关闭端口之后,就不能继续通信。
      • Linux 的 iptables、firewalld 都属于有状态防火墙。

# Jump Server

:跳板机,用作登录一些主机的入口。

  • 例如:机房的大部分主机未暴露 SSH 端口到公网,从而减少安全风险。只有一个主机暴露了 SSH 端口到公网,担任跳板机。用户需要先 SSH 登录跳板机,然后才能通过内网 SSH 登录其它主机。 板机增加了一些安全措施,比如身份认证、权限限制、安全审计、记录用户操作日志,称为堡垒机。

# WAF

:Web 应用防火墙(Web Application Firewall),用于防护 Web 应用服务器。

  • 工作在应用层。
  • 原理:反向代理 Web 应用服务器,供用户访问。每收到一个 HTTP 请求都会自动检测,没有安全风险才转发给 Web 应用服务器。
  • 主要功能:
    • 检测收到的每个 HTTP 请求报文,如果发现它属于 SQL 注入、URL 扫描等攻击方式,则拒绝该 HTTP 请求。
    • 配置 IP 黑、白名单。
    • 限制每个 IP 的访问频率。
    • 识别出属于爬虫的访问行为,对这些 IP 进行限流。

# IDS

:入侵检测系统(Intrusion Detection Systems),用于嗅探数据包。用于监控网络流量,但不会进行过滤。

  • 常见的检测方式:
    • 异常检测
      • :建立一个正常网络的模型,当实际网络与正常模型的差别超过一定程度时就认为入侵发生。
      • 这样建立的模型通用性强,但建立正常模型比较麻烦,而且误报率高。
    • 误用检测
      • :建立各种入侵行为的模型,当实际网络与入侵模型的相似度超过一定程度时就认为入侵发生。
      • 这样误报率低,但建立入侵模型比较麻烦。

# IPS

:入侵防御系统(Intrusion Prevention System),工作在应用层。用于监控网络流量,并进行过滤。

  • 可以将 IDS 并联在防火墙旁边,将 IPS 串联在防火墙之后。

# 网络攻击

根据攻击目标的不同,对网络攻击分类:

  • 服务攻击:攻击的目的是使某个服务不能正常工作,又称为拒绝服务攻击。
  • 非服务攻击:与特定服务无关,比如攻击路由器,破坏整个网络。

# 网络入侵

常见的攻击方式:

  • 口令入侵:通过各种手段获取合法用户的账户和口令(即密码),比如尝试暴力破解密码、窃取用户的密码。
  • 漏洞入侵:利用系统的漏洞进行入侵。
  • 协议欺骗攻击:利用网络协议的漏洞进行入侵,比如冒充某个主机的 IP 地址。

# 信息安全

网络安全除了要保护计算机硬件、软件,还需要保护数据信息。

常见的攻击方式:

  • 截获信息:在传输过程中截获信息,导致目标结点没有收到信息。
  • 窃听信息:在传输过程中窃听信息,导致信息泄露。
  • 篡改信息:在传输过程中截获信息并篡改,然后继续传输该信息。导致目标结点收到被篡改的信息。
  • 伪造信息:源结点并没有发送信息,但攻击者冒充源结点发送信息给目标结点。