Skip to content

🛡️ 安全基础概念 ​

安全不是一次性的"打补丁",而是一种持续的习惯。在动手配防火墙、改 SSH 之前,先建立几个核心概念,后面的操作才会知其所以然。

CIA 三要素 ​

信息安全有三大核心目标,取首字母简称 CIA:

要素含义举例
机密性 Confidentiality数据不被未授权的人看到数据库密码用环境变量存储,而非写死在代码里
完整性 Integrity数据不被未授权篡改HTTPS 中间人无法修改传输内容;Git 签名防止代码被伪造
可用性 Availability服务在需要时可以正常访问服务器宕机了,再安全也没用

一句话记忆

机密性 = 不该看的人看不了,完整性 = 不该改的人改不了,可用性 = 该用的人用得了。

三者有时会相互制约。比如为了可用性开很多端口,就增加了机密性风险——安全就是在三者之间找到平衡。

威胁模型与攻击面 ​

威胁模型回答一个问题:你在防谁?

  • 随机扫描的自动化脚本?
  • 竞争对手定向攻击?
  • 国家级的 APT(高级持续性威胁)?

威胁不同,投入不同。个人博客站和银行系统的防护策略不可能一样。

攻击面则是可以被攻击利用的入口总和:

  • 开放的端口(SSH 22、HTTP 80)
  • Web 应用的输入点(表单、API)
  • 第三方依赖(NPM 包、Python 库)
  • 人为因素(弱密码、社工钓鱼)

提示

安全加固的思路就是 缩小攻击面:不需要的端口就关掉,不给攻击者可乘之机。

纵深防御 ​

不把鸡蛋放在一个篮子里——即使某一层被突破,后面还有防线。

互联网 → 防火墙 → 反向代理 → Web 应用 → 数据库
         ↓          ↓           ↓          ↓
      端口管控   WAF 规则   输入校验    权限隔离

每一层独立防御,层层递进。攻击者过了防火墙,还有 WAF;绕过了 WAF,还要面对最小权限的数据库账号。

最小权限原则 ​

只给完成工作所必需的最小权限,多余的坚决不给。

  • 数据库给 Web 应用的账号只有 SELECT/INSERT,没有 DROP
  • 日常用普通用户,需要时 sudo,不要直接拿 root
  • nginx 跑在 www-data 用户下,不是 root

注意

用 root 跑一切是最常见的坏习惯。一旦应用被攻破,攻击者直接拿下整台服务器。

常见攻击类型概览 ​

攻击类型原理典型防御
DDoS用海量请求打满带宽或资源CDN、流量清洗、速率限制
SQL 注入在输入里拼接恶意 SQL参数化查询、ORM、输入校验
XSS在页面注入恶意脚本输出编码、CSP 头
中间人拦截/窃听通信数据HTTPS、证书校验、HSTS
暴力破解穷举密码尝试登录fail2ban、复杂密码、密钥登录
CSRF诱导用户点击触发恶意请求CSRF Token、SameSite Cookie

安全工具清单 ​

刚入门的同学,推荐了解这几款行业标准工具:

工具用途一句话介绍
nmap端口扫描发现目标开放了哪些端口和服务,渗透测试第一步
Wireshark抓包分析图形化抓包工具,能看到数据包的每一层内容
Burp SuiteWeb 安全测试HTTP 代理拦截、重放,Web 漏洞挖掘利器
Metasploit漏洞利用框架内置大量漏洞 exploit,适合在靶场练手
John the Ripper密码破解哈希破解,检测弱密码
tcpdump命令行抓包Linux 原生抓包工具,服务器上没有 GUI 时的首选

法律提醒

上述工具仅限在自己拥有或获得书面授权的系统上使用。未经授权扫描他人服务器属违法行为。

小结 ​

这一节没有一行命令,但概念比命令更重要。理解 CIA、攻击面、纵深防御和最小权限,后面每一章的操作你都能自动关联到"我在保护什么、在防谁"。

下一步,从最常见的防线开始——防火墙配置。


🎯 本章要点 ​

  • 完整性 Integrity 确保数据不被未授权篡改;机密性 = 不被未授权看到;
  • 文章中列出的常见攻击类型包含 DDoS、SQL 注入、XSS、中间人、暴力破解
  • 攻击面是可被攻击利用的入口总和,安全加固的思路就是缩小攻击面
  • nmap 是端口扫描工具
  • 纵深防御不把鸡蛋放一个篮子里——互联网→防火墙→反向代理→Web应用→数据库
加载练习题中...