什么是中间人攻击?如何进行防范?

111 阅读2分钟

什么是中间人攻击(MITM)?

1. 定义
中间人攻击(Man-in-the-Middle Attack)是攻击者在通信双方(如用户与服务器)之间拦截、窃听或篡改数据的行为。攻击者伪装成合法通信方,获取敏感信息(如密码、银行卡号)或注入恶意内容。


2. 常见攻击手段

手段说明示例
ARP欺骗攻击者伪造局域网内设备的 MAC 地址,劫持流量。在公共 Wi-Fi 中,劫持用户与路由器的通信。
DNS劫持篡改 DNS 响应,将用户引导至恶意网站。输入 bank.com 实际访问的是攻击者的钓鱼网站。
HTTPS降级强制用户从 HTTPS 回退到 HTTP,使通信内容明文传输。工具(如 SSLStrip)劫持 HTTPS 请求,转为 HTTP。
伪造 Wi-Fi 热点创建与合法热点同名的恶意 Wi-Fi,诱导用户连接后监听数据。热点名称为 “Free Airport Wi-Fi”,用户连接后所有流量被窃取。

3. 防范措施

  • 使用 HTTPS
    确保网站全程使用 HTTPS(SSL/TLS 加密),防止数据明文传输。

    # 服务器配置强制 HTTPS(如 Nginx)  
    server {  
        listen 443 ssl;  
        ssl_certificate /path/to/cert.pem;  
        ssl_certificate_key /path/to/privkey.pem;  
    }
    
  • 启用 HSTS
    通过 HTTP 头 Strict-Transport-Security 强制浏览器只通过 HTTPS 访问,防止降级攻击。

    Strict-Transport-Security: max-age=31536000; includeSubDomains
    
  • 使用 VPN
    在公共网络下,通过 VPN 加密所有流量,避免被监听。

  • 验证证书合法性
    浏览器检查网站证书是否由可信机构颁发,警惕证书错误警告(如域名不匹配、证书过期)。

  • 避免连接不可信 Wi-Fi
    不连接无密码或名称可疑的公共 Wi-Fi,优先使用移动数据网络。

  • DNS over HTTPS(DoH)
    加密 DNS 查询,防止 DNS 劫持。
    (浏览器设置中启用 DoH)

  • 定期更新系统与软件
    修复可能被利用的安全漏洞(如 OpenSSL 漏洞)。


4. 面试回答示例
“中间人攻击是攻击者拦截或篡改用户与服务器之间的通信数据。常见手段包括 ARP 欺骗、DNS 劫持、HTTPS 降级等。防范方法包括强制使用 HTTPS、启用 HSTS、避免连接不可信 Wi-Fi,以及使用 VPN 加密流量。”


快速记忆口诀
防 MITM 四要素:

  1. HTTPS 全程加密HSTS 防降级
  2. 公共网络用 VPN警惕证书有问题
  3. DNS 加密查Wi-Fi 不乱连