news 2026/2/16 3:12:57

7. 网络安全-专栏说明

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
7. 网络安全-专栏说明

文章目录

  • 前言
  • 一、密码学基础:哈希算法(Hashing Algorithms)
    • 1. MD5 (Message Digest Algorithm 5)
    • 2. SHA (Secure Hash Algorithms)
    • 3. scrypt
    • 4. bcrypt
    • 5. 对比矩阵
  • 二、常见 Web 攻击类型与防御
    • 1. XSS(跨站脚本攻击,Cross-Site Scripting)
    • 2. CSRF(跨站请求伪造,Cross-Site Request Forgery)
    • 3. DDoS(分布式拒绝服务攻击,Distributed Denial-of-Service)
    • 4. 页面劫持(Clickjacking / UI Redress)
  • 三、Web 安全最佳实践(Security Best Practices)
    • 1. HTTPS(SSL/TLS)
    • 2. CORS(跨域资源共享)
    • 3. CSP(内容安全策略)
    • 4. OWASP Top 10(关键风险)
    • 5. SSL/TLS (Secure Sockets Layer / Transport Layer Security)
    • 6. 服务器安全(Server Security)
    • 7. API 安全最佳实践(API Security Best Practices)
  • 四、学习与工具推荐
  • 总结:安全是持续过程

前言

网络安全(Web Security)

了解MD5、SHA、scrypt、bcrypt等哈希算法hashing Algorithms,XSS、CSRF、DDoS、页面劫持等网络攻击的相关知识,
以及,熟悉基于HTTPS、CORS、CSP、OWASP Risks、SSL/TLS、Server Security等安全最佳实践API Security Best Practices‌。


Web 安全(Web Security)是现代 Web 开发不可或缺的一部分。核心知识体系,包括密码学基础、常见攻击类型以及防御性安全实践。以下是对这些内容的系统化梳理与深度解析,帮助构建清晰、实用的网络安全认知框架。


一、密码学基础:哈希算法(Hashing Algorithms)

哈希算法将任意长度的数据映射为固定长度的摘要(哈希值),并且这个过程是单向的(理论上无法从哈希值反推出原始数据)。
用于安全存储敏感信息(如密码),不可逆,且需具备抗碰撞、抗暴力破解能力。

1. MD5 (Message Digest Algorithm 5)

  • 现状:已被证明存在严重漏洞(碰撞攻击),不再推荐用于安全相关的场景(如密码存储、数字签名)。
  • 历史用途:曾广泛用于校验数据完整性、早期密码存储(现在不安全)。

2. SHA (Secure Hash Algorithms)

  • SHA-1:曾经是主流,但现在也被认为不够安全,尤其是在需要抗碰撞性的场景中,正在被淘汰。
  • SHA-2 (包括 SHA-224, SHA-256, SHA-384, SHA-512):当前广泛推荐使用的安全哈希算法族。SHA-256 和 SHA-512 是最常用的成员。
  • SHA-3:最新的 NIST 标准,设计上与 SHA-2 不同,提供了另一种选择,但目前应用不如 SHA-2 广泛。

3. scrypt

  • 类型:密钥派生函数 (KDF)。
  • 特点:特意设计得计算密集且内存密集,使得暴力破解成本非常高。常用于密码存储和加密货币挖矿。

4. bcrypt

  • 类型:基于 Blowfish 加密算法的 KDF。
  • 特点:包含盐值(Salt)以防止彩虹表攻击,并且可以通过调整轮数(Cost Factor)来增加计算难度,适应硬件发展。非常适合用于密码哈希。

5. 对比矩阵

算法特点安全性适用场景
MD5快速、128位输出❌ 已被破解(碰撞攻击)禁止用于密码存储,仅可用于校验文件完整性(非安全场景)
SHA-1160位输出❌ 不安全(Google 已实现碰撞)已淘汰
SHA-2(SHA-256/512)NIST 标准,广泛使用✅ 安全(目前无有效碰撞)数字签名、证书、HMAC
bcrypt自带 salt,可调工作因子(cost)✅✅ 强推荐用户密码存储首选
scrypt内存硬化(抗 GPU/ASIC 暴力破解)✅✅✅ 更强高安全要求场景(如加密货币、金融)
Argon22015 年密码哈希竞赛 winner✅✅✅ 最佳实践新项目首选(优于 bcrypt/scrypt)

