本文目录导读:

设备加固的规范配置需要遵循“最小权限、纵深防御、默认安全”的核心原则,具体配置方法因设备类型(服务器、网络设备、数据库、IoT终端等)而异,但通用的规范流程如下:
通用基础规范:操作系统加固(以Linux/Windows为例)
这是最基础的加固环节,适用于所有智能设备。
账户与权限管理
- 最小化服务:仅启用业务必需的服务(如 HTTP、SSH、DNS),使用
systemctl list-unit-files | grep enabled检查并关闭无关服务(如 FTP、Telnet、CUPS、蓝牙)。 - 默认账户:
- 禁用或删除
root(Linux) /Administrator(Windows) 的远程直接登录。 - 重命名
默认管理员、Guest等内置高危账户。
- 禁用或删除
- 密码策略:
- 复杂度:大写字母 + 小写字母 + 数字 + 特殊字符(≥12位)。
- 有效期:设置密码最长使用期限(如90天),并强制修改初始密码。
- 权限分离:
- 使用
sudo授权而非直接使用 root。 - 禁止使用
chmod 777,严格设置文件/目录属主和权限(如chmod 644配置,750可执行文件)。
- 使用
系统补丁与漏洞修复
- 自动更新:
- 配置官方或受信任的镜像源(Yum/Apt/Windows Update)。
- 对于关键设备(如生产服务器),建议使用灰度发布或维护窗口期安装安全补丁。
- 内核强化:
- 对Linux启用
SELinux(设置为 enforcing)或AppArmor。 - 对Windows启用
Windows Defender和Credential Guard(如支持)。
- 对Linux启用
网络与访问控制
- 防火墙配置(软件或硬件):
- 默认拒绝:仅放行业务端口(如 80/443/3306),禁止所有其他入站连接。
- 白名单:只允许特定IP/网段访问管理端口(如 SSH 22 端口改为非标端口并限制来源)。
- SSH 安全(Linux):
- 禁止密码登录,仅允许密钥认证(RSA 4096 或 Ed25519)。
- 修改默认端口(如22 → 10222+)。
- 配置空闲超时自动断开(
ClientAliveInterval 300)。
日志与审计
- 开启审计:
- Linux:安装
auditd,监控敏感文件(如/etc/passwd)和命令执行。 - Windows:启用
高级安全审核策略(如登录事件、特权使用)。
- Linux:安装
- 日志集中:将设备日志实时发送至 SIEM(安全事件管理系统)或ELK(Elasticsearch, Logstash, Kibana)。
- 日志保护:设置日志文件大小限制、轮转策略,并保护日志不被篡改。
文件系统与数据加密
- 全盘加密:对系统盘和数据盘启用 LUKS(Linux统一密钥设置)或 BitLocker(Windows)。
- 敏感数据脱敏:在配置文件、环境变量中不要明文存储密码/密钥,使用 Vault(如HashiCorp Vault)或
secrets管理工具。 - 挂载选项(Linux):对
/tmp、/var/tmp、/dev/shm等分区启用noexec、nosuid、nodev选项。
特定设备高阶加固规范
网络设备(路由器、交换机、防火墙)
- 控制平面保护:限制 SNMP(简单网络管理协议)访问(仅限管理IP),SNMP v3 加密认证。
- 管理接口:禁用 HTTP Web 管理(强制 HTTPS),关闭 Telnet。
- ACL(访问控制列表):最小化允许的协议类型,禁止非业务IP访问。
- 日志与NTP(网络时间协议):启用日志记录到远程服务器,并同步 NTP 保准时间戳。
数据库(MySQL、PostgreSQL、Oracle)
- 网络隔离:绑定数据库服务到
0.0.1(本机)或内网IP,禁止0.0.0。 - 用户与权限:
- 移除默认用户(如
test、空密码用户)。 - 使用最小权限最小化原则:给每个应用单独创建数据库用户,仅授予
SELECT/INSERT/UPDATE/DELETE等必要权限。
- 移除默认用户(如
- 连接加密:强制使用 TLS/SSL 加密客户端与服务器连接。
- 审计日志:开启
general_log(生产环境慎用影响性能)或企业版审计插件。
嵌入式/IoT 设备(摄像头、路由器、传感器)
- 固件锁定:禁用未使用的物理端口(USB、SD卡槽、JTAG调试口)。
- 自动化更新:配置 OTA(空中升级)机制,并强制升级关键安全漏洞补丁。
- 弱口令封杀:强制用户首次登录修改默认密码(如
admin:admin)。 - 物理安全:加密存储密钥(如 TPM(可信平台模块)/SE(安全元素)安全芯片),防止固件提取。
规范配置的检查与运维
配置完成后,必须通过自动化方式持续验证:
基线扫描
- 使用工具(如 OpenSCAP、CIS-CAT、Nessus)定期扫描,对照 CIS(互联网安全中心)基准(如 CIS Ubuntu 20.04 Benchmark)。
- 输出报告并整改不符合项(如密码复杂度未达标)。
渗透测试
- 每年至少做一次专业渗透测试,模拟攻击验证加固有效性。
- 关注高危漏洞(如
OpenSSH漏洞、Sudo提权漏洞)。
配置管理(CMDB)
- 所有加固操作和例外规则,应在 CMDB(配置管理数据库)或变更管理系统中备案。
- 定期清理长期未使用的跳板机、测试账户。
模板示例:一份简化的设备加固检查清单
| 检查项 | 合格标准 | 检查方法 | 示例(Linux) |
|---|---|---|---|
| 默认密码 | 已修改 | cat /etc/shadow 查看最后一次修改时间 |
要求非距离系统首次启动90天内 |
| 未使用端口 | 关闭 | ss -tuln |
禁止:25(SMTP), 514(RSH), 69(TFTP) |
| Root远程登录 | 禁止 | grep PermitRootLogin /etc/ssh/sshd_config |
值应为:no |
| 防火墙状态 | 启用并规则严格 | ufw status 或 firewall-cmd --list-all |
默认策略 deny |
| 日志审计 | 日志收集且保留 ≥ 180天 | cat /etc/audit/auditd.conf |
max_log_file_action = rotate |
| 补丁更新 | 最新季度安全补丁 | yum update --security 检查未安装 |
需有明确的补丁管理策略 |
常见误区与避坑指南
- 不要“一刀切”:比如生产环境服务器关闭 SELinux 可能会影响性能或导致应用崩溃,应先在测试环境验证。
- 最小化不等于绝对安全:加固后仍需配合入侵检测(IDS)和实时监控,一个好的加固配置能挡住90%自动化攻击,但还需要 WAF(Web应用防火墙)、主机IDS作为补充。
- 运维便利性要平衡:例如将 SSH 端口改成非标端口(如 2222)能有效阻挡自动化扫描,但需要确保运维人员能记住或通过配置管理工具(Ansible/Puppet)自动处理。
- 定期重新评估:设备软件版本迭代(如 PHP 8.2→8.3)、业务扩展都可能引入新的风险点,建议每季度或每半年重新执行一次加固检查。
设备加固的规范配置应遵循“基线化、自动化、持续化”三步走:
- 基线化:建立符合 CIS 或等保 2.0 标准的安全基线文档。
- 自动化:使用 Ansible/Puppet/SaltStack 脚本批量部署加固策略,避免人工疏漏。
- 持续化:通过 CI/CD(持续集成/持续部署)流水线或定期扫描(每天/每周)监控配置漂移(config drift),及时纠正回合规状态。
规范的核心不在于最初配置得有多严格,而在于能否长期保持配置的有效性和合规性。