Linux安全加固须先落实账户策略(禁用默认账户、强密码、禁root远程、登录锁定),再配置SELinux(enforcing+targeted模式),精准修复AVC拒绝日志,协同实现最小权限纵深防御。
Linux系统安全加固需从账户策略、权限控制和强制访问机制三方面入手,S
ELinux是其中关键一环,但不能替代基础账户管理。单纯开启SELinux而不规范用户权限、密码策略和登录控制,反而可能掩盖真实风险。
SELinux再严格,也无法阻止弱口令或root远程直连。加固应先完成基础账户治理:
usermod -L锁定或passwd -l锁死密码password [success=1 default=ignore] pam_pwquality.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
PermitRootLogin no,并重启sshdpam_faillock.so,5次失败后锁定300秒,记录于/var/log/faillog
SELinux不是“开就安全”,错误配置会导致服务异常甚至系统不可用。生产环境推荐使用enforcing模式配合targeted策略,而非全盘mls或strict:
sestatus 查看当前模式与策略类型setenforce 1(enforcing)或setenforce 0(permissive),仅限测试SELINUX=enforcing和SELINUXTYPE=targeted
restorecon -Rv /——它会重置所有文件上下文,可能破坏自定义服务的SELinux标签服务启动失败或功能异常时,先查/var/log/audit/audit.log或ausearch -m avc -ts recent | audit2why,定位具体拒绝原因:
semanage port -a -t http_port_t -p tcp 8080
httpd_t)是否有权读取目标文件,用ls -Z查文件上下文,用semanage fcontext -a -t httpd_sys_content_t "/srv/www(/.*)?"添加规则,再restorecon -Rv /srv/www
setsebool -P httpd_can_network_connect 1类布尔值——仅在明确需要时开启,且加-P持久化前先验证效果账户策略管“谁可以操作”,SELinux管“以什么身份能做什么”。两者叠加才能实现纵深防御:
/sbin/nologin),仅赋予所需目录的sudo命令白名单semanage user -a -R "staff_r" -r s0 bkpuser_u,使其无法进入sysadm_r等高权限角色shadow_t或admin_home_t,非default_t
ps -eZ查进程域,id -Z查用户上下文,sesearch -A -s httpd_t -t shadow_t验证是否意外允许Web进程访问密码文件
# linux
# 它会
# 重启
# 仅限
# 而非
# 使其
# 自定义
# 而不
# 所需
# 推荐使用
# ssh
# default
# var
# red
# linux系统
# ai
# 端口
# word
# 绑定