🔐最佳实践

  • 永远不要明文存密码,也不要使用 MD5 或 SHA-1
  • 使用bcrypt/Argon2(慢速哈希函数(Password Hashing Functions)) + 随机 salt
  • 验证时比对哈希值,而非解密

二、常见 Web 攻击类型与防御

了解这些攻击有助于识别风险并采取防御措施。

1. XSS(跨站脚本攻击,Cross-Site Scripting)

  • 原理:攻击者注入恶意脚本(如<script>alert(1)</script>),注入到其他用户浏览的网页中。
  • 危害:可以窃取用户 Cookie、会话令牌,冒充用户执行操作,篡改网页内容等。
  • 类型
    • Stored XSS:恶意脚本存入数据库(如评论区)
    • Reflected XSS:通过 URL 参数反射(如搜索框未过滤)
    • DOM-based XSS:前端 JS 动态操作 DOM 引入漏洞
  • 防御
    • 输入验证和过滤、输出编码(转义 HTML Entity Encode)
    • 使用CSP(Content Security Policy内容安全策略)
    • 避免使用危险的 JavaScript 方法。如 eval,innerHTML,改用textContent
    • 设置 Cookie 的HttpOnly(防窃取)

2. CSRF(跨站请求伪造,Cross-Site Request Forgery)

  • 原理:攻击者诱导已登录用户在不知情的情况下执行非预期的操作(如转账、修改密码)。
  • 利用点: 用户浏览器会自动携带目标网站的 Cookie 发起请求。
  • 防御
    • 使用Anti-CSRF Token(同步令牌模式):表单/请求头中携带一次性 token
    • 设置 Cookie 属性SameSite=StrictLax
    • 检查Origin/RefererHeader(辅助手段)

💡 注意:JWT 存于 localStorage 时不受 CSRF 影响(因不会自动发送),但易受 XSS 窃取 → 权衡存储位置。


3. DDoS(分布式拒绝服务攻击,Distributed Denial-of-Service)

  • 原理:利用大量的受控计算机(僵尸网络)同时向目标服务器发送海量请求,耗尽服务器资源(带宽、CPU、内存、连接数),使服务不可用,无法正常响应合法用户的请求。
  • 危害:网站瘫痪、服务不可用。
  • 常见类型
    • Volume-based:UDP Flood、ICMP Flood
    • Protocol-based:SYN Flood、Ping of Death
    • Application-layer:HTTP Flood(模拟真实请求)
  • 缓解措施
    • 使用 CDN / 云防护(Cloudflare、AWS Shield)
    • 限流(Rate Limiting)
    • Web 应用防火墙(WAF)
    • 自动扩容 + 负载均衡

4. 页面劫持(Clickjacking / UI Redress)

  • 原理:用透明 iframe 覆盖在合法按钮上,诱骗用户点击。

  • 防御

    • 设置 HTTP Header:

      X-Frame-Options:DENY
    • 使用 CSP:

      Content-Security-Policy:frame-ancestors'none';

三、Web 安全最佳实践(Security Best Practices)

实施这些实践可以显著提升 Web 应用的安全性。

