Linux进阶——系统安全,重要文件,加固系统的相关配置_安全加固需要配置的文件有如下几个


Linux系统安全

一、重要文件

/etc/passwd                #记录本地用户的属性信息,如UID、GID
/etc/shadow                #存放用户的口令信息 只有系统管理员能查看
/etc/pam.d/system-auth     #账户安全配置文件
/etc/login.defs            #修改登录的配置文件
/etc/profile            #Linux全局变量信息
/etc/ssh/sshd_config    #ssh服务配置文件
/etc/hosts.allow 与 /etc/hosts.deny        #控制外部主机对本机服务的访问

二、帐户口令

  1. 删除不需要的用户与组,锁定暂时不需要的用户。
 userdel 用户         #删除用户 
 groupdel 用户组    #删除用户组 
 passwd -l 用户名    #锁定不必要的用户 
 passwd -u 用户名    #解锁需要恢复的用户

  1. 检查非root账号uid是否为0。
 awk -F: '($3 == 0) { print $1 }' /etc/passwd

  1. 检查是否有空口令账号。
 awk -F: '($2 == "") { print $1 }' /etc/shadow

  1. 设置口令策略。
 1.修改 /etc/login.defs 
 PASS\_MIN\_LEN 12         #最小密码长度设置为12位 
 PASS\_MAX\_DAYS 90        #设置用户的密码最长使用天数 
 
 2.修改 /etc/pam.d/system-auth passwd requisite pam_cracklib.so retry=5 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 
 上述命令意义: 
 retry=5         #尝试次数:5 
 difok=3           #最少不同字符:3     
 ucredit=-1        #最少大写字母:1 
 lcredit=-1        #最少小写字母:1 
 dcredit=-1        #最少数字:1

  1. 配置帐户认证失败锁定。
#修改 /etc/pam.d/system-auth                                                 
auth required pam.tally.so  onerr=
<think>嗯,用户这次提出了一个非常专业的Linux安全议题,明显是系统安全领域的从业者或资深爱好者。从ta追问的深度来看,应该已经具备Linux基础权限模型的知识,现在更关注现代环境下的攻防对抗层面。用户提到的几个关键词很有意思:SUID/SGID滥用、syscall加固、日志安全,这三者恰好构成纵深防御的三个层次——权限边界控制、行为控制、审计追踪。需要特别注意用户引用的三个资料中提到的细节:包括UID≥65534的隐蔽技巧、SELinux对root的限制、实时监控矩阵等实践方案。上次讨论快速排序时用户就表现出对原理和优化并重的倾向,这次回复应该保持同样风格:既要讲清楚DAC模型的技术缺陷(比如passwd文件篡改案例),又要给出可落地的加固方案(如Landlock的实际配置示例)。特别要注意用户提到的日志完整性保护,这是企业环境最易忽视的环节。技术难点在于平衡深度和可读性:比如解释seccomp的BPF过滤机制时,可能需要用C代码片段展示规则,但又要避免让用户陷入语法细节。另外用户提到的journald安全配置是个容易踩坑的点,需要明确标注哪些配置项会影响性能。从攻防对抗角度,应该补充两个维度:1)攻击者视角的规避手段(如动态生成用户绕过检测)2)防御方的自动化响应流程。用户提供的引用[2]里SOAR示例很实用,可以转化为具体的命令行操作。</think> Linux的自主访问控制(DAC)权限模型在应对现代安全威胁时存在显著缺陷,以下是系统性分析及改进方案: --- ### **一、DAC模型的根本缺陷** 1. **权限边界模糊** - **SUID/SGID滥用**:`$ chmod u+s /path/to/bin` 赋予普通程序root权限,成为提权跳板(如`passwd`被篡改后窃取密码)[^1] - **所有权控制薄弱**:用户可任意修改自有文件权限(`$ chmod 777 file`),导致敏感数据泄露 2. **横向权限扩散** - 组权限(GID)粒度粗糙,无法实现进程级隔离 - 示例:Web服务用户`www-data`被攻破 ⇒ 同组所有资源沦陷 3. **特权进程失控** - Root权限无约束:一旦获取root即掌控全系统[^3] - CAPABILITY逃逸:`$ setcap cap_net_raw+ep /bin/ping` 可能被用于网络嗅探 --- ### **二、纵深防御改进方案** #### **(1) 最小权限原则** | **技术** | **实施方式** | **防护场景** | |----------------|-----------------------------------------------------------------------------|--------------------------| | **能力机制** | `$ setcap cap_dac_override+p /usr/bin/backup` 替代SUID | 仅授权需超越DAC的特定能力 | | **沙盒容器** | `$ firejail --caps.drop=all --net=none /opt/app` | 限制网络/文件系统访问 | | **Namespaces** | `$ unshare -p -f --mount-proc /bin/bash` | 隔离进程树/挂载点 | #### **(2) Syscall层加固** ```c // Seccomp BPF过滤规则示例:仅允许基础syscall struct scmp_filter_ctx ctx = seccomp_init(SCMP_ACT_KILL); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(read), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(write), 0); seccomp_load(ctx); ``` - **Landlock进阶控制**: ```c struct landlock_ruleset_attr attr = { .handled_access_fs = LANDLOCK_ACCESS_FS_EXECUTE }; int ruleset_fd = landlock_create_ruleset(&attr, sizeof(attr), 0); // 限制文件执行操作 ``` #### **(3) 日志安全增强 **Journald安全配置** (`/etc/systemd/journald.conf`): ```ini [Journal] Seal=yes # 启用TAMPER-SEALING Storage=persistent # 确保持久化存储 ForwardToSyslog=no # 避免明文传输风险 ``` **完整性保护关键措施**: 1. **日志签名**:`$ journalctl --setup-keys` + `--sign` 生成Ed25519签名 2. **只读存储**:挂载日志目录为`ro,noexec,nosuid` 3. **远程传输加密**:`systemd-journal-upload -u https://logserver:19532` 使用TLS --- ### **三、防御体系集成** 1. **SELinux强制访问控制(MAC)**[^3] - 定义域-类型强制策略:`allow httpd_t var_log_t:file { append };` - 阻止DAC的越权行为(即使进程uid=0) 2. **实时监控矩阵** ```bash # Auditd规则:监控passwd变更 -w /etc/passwd -p wa -k identity_mod # 检测SUID滥用 -a always,exit -F arch=b64 -S execve -F "a0&01000" -F auid>=1000 -F auid!=unset -k suid_exec ``` 3. **零信任日志管道** ```mermaid graph LR A[应用] -->|TLS加密| B(Journald签名存储) B --> C(中央日志服务器) C --> D[区块链存证] D --> E[SIEM告警] ``` --- ### **四、实践建议** 1. **SUID/SGID清理**:`$ find / -perm /6000 -exec chmod u-s,g-s {} +` 2. **Landlock沙盒部署**:优先用于GUI应用/网络服务 3. **日志巡检脚本**: ```bash # 检查异常UID 0账户 awk -F: '($3 == 0) && ($1 != "root")' /etc/passwd # 扫描SUID文件修改时间 find / -perm /4000 -printf "%TF %TT %p\n" ``` > **根本性转变**:现代安全需从DAC的"信任主体"转向"持续验证",通过Seccomp/Landlock实现**_执行路径可信_**,SELinux保障**_数据边界安全_**,TEE+日志签名构建**_审计链完整_**[^2][^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值