第十六章:网络安全基础

网络安全这个话题,说实话,刚入行的时候我觉得离自己挺远的。直到有一次,我负责的一个小项目被攻击了,数据差点丢了。从那以后,我养成了一个习惯——不管项目多小,安全这根弦不能松。

今天咱们聊聊网络安全的基础。我会把对称加密、非对称加密、数字签名、证书、防火墙、VPN,还有常见的攻击手段,串起来讲。你想想看,这些知识点其实是一条逻辑链。

16.1 对称加密与非对称加密

加密这事儿,说白了就是把明文变成密文,让别人看不懂。但怎么变,就有讲究了。

16.1.1 对称加密

对称加密,就是加密和解密用同一把钥匙。就像你家的门锁,用钥匙锁上,再用同一把钥匙打开。

常见的算法有:

  • AES:目前最常用的,速度快,安全性高。我个人习惯用AES-256。
  • DES:老古董了,现在基本不用,因为密钥太短,容易被暴力破解。
  • 3DES:DES的加强版,但效率低,也被AES取代了。

对称加密的优点是快。缺点呢?密钥怎么安全地传给对方?你想想,如果密钥在传输过程中被截获,那加密就形同虚设了。

核心要点:对称加密适合大量数据的加密,但密钥分发是个大问题。

16.1.2 非对称加密

非对称加密解决了密钥分发的问题。它有一对密钥:公钥和私钥。公钥可以公开,私钥自己藏着。

举个例子:

  • 别人用你的公钥加密数据,只有你的私钥能解密。
  • 你用你的私钥签名,别人用你的公钥验证签名。

常见的算法:

  • RSA:最经典,但密钥越长,加解密越慢。
  • ECC:椭圆曲线加密,用更短的密钥达到同等安全强度。我最近的项目都在用ECC。

非对称加密的缺点是慢。所以实际应用中,我们通常混合使用:用非对称加密传输对称密钥,然后用对称密钥加密数据。

我的经验:我曾经在一个项目中,直接用RSA加密大文件,结果性能惨不忍睹。后来改成「RSA加密AES密钥,AES加密文件」,问题就解决了。

16.2 数字签名与证书

数字签名,说白了就是「电子版的手印」。它能证明两件事:

  1. 数据是谁发的(身份认证)
  2. 数据有没有被篡改(完整性)

怎么实现的?

  • 发送方用私钥对数据的哈希值加密,生成签名。
  • 接收方用发送方的公钥解密签名,得到哈希值,再对比数据的哈希值。

如果一致,说明数据是完整的,且确实是发送方发的。

16.2.1 数字证书

数字证书,就是公钥的「身份证」。它由CA(证书颁发机构)签发,里面包含了公钥、持有者信息、有效期等。

你想想,如果公钥本身是伪造的,那整个信任体系就崩塌了。所以我们需要一个可信的第三方——CA,来担保公钥的真实性。

证书的验证链是这样的:

  1. 你的浏览器内置了根证书(CA的证书)。
  2. 服务器发来它的证书,上面有CA的签名。
  3. 浏览器用根证书验证服务器证书的签名。
  4. 验证通过,说明服务器可信。

注意:千万不要随意信任自签名证书。我曾经见过有人为了省事,在内部系统用自签名证书,结果被中间人攻击了。教训深刻。

16.3 防火墙与VPN

16.3.1 防火墙

防火墙,就是网络世界的门卫。它根据规则,决定哪些数据包能进,哪些不能进。

常见的防火墙类型:

  • 包过滤防火墙:检查IP、端口、协议。简单,但容易被绕过。
  • 状态检测防火墙:跟踪连接状态,更智能。
  • 应用层防火墙:能检查应用层数据,比如HTTP请求内容。

我个人习惯,在服务器上至少配置三层防护:

  1. 云平台的安全组(网络层)
  2. 操作系统自带的iptables或firewalld
  3. 应用层的WAF(Web应用防火墙)

16.3.2 VPN

VPN,虚拟专用网络。说白了,就是在公共网络上挖一条「隧道」,让你安全地访问内部网络。

常见的VPN协议:

  • IPsec:安全,但配置复杂。
  • OpenVPN:开源,灵活,我比较喜欢用。
  • WireGuard:新秀,速度快,配置简单。最近几个项目我都换成了WireGuard。

避坑指南:我曾经配置IPsec时,因为MTU设置不对,导致某些网页打不开。折腾了两天才找到原因。嗯,细节决定成败。

16.4 常见的网络攻击

16.4.1 DDoS攻击

DDoS,分布式拒绝服务攻击。说白了,就是一群机器同时向你的服务器发请求,把服务器打趴下。

常见的DDoS类型:

  • 流量型:带宽被占满,比如UDP Flood。
  • 连接型:连接数被打满,比如SYN Flood。
  • 应用层:CPU/内存被打满,比如HTTP Flood。

怎么防御?

  • 使用CDN和云防护(比如Cloudflare、阿里云WAF)
  • 限制单个IP的连接数
  • 启用SYN Cookie
  • 做好容量规划,别等被打才想起来扩容

我的教训:有一次项目上线,没做任何DDoS防护,结果被竞争对手打了半小时,服务直接挂了。从那以后,我每个项目都会提前部署防护。

16.4.2 中间人攻击

中间人攻击,就是攻击者偷偷站在你和服务器之间,拦截、篡改数据。

常见的场景:

  • 在公共WiFi上,攻击者伪造一个热点,劫持你的流量。
  • DNS劫持,把你引导到钓鱼网站。

怎么防范?

  • 使用HTTPS,确保证书有效。
  • 不要随意连接公共WiFi,尤其是没有密码的那种。
  • 启用HSTS,强制浏览器使用HTTPS。

核心原则:永远不要信任网络,永远要验证身份。

16.5 知识体系图

下面这张图,把本章的核心知识点串起来了。你可以看到,从加密到签名,从防火墙到VPN,再到攻击与防御,其实是一条完整的链路。

网络安全基础 - 知识体系 加密技术 对称加密(AES) | 非对称加密(RSA/ECC) 身份认证 数字签名 | 数字证书(CA) 网络防护 防火墙(包过滤/状态检测/应用层) 安全通信 VPN(IPsec/OpenVPN/WireGuard) 常见攻击与防御 DDoS(流量/连接/应用层) | 中间人攻击(HTTPS/HSTS) 核心原则:加密 + 认证 + 防护 = 安全

你看,从加密到签名,从防火墙到VPN,再到攻击与防御,其实是一个完整的闭环。理解了这条链路,你就能构建一个相对安全的网络环境。

最后说一句:安全没有银弹。没有绝对的安全,只有相对的安全。我的建议是,根据你的业务场景,选择合适的安全策略,别过度,也别忽视。