1. HTTPS(SSL/TLS)

  • 作用:加密传输、身份认证、防篡改。通过 SSL/TLS 协议加密 HTTP 通信,确保数据在传输过程中的机密性和完整性,防止窃听和篡改。
  • 实现:获取并部署 SSL/TLS 证书。
  • 关键配置
    • 证书由可信 CA 签发(避免自签名)
    • 定期更新证书(Let’s Encrypt 自动化)
    • 使用 TLS 1.2+(禁用 SSLv3、TLS 1.0/1.1)
    • 启用 HSTS(Strict-Transport-Security: max-age=31536000

2. CORS(跨域资源共享)

浏览器的安全机制,限制网页从不同源(域名、协议、端口)请求资源。服务器可以通过设置 CORS 头部来明确允许哪些外部源访问其资源。

  • 目的:安全地允许跨域请求(浏览器默认阻止)。
  • 安全配置原则
    • 不要设置Access-Control-Allow-Origin: *(除非公开 API)
    • 明确指定可信源:Access-Control-Allow-Origin: https://trusted.com
    • 敏感操作(如带 Cookie)需设置credentials: true+ 精确 Origin
    • 限制暴露的 Header:Access-Control-Allow-Headers

3. CSP(内容安全策略)

一个额外的安全层,用于检测和削弱某些类型的攻击,包括 XSS 和数据注入攻击。

  • 作用:防止 XSS、数据注入、非法资源加载。 限制内联脚本执行、限制外部资源加载来源,有效缓解 XSS。

  • 工作方式:通过 HTTP 头部或 标签告诉浏览器哪些动态资源(脚本、样式、图片等)是被允许加载的。

  • 示例策略

    Content-Security-Policy:default-src'self';script-src'self''unsafe-inline'https://cdn.trusted.com;img-src*;
  • 进阶:启用report-uri收集违规日志

  • 工具:使用 CSP Evaluator 检查策略


4. OWASP Top 10(关键风险)

OWASP(开放式 Web 应用程序安全项目)定期发布的十大最关键的 Web 应用程序安全风险列表(如注入、失效的身份认证、敏感数据泄露、XML 外部实体 (XXE)、不安全的反序列化等)。
为开发者和安全人员提供了权威的风险意识和优先级参考,指导安全开发和测试。

最新版(2021)重点关注:

  1. Broken Access Control(越权访问)
  2. Cryptographic Failures(加密失效,如明文密码)
  3. Injection(SQL/NoSQL/Command 注入)
  4. Insecure Design(设计缺陷)
  5. Security Misconfiguration(默认配置、错误信息泄露)
  6. Vulnerable Components(使用含漏洞的第三方库)
  7. Identification and Auth Failures(弱认证、会话管理)
  8. Software and Data Integrity Failures(CI/CD 污染)
  9. Security Logging & Monitoring Failures
  10. SSRF(服务端请求伪造)

✅ 建议:定期进行SAST/DAST 扫描,使用Dependency-Check扫描依赖漏洞。


5. SSL/TLS (Secure Sockets Layer / Transport Layer Security)

  • 意义:实现 HTTPS 的底层加密协议。TLS 是 SSL 的继任者,更安全。
  • 作用:提供加密(保密性)、数据完整性校验、服务器(有时也包括客户端)身份认证。

6. 服务器安全(Server Security)

  • 操作系统及中间件安全:及时更新补丁、最小化安装、关闭不必要的服务和端口。如,中间件(Nginx、Redis、MySQL)。
  • 防火墙配置:限制入站和出站流量。如,限制开放端口(如只开 80/443)。
  • 访问控制:强密码策略、SSH 密钥认证、最小权限原则。
  • 日志监控:记录和分析系统及应用日志,及时发现异常行为。如,异常登录、高频请求。
  • 文件权限管理:确保敏感文件和目录有正确的访问权限。如,最小权限原则:服务以非 root 用户运行。
  • 入侵检测/防御系统 (IDS/IPS)。
  • 禁用目录列表隐藏版本号(如Server: nginx→ 关闭或泛化)

7. API 安全最佳实践(API Security Best Practices)

  • 使用 HTTPS:所有 API 通信都应加密。
  • 安全标头:设置适当的 HTTP 安全头(如 HSTS, X-Content-Type-Options, X-Frame-Options)。
  • 依赖项安全:定期更新第三方库和组件,修复已知漏洞。
  • 认证与授权:正确使用 JWT/OAuth2 、 RBAC/ABAC 等机制。
  • 输入验证:严格校验所有传入 API 的数据(如 JSON Schema),防止注入攻击。
  • 速率限制(Rate Limiting) :防止滥用和 DDoS 攻击。如,暴力破解、爬虫(如 100 req/min/IP)。
  • 敏感数据脱敏:不在日志或错误信息中暴露敏感数据,传输时使用 HTTPS。如,响应中不返回密码、身份证等。
  • 审计日志:记录关键操作(谁、何时、做了什么)

四、学习与工具推荐

  • 学习资源
    • OWASP Web Security Testing Guide (WSTG)
    • PortSwigger Web Security Academy(免费实战)
  • 工具
    • Burp Suite:拦截/修改请求,测试漏洞
    • OWASP ZAP:开源渗透测试工具
    • Nmap / Nikto:服务器扫描
    • jwt.io:调试 JWT

总结:安全是持续过程

“安全不是功能,而是属性。”
—— 你需要在设计、开发、部署、运维全生命周期中嵌入安全思维。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/16 13:53:34

36、基础Web服务器与邮件服务配置指南

基础Web服务器与邮件服务配置指南 1. 配置基础Web服务器 在搭建基础Web服务器时,Apache是一个常用的选择。不过,在不同的UNIX系统中,Apache相关文件的位置可能会有所不同。例如,在FreeBSD系统中,Apache的二进制文件存放在 /usr/local/sbin 和 /usr/local/bin 目录,…

作者头像 李华
网站建设 2026/2/16 13:31:16

永磁同步电机三闭环控制Simulink仿真 电流内环 转速 位置外环 参数已经调好 原理与双闭...

永磁同步电机三闭环控制Simulink仿真 电流内环 转速 位置外环 参数已经调好 原理与双闭环类似 有资料&#xff0c;仿真最近在调永磁同步电机控制方案&#xff0c;发现三闭环控制在需要高精度定位的场景特别实用。今天就拿手头调好的Simulink模型拆解下实现套路&#xff0c;保证…

作者头像 李华
网站建设 2026/2/13 10:02:01

ISIS路由的基本配置

实验要求&#xff1a; 如图所示&#xff0c;客户网络所有路由器路由协议要求启用IS-IS&#xff0c;使全网路由可达。全部IS-IS进程号统一为100&#xff0c; 其中AR1在Area49.0001区域为DIS&#xff0c;R3与R4之间要求采用P2P网络类型&#xff0c;R5引入直连链路192.168.X.X&am…

作者头像 李华
网站建设 2026/2/16 17:29:40

Unloop:为ADHD与神经多样性人群打造的可视化模式映射工具 | ProductHunt 今日热榜 - 12月16日

今日榜单登顶产品Unloop 以 354 票登顶今日热榜&#xff01;这是一款通过可视化画布帮助ADHD与神经多样性人群映射自身思维与行为模式&#xff0c;从而打破循环、实现自我觉察的工具。本期亮点产品介绍本期 Product Hunt 热榜体现了工具类产品对“理解”与“效率”的双重追求。…

作者头像 李华
网站建设 2026/2/15 5:42:58

LED显示屏视频会议价格

LED显示屏视频会议价格解析&#xff1a;如何选择高性价比的解决方案在数字化转型加速的今天&#xff0c;LED显示屏视频会议系统已成为企业高效协作、远程沟通的核心工具。无论是跨国公司的全球战略会议&#xff0c;还是中小团队的日常项目讨论&#xff0c;一套清晰、稳定、易用…

作者头像 李华
网站建设 2026/2/16 4:32:09

Kamailio 怎样使用 STIR/SHAKEN

AI 产生的文章&#xff0c;仅供参考 Kamailio 使用 STIR/SHAKEN 的流程相对复杂&#xff0c;因为它需要与外部的 STIR/SHAKEN 服务&#xff08;例如 Secure Telephone Identity (STI) 证书颁发机构 (CA) 和验证服务&#xff09;进行集成。Kamailio 本身不执行 STIR/SHAKEN 的签…

作者头像 李华