2025年Linux系统安全加固最佳实践
一、账号与权限安全加固
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 noPubkeyAuthentication 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系统安全加固需要从账号、网络、服务、日志多维度进行防护,定期进行安全巡检和漏洞扫描,确保系统安全稳定运行。