域管理员、网站管理员、服务器管理员是三种不同权限;进来的主路是 SSH,而它天天被打——关掉密码登录是唯一能一次性解决大面积攻击的开关。
这是第七章最后一节,也是【应检查的项目】里最需要动手的一项。教材 7-13 的并列关键词是【域管理员、网站管理员、SSH】——先把称呼分清,再说怎么进来。
一、三种管理员,权限完全不同
教材里出现的好几个【管理员】是不同层级的东西,混着叫会出安全事故:
| 身份 | 管什么 |
|---|---|
| 域管理员 | 整个域的用户、密码策略、组权限 |
| 网站管理员 | 只有这个网站的内容与配置 |
| 服务器管理员 | 这台机器的全部:系统、服务、日志 |
权限从小到大的顺序是:网站管理员 < 服务器管理员 < 域管理员。
两条实践纪律:日常维护网站只需要网站管理员账号,把服务器权限交出去是常见事故源头;服务器管理员也不要直接用 root,用普通账号登录再用 sudo 提权——这样每一次提权都有日志,出事能查到人。
二、进来的通道有这几条
| 通道 | 干什么用 |
|---|---|
| SSH(22 端口) | 命令行管服务器,最标准的方式 |
| SFTP(走 22 端口) | 加密传文件;老 FTP 已被浏览器淘汰 |
| 远程桌面(3389) | Windows 服务器的图形界面 |
| 管理面板 | cPanel / Plesk 这类网页后台,改配置、装证书 |
| 云控制台 | SSH 连不上时的救急入口 |
SSH 是主路,也是唯一一个长期暴露在公网上、必须自己加固的通道。管理面板看着方便,但它本身也是一个网页应用——面板被爆破,整台机器就一起交出去了。
云控制台的【VNC / 串口登录】是个保险:SSH 配置改错、防火墙把自己挡住的时候,它是唯一还能进去的路。改 SSH 配置之前,先确认这条救急路是可用的。
三、SSH 为什么天天被打
| 现象 | 数字 |
|---|---|
| Linux 端点攻击中涉及 SSH 的比例 | 89% |
| 一台公网服务器每天被尝试登录 | 500~2000 次 |
| 单个 IP 单日最高认证尝试 | 超 14000 次 |
| 云服务器入侵中 SSH 弱口令占比 | 62.3%(连续四年第一) |
| 僵尸网络一个月拿下的机器 | 近 7000 台 |
这些攻击一点不高级:拿一份常见密码字典,对着 22 端口一直试。 有记录显示,从建立连接到完成入伙只要几秒。
所以【密码足够复杂】不是策略。 只要还允许密码登录,就存在被撞开的那一天——真正的开关是【关掉密码登录,只认密钥】。
密钥认证的原理在课程里讲过:公开密钥加密,私钥永远不离开你的电脑,服务器只存公钥。 它不像密码那样可以被猜、被撞、被钓鱼——没有私钥文件,试多少次都没用。
四、加固清单:改一遍能拦住绝大多数自动化攻击
| 设置 | 作用 |
|---|---|
| PasswordAuthentication no | 关掉密码登录,只认密钥 |
| 密钥用 Ed25519 | 比 RSA 更短更快更难破 |
| PermitRootLogin no | 禁止用 root 直连,改用 sudo |
| MaxAuthTries 3 | 一次连接最多试三次 |
| LoginGraceTime 20 | 20 秒没登进来就断开 |
| AllowUsers 白名单 | 只允许指定账号登录 |
| 改端口 | 减少扫描噪音,但不算安全措施 |
| Fail2ban 自动封禁 | 同一 IP 连错几次就临时拉黑 |
关于改端口要说明白:它不会挡住有目标的攻击者(扫一遍端口就找到了),但能过滤掉绝大多数只扫 22 端口的小僵尸,日志会干净很多。它是减噪,不是防护。
还有一条纪律,比上面所有设置都重要:改 SSH 配置前,先开第二个终端把新配置登一遍,确认能进,再关掉原来那个窗口。把自己锁在服务器外面,是这条路上最常见的翻车方式。
服务器多了之后(比如几十台),逐个分发公钥会很快失控——这时候改用 SSH 证书:由一台证书签发机给每个员工的密钥签名,服务器只信任这台签发机。离职时注销一次就行,不用挨台清理。
五、动手 Demo:把 SSH 被尝试的频率算出来
把【每天 500 到 2000 次】换算成更容易有感觉的单位。
print(" 每天 500~2000 次,每月约 %.1f 万~%.1f 万次" % (500 * 30 / 10000, 2000 * 30 / 10000))
print(" 14000 次/天 = 每 %.1f 秒一次" % (86400 / 14000))
实跑输出:
--------------------------------------------------------------------
管理员怎么进服务器——先把名字分清
--------------------------------------------------------------------
教材里出现三种【管理员】,权限范围完全不同,别混着叫:
身份 管什么
--------------------------------------------------
域管理员 整个域的用户、密码策略、组权限
网站管理员 只有这个网站的内容与配置
服务器管理员 这台机器的全部:系统、服务、日志
--------------------------------------------------
权限从小到大的顺序是:网站管理员 < 服务器管理员 < 域管理员。
日常维护网站只需要网站管理员,把服务器权限交出去是常见事故源头。
进的通道有这几条,用哪条看要干什么:
通道 干什么用
-------------------------------------------------------------------
SSH(22 端口) 命令行管服务器,最标准的方式
SFTP(走 22 端口) 加密传文件;老 FTP 已被浏览器淘汰
远程桌面(3389) Windows 服务器的图形界面
管理面板 cPanel / Plesk 这类网页后台,改配置、装证书
云控制台 SSH 连不上时的救急入口
-------------------------------------------------------------------
SSH 之所以是重点,是因为它一旦敞开在公网上,就会被当成靶子:
现象 数字
----------------------------------------------------------
Linux 端点攻击中涉及 SSH 的比例 89%
一台公网服务器每天被尝试登录 500~2000 次
单个 IP 单日最高认证尝试 超 14000 次
云服务器入侵中 SSH 弱口令占比 62.3%(连续四年第一)
僵尸网络一个月拿下的机器 近 7000 台
----------------------------------------------------------
这些攻击一点不高级:拿一份常见密码字典,对着 22 端口一直试。
有的记录里,从建立连接到完成入伙只要四秒。
所以【弱口令】三个字,就是服务器被端走的原因。
照这份清单改一遍,能拦住绝大多数自动化攻击:
设置 作用
-----------------------------------------------------------
PasswordAuthentication no 关掉密码登录,只认密钥
密钥用 Ed25519 比 RSA 更短更快更难破
PermitRootLogin no 禁止用 root 直连,改用 sudo
MaxAuthTries 3 一次连接最多试三次
LoginGraceTime 20 20 秒没登进来就断开
AllowUsers 白名单 只允许指定账号登录
改端口 减少扫描噪音,但不算安全措施
Fail2ban 自动封禁 同一 IP 连错几次就临时拉黑
-----------------------------------------------------------
最后一条纪律,比上面所有设置都重要:改 sshd 配置前,
先开第二个终端把新配置登一遍,确认能进再关掉原来那个窗口。
把自己锁在服务器外面,是这条路线上最常见的翻车方式。
看第一行:一个月 1.5 万到 6 万次。这个量级说明:只要 22 端口开着密码登录,被撞开只是时间问题。 看第二行:每 6.2 秒一次。这是单个 IP 的峰值记录——攻击是自动化的,你不主动加固,它就一直试下去。 所以那张加固清单里,性价比最高的是第一条:关掉密码登录。它一次性消灭了整个撞库攻击面,其余的设置都是补充。 最后回到开头的三种管理员:权限要给到刚好够用。 让运营用管理员账号改内容,比让所有人都拿服务器权限安全得多。
30 秒实验
- 如果你有云服务器,打开登录日志(/var/log/auth.log)看看最近的失败尝试有多少条。
- 检查你的服务器是不是还允许密码登录 SSH——如果是,今天就换成密钥。
- 数一数公司里有几个人知道服务器的 root 密码,再想想这个数字应该是一还是十几。
常见误区
- 错误:SSH 端口改掉就安全了。——纠正:改端口只减少扫描噪音。 有针对目标的攻击者扫一遍端口就能找到——真正的开关是【关掉密码登录】。
- 错误:密码设得复杂一点就够了。——纠正:撞库用的是泄漏密码库,不是猜。 只要允许密码登录,就有被撞开的可能——换成密钥,攻击面直接归零。
- 错误:管理员就是管理员,权限一样。——纠正:域管理员、服务器管理员、网站管理员是三个层级。 按需授权、日常不用最高权限,是防止【一次事故毁掉全部】的基本做法。
自测三问(点开对答案)
1. 域管理员、网站管理员、服务器管理员,权限顺序是什么? —— **网站管理员 < 服务器管理员 < 域管理员。** 日常维护网站只该用网站管理员,**服务器权限不外借。** 2. 为什么说【关掉密码登录】是最有效的一步? —— 因为**绝大多数攻击是拿泄漏密码库撞 22 端口**(SSH 占 Linux 端点攻击的 89%)。**关掉密码登录后,没有私钥文件就进不来——攻击面直接消失。** 3. 改 SSH 配置时最该防的是什么? —— **把自己锁在外面。** 改之前先开第二个终端验证新配置能登录,**并确认云控制台的救急通道可用**,再去关掉旧会话。- ☐ 下一节(8-1 Web应用后端的构成元素:MySQL、LAMP)
相关笔记
- 视频和音频文件 —— 上一节讲内容,这一节回到管服务器的人
- 运行和管理服务器(服务器、云服务、内部部署) —— 服务器的分类与部署方式
- 设置Web服务器 —— 服务器装好之后要配什么
- 虚拟的私有云 —— 安全组就是云上的那道门
- 软件漏洞的分类 —— 服务器上最常被利用的漏洞长什么样
- Web应用后端的构成元素 —— 下一章登场:检查项看完了,接下来是拿什么把它搭起来
- 🕸️ Web技术原理 · 索引