2025年Linux系统安全加固最佳实践

· 阅读约需5分钟

一、账号与权限安全加固

1. 禁用root远程登录

修改SSH配置文件/etc/ssh/sshd_config,设置PermitRootLogin no,禁止root用户直接远程登录,所有运维操作通过普通用户+sudo权限完成。

2. 密码策略强化

修改/etc/login.defs配置:

  • PASS_MAX_DAYS 90:密码最长有效期90天
  • PASS_MIN_DAYS 7:密码修改最小间隔7天
  • PASS_MIN_LEN 12:密码最小长度12位 同时启用pam_cracklib模块,强制密码复杂度要求(包含大小写、数字、特殊字符)。

3. 清理无用账号

删除系统中闲置的测试账号、共享账号,锁定长期不使用的用户:usermod -L username,禁止其登录。

二、SSH服务安全优化

1. 修改默认端口

将SSH默认22端口修改为高位端口(如22222),减少端口扫描攻击面,同时在防火墙中仅开放该端口的访问。

2. 启用密钥登录

禁用密码登录,仅允许SSH密钥认证:

  • PasswordAuthentication no
  • PubkeyAuthentication yes 所有运维人员使用RSA 4096位以上密钥进行登录。

3. 限制登录IP

通过/etc/hosts.allow/etc/hosts.deny配置SSH访问白名单,仅允许公司办公网和运维跳板机IP访问SSH服务。

三、防火墙与网络安全

1. 启用firewalld/ufw

默认拒绝所有入站流量,仅开放业务必需的端口(如80、443、业务端口),禁止不必要的端口暴露。

2. 禁用不必要的服务

关闭系统中闲置的服务,如rpcbind、nfs、telnet、ftp等,减少攻击面:systemctl disable --now servicename

3. 开启SYN洪水防护

修改内核参数/etc/sysctl.conf

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2

防范SYN洪水攻击。

四、系统与日志审计

1. 定期系统更新

配置自动安全更新,确保系统内核、软件包及时修复安全漏洞,Ubuntu可通过unattended-upgrades实现自动安全更新。

2. 启用审计日志

安装auditd服务,配置审计规则,记录关键操作(如用户登录、权限变更、文件修改),日志保留至少90天,便于安全事件溯源。

3. 关键文件完整性校验

使用AIDE或tripwire工具,对系统关键文件(/etc/passwd、/etc/shadow、/etc/ssh/*)进行完整性校验,定期检测文件是否被篡改。

五、总结

2025年网络攻击手段持续进化,Linux系统安全加固需要从账号、网络、服务、日志多维度进行防护,定期进行安全巡检和漏洞扫描,确保系统安全稳定运行。