# 网络安全
:是指保护计算机网络系统的硬件、软件、数据不受破坏,使其持续、可靠、安全地工作。
# 主要目标
网络完全的主要目标:
- 保密性:避免信息泄露给非授权用户。
- 完整性:
- 数据完整性:数据没有被非授权用户破坏或篡改。
- 系统完整性:系统能正常运行。
- 可用性:让系统保持正常工作,可以为用户提供服务。
- 可鉴别性:系统可以鉴别用户、进程、信息等的身份,从而控制访问权限。
- 不可否认性:信息的发送方和接收方都不能抵赖已传输的信息。
# 安全设施
# Firewall
:防火墙,安装在内部网络与外部网络之间的系统,用于保护内部网络。
- 主要功能:
- 根据 IP、Port、Protocol 以及安全策略,对内网收发的数据包进行过滤。
- 一般默认放通从内到外的流量,默认拦截从外到内的流量。
- 根据 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 地址。
# 信息安全
网络安全除了要保护计算机硬件、软件,还需要保护数据信息。
常见的攻击方式:
- 截获信息:在传输过程中截获信息,导致目标结点没有收到信息。
- 窃听信息:在传输过程中窃听信息,导致信息泄露。
- 篡改信息:在传输过程中截获信息并篡改,然后继续传输该信息。导致目标结点收到被篡改的信息。
- 伪造信息:源结点并没有发送信息,但攻击者冒充源结点发送信息给目标结点。