wzz*_*zrd 41 oracle security linux redhat selinux
在StackOverflow 上的这个问题和我们这里完全不同的人群中,我想知道:您禁用 SELinux 的原因是什么(假设大多数人仍然这样做)?您想保持启用状态吗?离开 SELinux 后,您遇到过哪些异常情况?除了 Oracle 之外,还有哪些供应商在支持启用 SELinux 的系统时遇到问题?
额外问题:有人设法让 Oracle 在 RHEL5 和 SELinux 上以强制目标模式运行吗?我的意思是,严格会很棒,但我认为这还遥不可及,所以让我们先保持有针对性的 ;-)
tyl*_*erl 27
RedHat 默认开启 SELinux,因为它更安全。几乎所有使用 Redhat 衍生产品的供应商都关闭 SELinux ,因为他们不想投入时间(因此也不想投入金钱)来弄清楚为什么这东西不起作用。Redhat/Fedora 人员投入了大量时间和精力,使 SELinux 成为企业中更可行的选择,但没有很多其他组织真正关心您的安全性。(他们关心他们的安全和他们产品的安全声誉,这是完全不同的事情。)
如果你可以让它发挥作用,那就去做吧。如果你不能,那么不要指望那里的供应商会提供很多帮助。您可能可以从 Redhat/Fedora 人员、selinux 邮件列表和 freenode 上的 #selinux 频道获得帮助。但是来自甲骨文这样的公司——嗯,SELinux 并没有真正考虑到他们的商业计划。
Oph*_*ian 24
通常,最好在 Permissive 中运行 SELinux 而不是完全禁用它。然后,您可以audit2why
在一段时间后检查(通过)以查看在您的常规使用期间会拒绝哪些类型的违规,并通过audit2allow
这些“违规”是否对您的设置误报来构建自定义策略。
我发现非 Fedora 派生系统上的 SELinux 行为比默认情况下典型的 Fedora/RHEL 系统更加敏感。
如果您还没有看过它,您可能会找到Fedora SELinux 用户指南教育版。
jti*_*man 18
的原因:
反对理由:
也就是说,如果您正在考虑 SELinux,我推荐SELinux by Example一书。
我曾在一家公司工作,该公司在每个系统上都以强制模式启用了 SELinux。我们的关键是理解和使用 audit2allow 程序,该程序可用于创建新的上下文规则。
首先,我们使用audit2allow 生成一个模板,然后使用脚本来构建它,如下所示:
export NAME="my_serviced"
sudo audit2allow -m "${NAME}" -i /var/log/audit/audit.log > ${NAME}.te
sudo setup_semodule ${NAME}
Run Code Online (Sandbox Code Playgroud)
setup_semodule 脚本:
#!/bin/sh
# Where to store selinux related files
SOURCE=/etc/selinux/local
BUILD=/etc/selinux/local
NAME=$1
/usr/bin/checkmodule -M -m -o ${BUILD}/${NAME}.mod ${SOURCE}/${NAME}.te
/usr/bin/semodule_package -o ${BUILD}/${NAME}.pp -m ${BUILD}/${NAME}.mod
/usr/sbin/semodule -i ${BUILD}/${NAME}.pp
/bin/rm ${BUILD}/${NAME}.mod ${BUILD}/${NAME}.pp
Run Code Online (Sandbox Code Playgroud)
这将从模板(.te 文件)构建模块,生成包,然后加载模块。
我们使用 Puppet 作为我们的配置管理系统,我们为 Puppet 编写配置来管理所有这些。
SELinux 木偶模块:
Jas*_*Tan 10
关闭它的原因是调试起来很麻烦。
但是我们现在不关闭它。我们几乎总是让它运行。我偶尔会关闭它以快速验证 SElinux 是否有问题。
现在调试要容易得多,尤其是当您熟悉 audit2allow 时。您真的不需要使用audit2allow 来理解它,但有时您最终会打开比audit2allow 想象的更宽的范围。话虽如此,有一些 SELinux 总比没有好。
我绝不是 SELinux 专家,并且只使用了几年。我仍然不太了解基础知识,但我知道的足以让应用程序运行,包括发行版中包含的那些和 'net.
我必须使用的主要内容是ls -lZ
(显示 selinux 上下文)audit2allow
、chcon
、semodule
、getenforce
、setenforce
和布尔值。使用这些工具,我设法获得了在 SELinux 下运行所需的每个应用程序。
我发现调试 SELinux 问题时遇到的一个大问题,就是当我遇到其他明智的莫名其妙的问题时,只是记得检查 SELinux 问题。“h!检查 SELinux !!”通常需要我花点时间。
根据 bind 手册页,SELinux 比在 chroot jail 中运行 bind 安全得多。很多其他人比我还推荐它,所以我现在盲目地运行它。并怀疑尽管偶尔会出现问题,但它可能值得做。
归档时间: |
|
查看次数: |
21815 次 |
最近记录: |