核心目标:实现服务器基础安全闭环,验证防护配置有效性适用场景:宝塔面板管理的云服务器(静态网站阶段)自查人:__________自查日期:__________
一、 防火墙端口防护(核心拦截层)
| 端口号 | 服务名称 | 配置要求 | 实际状态 | 是否达标 |
|---|---|---|---|---|
| 22 | SSH | 1. 来源 IP 仅允许本地信任 IP2. 策略:放行3. 方向:入站 | 开放 / 关闭 | □ 是 □ 否 |
| 80 | HTTP | 1. 来源 IP:所有 IP(网站访问需求)2. 策略:放行 | 开放 | □ 是 □ 否 |
| 443 | HTTPS | 1. 暂未配置 SSL:策略设为拒绝2. 配置 SSL 后:来源 IP 所有 IP,策略放行 | 关闭 / 开放 | □ 是 □ 否 |
| 8888 | 宝塔面板 | 1. 来源 IP 仅允许本地信任 IP2. (可选)修改为非默认端口(如 5xxxx) | 开放 / 端口修改 | □ 是 □ 否 |
| 20/21 | FTP | 1. 暂未使用:策略设为拒绝2. 使用时:来源 IP 限制信任 IP | 关闭 / 开放 | □ 是 □ 否 |
验证方式:Kali 执行nmap -p 22,80,443,8888 服务器IP,非信任 IP 应显示 22/8888 端口 closed
二、 SSH 服务安全加固(身份认证层)
| 配置项 | 配置要求 | 实际状态 | 是否达标 |
|---|---|---|---|
| 密钥登录 | 1. 开启 SSH 密钥登录2. 已下载密钥文件并妥善保存 | 开启 / 关闭 | □ 是 □ 否 |
| 密码登录 | 1. 禁用 SSH 密码登录2. Root 密码设为强密码(大小写 + 数字 + 特殊符号) | 禁用 / 开启 | □ 是 □ 否 |
| 登录权限 | 1. Root 密码登录设置:without-password(仅密钥登录)2. SSH 安全防护:开启 | 正确配置 / 错误配置 | □ 是 □ 否 |
验证方式:非信任 IP 尝试 SSH 连接,应提示 “Connection refused”
三、 Fail2ban 主动防护(动态拦截层)
| 防护对象 | 配置要求 | 实际状态 | 是否达标 |
|---|---|---|---|
| sshd | 1. 最大重试次数:3 次2. 周期:300 秒(5 分钟)3. 禁止时间:86400 秒(1 天) | 已创建规则 / 未创建 | □ 是 □ 否 |
| ftpd/mysql | 1. 按需创建规则(同 sshd 配置)2. 未使用服务可暂不配置 | 已创建 / 未创建 | □ 是 □ 否 |
| IP 白名单 | 1. 添加本地信任 IP,避免误封2. 白名单优先级高于黑名单 | 已添加 / 未添加 | □ 是 □ 否 |
验证方式:Kali 执行hydra -l root -P <(head -n 100 /usr/share/wordlists/rockyou.txt) -t 4 服务器IP ssh,3 次失败后 IP 应被封禁
四、 宝塔面板安全配置(管理入口层)
| 配置项 | 配置要求 | 实际状态 | 是否达标 |
|---|---|---|---|
| 面板密码 | 1. 强密码(大小写 + 数字 + 特殊符号)2. 定期更换 | 已设置 / 未设置 | □ 是 □ 否 |
| 面板端口 | 1. (可选)修改为非默认端口(如 5xxxx)2. 防火墙同步限制来源 IP | 默认端口 / 已修改 | □ 是 □ 否 |
| 端口防扫描 | 1. 开启端口防扫描功能2. 自动封禁扫描 IP | 开启 / 关闭 | □ 是 □ 否 |
五、 整体安全验证(核心闭环)
- 防火墙拦截验证:非信任 IP 扫描 22/8888 端口,显示 closed ✔️/❌
- SSH 认证验证:非信任 IP 无法 SSH 连接,信任 IP 仅能密钥登录 ✔️/❌
- Fail2ban 防护验证:暴力破解 3 次后 IP 被封禁 ✔️/❌
- 服务最小化验证:未使用端口(如 20/21/443)已关闭 ✔️/❌
六、 后续优化方向(进阶安全)
- 配置 HTTPS:申请 SSL 证书,开放 443 端口,强制跳转 HTTPS
- 加固网站目录权限:设置网站根目录为 “只读”,禁止执行权限
- 开启宝塔 Web 防火墙:拦截 SQL 注入、XSS 等 Web 攻击
- 定期备份:配置网站文件 + 数据库自动备份,存储到异地