跳转到内容跳转到页面导航:上一页 [访问键 p]/下一页 [访问键 n]
openSUSE Leap 15.6

安全和加固指南

摘要

本指南介绍系统安全的基本概念,并描述了产品中包含的安全软件的使用方法,例如 AppArmor、SELinux 或审计系统。本指南还支持系统管理员加固安装。

发布日期: 2024年6月10日
前言
可用文档
改进文档
文档约定
1 安全性和机密性
1.1 概述
1.2 密码
1.3 备份
1.4 系统完整性
1.5 文件访问
1.6 网络
1.7 软件漏洞
1.8 恶意软件
1.9 重要的安全提示
1.10 报告安全问题
I 身份验证
2 使用 PAM 进行身份验证
2.1 什么是 PAM?
2.2 PAM 配置文件结构
2.3 sshd 的 PAM 配置
2.4 PAM 模块配置
2.5 使用 pam-config 配置 PAM
2.6 手动配置 PAM
2.7 为本地登录配置 U2F 密钥
2.8 更多信息
3 使用 NIS
3.1 配置 NIS 服务器
3.2 配置 NIS 客户端
4 使用 YaST 设置身份验证客户端
4.1 使用 YaST 配置身份验证客户端
4.2 SSSD
5 使用 389 Directory Server 的 LDAP
5.1 LDAP 目录树的结构
5.2 创建和管理 389 目录服务器的 Docker 容器
5.3 安装 389 目录服务器
5.4 防火墙配置
5.5 备份和恢复 389 目录服务器
5.6 管理 LDAP 用户和组
5.7 管理插件
5.8 使用 SSSD 管理 LDAP 身份验证
5.9 从 OpenLDAP 迁移到 389 目录服务器
5.10 导入 TLS 服务器证书和密钥
5.11 设置复制
5.12 与 Microsoft Active Directory 同步
5.13 更多信息
6 使用 Kerberos 进行网络身份验证
6.1 概念概述
6.2 Kerberos 术语
6.3 Kerberos 的工作原理
6.4 用户对 Kerberos 的视图
6.5 安装和管理 Kerberos
6.6 Kerberos 和 NFS
6.7 更多信息
7 Active Directory 支持
7.1 集成 Linux 和 Active Directory 环境
7.2 Linux Active Directory 支持的背景信息
7.3 为 Active Directory 配置 Linux 客户端
7.4 登录到 Active Directory 域
7.5 更改密码
7.6 Active Directory 证书自动注册
8 设置 freeRADIUS 服务器
8.1 openSUSE Leap 上安装和测试
II 本地安全
9 物理安全
9.1 系统锁
9.2 锁定 BIOS
9.3 通过启动加载程序进行安全保护
9.4 报废包含敏感数据的 Linux 服务器
9.5 限制对可移动介质的访问
9.6 通过 USBGuard 强制 USB 设备授权进行系统保护
10 软件管理
10.1 删除不必要的软件包 (RPM)
10.2 修补 Linux 系统
11 文件管理
11.1 磁盘分区
11.2 修改某些系统文件的权限
11.3 将主目录权限从 755 更改为 700
11.4 默认 umask
11.5 SUID/SGID 文件
11.6 可世界写入的文件
11.7 孤立或无主文件
12 加密分区和文件
12.1 使用 YaST 设置加密文件系统
12.2 使用 GPG 加密文件
12.3 使用 Rage 加密文件
13 使用 cryptctl 加密托管应用程序的存储
13.1 设置 cryptctl 服务器
13.2 设置 cryptctl 客户端
13.3 为 LUKS 卷配置 /etc/fstab
13.4 使用服务器端命令检查分区解锁状态
13.5 手动解锁加密分区
13.6 维护停机程序
13.7 为 cryptctl-server 服务设置 HA 环境
13.8 更多信息
14 用户管理
14.1 各种帐户检查
14.2 启用密码老化
14.3 更强的密码强制执行
14.4 使用 PAM 进行密码和登录管理
14.5 限制 root 登录
14.6 限制 sudo 用户
14.7 为交互式 shell 会话设置不活动超时
14.8 防止意外拒绝服务
14.9 显示登录横幅
14.10 连接会计工具
15 限制 cronat
15.1 限制 cron 守护程序
15.2 限制 at 调度程序
16 Spectre/Meltdown 检查器
16.1 使用 spectre-meltdown-checker
16.2 更多信息
17 使用 YaST 配置安全设置
17.1 安全概述
17.2 预定义的安全配置
17.3 密码设置
17.4 启动设置
17.5 登录设置
17.6 用户添加
17.7 其他设置
18 Polkit 身份验证框架
18.1 概念概述
18.2 授权类型
18.3 查询权限
18.4 修改 Polkit 配置
18.5 恢复 SUSE 默认权限
19 Linux 中的访问控制列表
19.1 传统文件权限
19.2 ACL 的优势
19.3 定义
19.4 处理 ACL
19.5 应用程序中的 ACL 支持
19.6 更多信息
20 使用 AIDE 进行入侵检测
20.1 为什么使用 AIDE?
20.2 设置 AIDE 数据库
20.3 本地 AIDE 检查
20.4 系统独立检查
20.5 更多信息
III 网络安全
21 X Window 系统和 X 身份验证
22 使用 OpenSSH 保护网络操作
22.1 OpenSSH 概述
22.2 服务器加固
22.3 密码身份验证
22.4 管理用户和主机加密密钥
22.5 轮换主机密钥
22.6 公钥身份验证
22.7 无密码短语的公钥身份验证
22.8 OpenSSH 证书身份验证
22.9 使用 gnome-keyring 实现自动公钥登录
22.10 使用 ssh-agent 实现自动公钥登录
22.11 更改 SSH 私钥密码短语
22.12 检索密钥指纹
22.13 在远程主机上启动 X11 应用程序
22.14 代理转发
22.15 scp—安全复制
22.16 sftp—安全文件传输
22.17 端口转发 (SSH 隧道)
22.18 更多信息
22.19 使用 Fail2Ban 阻止 SSH 暴力破解攻击
23 伪装和防火墙
23.1 使用 iptables 进行数据包过滤
23.2 伪装基础知识
23.3 防火墙基础知识
23.4 firewalld
23.5 从 SuSEfirewall2 迁移
23.6 更多信息
24 配置 VPN 服务器
24.1 概念概述
24.2 设置一个简单的测试场景
24.3 使用证书颁发机构设置 VPN 服务器
24.4 使用 YaST 设置 VPN 服务器或客户端
24.5 更多信息
25 使用 XCA、X 证书和密钥管理器管理 PKI
25.1 安装 XCA
25.2 创建一个新的 PKI
26 使用 sysctl 变量改进网络安全
IV 使用 AppArmor 限制权限
27 介绍 AppArmor
27.1 AppArmor 组件
27.2 关于 AppArmor 剖析的背景信息
28 入门
28.1 安装 AppArmor
28.2 启用和禁用 AppArmor
28.3 选择要分析的应用程序
28.4 构建和修改配置文件
28.5 更新您的配置文件
29 免疫程序
29.1 介绍 AppArmor 框架
29.2 确定要免疫的程序
29.3 免疫 cron 作业
29.4 免疫网络应用程序
30 配置文件组件和语法
30.1 AppArmor 配置文件分解为各个部分
30.2 配置文件类型
30.3 包含语句
30.4 功能条目 (POSIX.1e)
30.5 网络访问控制
30.6 配置文件名称、标志、路径和通配符
30.7 文件权限访问模式
30.8 挂载规则
30.9 Pivot root 规则
30.10 PTrace 规则
30.11 信号规则
30.12 执行模式
30.13 资源限制控制
30.14 审计规则
31 AppArmor 配置文件仓库
32 使用 YaST 构建和管理配置文件
32.1 手动添加配置文件
32.2 编辑配置文件
32.3 删除配置文件
32.4 管理 AppArmor
33 从命令行构建配置文件
33.1 检查 AppArmor 状态
33.2 构建 AppArmor 配置文件
33.3 添加或创建 AppArmor 配置文件
33.4 编辑 AppArmor 配置文件
33.5 卸载未知的 AppArmor 配置文件
33.6 删除 AppArmor 配置文件
33.7 两种分析方法
33.8 重要文件名和目录
34 使用 ChangeHat 分析 Web 应用程序
34.1 mod_apparmor 配置 Apache
34.2 管理 ChangeHat 感知应用程序
35 使用 pam_apparmor 限制用户
36 管理配置文件的应用程序
36.1 对安全事件拒绝做出反应
36.2 维护您的安全配置文件
37 支持
37.1 在线更新 AppArmor
37.2 使用 man 手册页
37.3 更多信息
37.4 故障排除
37.5 报告 AppArmor 的错误
38 AppArmor 词汇表
V SELinux
39 配置 SELinux
39.1 为什么使用 SELinux?
39.2 SELinux 策略概述
39.3 安装 SELinux 包
39.4 安装 SELinux 策略
39.5 将 SELinux 置于 permissive 模式
39.6 将 SELinux 置于 enforcing 模式
39.7 配置 SELinux
39.8 管理 SELinux
39.9 故障排除
VI Linux 审计框架
40 理解 Linux 审计
40.1 介绍 Linux audit 的组件
40.2 配置 audit 守护进程
40.3 使用 auditctl 控制 audit 系统
40.4 将参数传递给 audit 系统
40.5 理解 audit 日志并生成报告
40.6 使用 ausearch 查询 audit 守护进程日志
40.7 使用 autrace 分析进程
40.8 可视化 audit 数据
40.9 转发 audit 事件通知
41 设置 Linux 审计框架
41.1 确定要审计的组件
41.2 配置审计守护程序
41.3 为系统调用启用审计
41.4 设置审计规则
41.5 配置审计报告
41.6 配置日志可视化
42 介绍审计规则集
42.1 添加基本的审计配置参数
42.2 监视审计日志文件和配置文件
42.3 监视文件系统对象
42.4 监视安全配置文件和数据库
42.5 监视各种系统调用
42.6 过滤系统调用参数
42.7 使用密钥管理审计事件记录
43 有用的资源
A GNU 许可协议
A.1 GNU 自由文档许可协议
示例列表
2.1 sshd 的 PAM 配置 (/etc/pam.d/sshd)
2.2 auth”部分的默认配置 (common-auth)
2.3 account”部分的默认配置 (common-account)
2.4 password”部分的默认配置 (common-password)
2.5 session”部分的默认配置 (common-session)
2.6 pam_env.conf
5.1 从 CN=schema 中摘录
5.2 最小 389 Directory Server 实例配置文件
5.3 用于本地管理的 .dsrc 文件
5.4 两个供应商副本
5.5 四个供应商副本
5.6 六个副本
5.7 六个副本,带有只读消费者
6.1 示例 KDC 配置,/etc/krb5.conf
9.1 配置
22.1 示例 sshd_config
23.1 /etc/modprobe.d/60-nfs.conf 中为 nfs 内核模块配置回调端口
23.2 用于为 NFS 定义新的 firewalld RPC 服务的命令
24.1 VPN 服务器配置文件
24.2 VPN 客户端配置文件
28.1 aa-unconfined 的输出
33.1 学习模式异常:控制对特定资源的访问
33.2 学习模式异常:为条目定义权限
39.1 使用 ls -Z 设置安全上下文
39.2 验证 SELinux 是否正常工作
39.3 获取布尔值列表并验证策略访问权限
39.4 获取文件上下文信息
39.5 根目录中目录的默认上下文
39.6 使用 ps Zaux 查看进程的 SELinux 设置
39.7 查看默认文件上下文
39.8 来自 /var/log/audit/audit.log 的示例行
39.9 分析审计消息
39.10 查看拒绝访问的行
39.11 创建策略模块,允许先前被拒绝的操作
40.1 默认 /etc/audit/auditd.conf
40.2 auditctl -s 的示例输出
40.3 示例审计规则—审计系统参数
40.4 示例审计规则—文件系统审计
40.5 示例审计规则—系统调用审计
40.6 删除审计规则和事件
40.7 使用 auditctl -l 列出规则
40.8 一个简单的审计事件—查看审计日志
40.9 一个高级审计事件—通过 SSH 登录
40.10 示例 /etc/audit/auditd.conf
40.11 示例 /etc/audit/plugins.d/syslog.conf

版权所有 © 2006–2024 SUSE LLC 及其贡献者。保留所有权利。

在 GNU 自由文档许可协议第 1.2 版或(可选)第 1.3 版的条款下,允许复制、分发和/或修改本文档,其中本版权声明和许可协议为不变部分。许可协议第 1.2 版的副本包含在题为 GNU 自由文档许可协议 的章节中。

有关 SUSE 商标,请参阅 https://www.suse.com/company/legal/。所有第三方商标均为其各自所有者的财产。商标符号(®、™ 等)表示 SUSE 及其关联公司的商标。星号 (*) 表示第三方商标。

本书中的所有信息均经过仔细核实。但是,这不能保证完全准确。SUSE LLC、其关联公司、作者和译者对可能出现的错误或由此产生的后果不承担任何责任。

打印此页面