2008-09-18 66 views
19

我想知道这里的人是否默认禁用SELinux安装?如果是的话,你能解释为什么,它是什么样的系统等等?你禁用SELinux吗?

我想获得尽可能多的意见。

+0

这应该被迁移到unix.stackoverflow.com或至少超级用户它是有道理的。然后打开讨论。 – 2012-01-27 00:04:44

回答

0

我没有很多在这里贡献,但由于其没有得到答复,我想我会扔我两分钱英寸

就个人而言,我禁用它dev的箱子,当我处理不重要的事情。当我正在处理任何生产,或者需要更好的安全性时,我会保留它并/或花时间调整它以处理我需要的事情。

天气还是不是你使用它真的归结于你的需求,但它是有原因的,所以考虑使用它,而不是总是关闭它。

2

SELinux需要用户注意和手动权限授予(哦,好吧)你没有权限的东西。许多人发现它阻碍了它并关闭它。

在最近的版本中,SELinux更加用户友好,甚至还有关于删除关闭或隐藏它的可能性的讨论,所以只有知识丰富的用户才会知道如何做到这一点 - 并且假定用户是精确的那些了解后果的人。

在SELinux中,存在一个鸡和鸡蛋的问题:为了始终拥有它,您作为用户需要向开发人员报告问题,以便他们改进它。但用户不希望在改进之前使用它,如果没有多少用户使用它,它不会得到改进。

因此,默认情况下它保持开启状态,希望大多数人能够使用它足够长的时间,以便在关闭之前至少报告一些问题。

最后,这是您的呼吁:您是否寻找短期修复或软件的长期改进,这将导致有一天无需提出这样的问题。

13

三年或四年前,当确定的政策存在许多缺陷时,我制定了政策,但是我没有时间学习。当然,这不在关键的机器上。

当今所有的工作都是为了发布带有明智策略的发行版,而存在的toolstutorials可帮助您创建,修复和定义策略,因此无法将其禁用。

+1

唷!我不孤独! – 2010-05-26 03:01:42

+1

我与你,伙计! – Gabe 2013-12-08 13:54:20

2

我听说它越来越好,但我仍然禁用它。对于服务器来说,除非你是一家ISP或想要在多个本地用户上实施细粒度访问级别控制的大型公司,否则这没有任何意义。

在Web服务器上使用它,我有许多问题与Apache权限。我经常要运行,

chcon -R -h -t httpd_sys_content_t /var/www/html 

当添加新文件时更新ACL。我相信现在已经解决了这个问题,但是,对于在标准网站部署中实现它所获得的有限回报,SELinux仍然是一个很大的麻烦。

+5

有限的奖励?在面临网站的互联网?你住在哪个世界? – 2008-09-19 09:36:01

+3

我同意“有限的奖励?”题。由于httpd使用的软件包中存在安全漏洞,selinux保存了我的Web服务器免遭黑客攻击,其中selinux阻止漏洞利用。 – Eddie 2009-02-23 20:54:43

1

我不禁用它,但有一些问题。

某些应用程序不适用于它。

例如,我相信我能smartd,试图让我的 RAID磁盘的磁道S.M.A.R.T.状态,但selinux会迷惑 新的/dev/sda*节点在启动时创建(我认为这就是问题所在)

你必须下载源规则了解事情。

只需检查/var/log/messages“avc denied”消息,并且您的 可以解码被拒绝的内容。

谷歌“selinux常见问题”,你会发现一个fedora selinux常见问题,将 告诉你如何解决这些问题。

7

我在一家公司去年我们在那里设置它在CentOS 5.x的系统上启用“目标”的政策执行。它不会干扰我们开发人员开发的任何Web应用程序代码,因为Apache处于默认策略中。它确实对从非Red Hat(或CentOS)软件包安装的软件造成了一些挑战,但我们通过配置管理工具Puppet设法解决了这个问题。

我们使用了Puppet的模板功能来生成我们的策略。参见SELinux Enhancements for Puppet,标题为“未来的东西”,项目“政策生成”。

以下是我们实施该方法的一些基本步骤。除了audit2allow之外,这是全自动的。

产生一些服务命名为$ {name}的SELinux的模板文件。

sudo audit2allow -m "${name}" -i /var/log/audit/audit.log > ${name}.te 

创建一个脚本,/etc/selinux/local/${name}-setup.sh

SOURCE=/etc/selinux/local 
BUILD=/etc/selinux/local 

/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 

也就是说,很多人都是最好只禁用SELinux和通过其他普遍接受的共识,基于最佳实践强化他们的系统,如The Center for Internet Security's Benchmarks(注意他们推荐了SELinux :-))。

-1

在红色的帽子,您可以编辑/etc/sysconfig/selinux,并设置SELINIX=disabled

我认为所有版本的Linux下,你可以在lilo.conf中或grub.conf中添加selinux=0 noselinux到引导线。

+0

你并没有真正回答这个问题。 – Saustrup 2016-04-08 12:46:49

5

我公司制作CMS /集成平台产品。我们的许多客户都有传统的第三方系统,这些系统中仍然有重要的操作数据,并且大多数人都希望继续使用这些系统,因为他们只是在工作。因此,我们通过多种手段来锁定我们的系统,以便将数据发布出去或发布报告等。在每台服务器上运行大量客户端特定的东西,使得SELinux的配置变得困难,并且相应地也是一项昂贵的任务。

许多客户最初希望在安全的最佳,但是当他们听到的成本估计为我们的集成解决方案中,在“SELinux的残疾人”往往出现在项目计划非常快。

这是一个耻辱,因为纵深防御是一个好主意。尽管如此,SELinux从不需要需要,而这似乎是它的垮台。当客户询问'所以你可以在没有SELinux的情况下安全吗?',我们应该回答什么? '呃...我们不确定'?

我们可以而且我们会的,但是当地狱冻结了,并且发现了一些新的漏洞,并且更新不及时出现,并且您的系统不够成为地面零... SELinux只是可能救你的屁股。

但这是一个艰难的销售。

+0

你的意思是说,emacs C-m M-c M-butterfly的目标远程机器的硬盘和本地硬盘一样好? – Joshua 2010-05-26 03:02:15

2

不幸的是,我大部分时间都关闭SELinux,因为大量的第三方应用程序(如Oracle)在运行SELinux的平台上运行并不能很好地运行SELinux和/或不受支持。

需要注意的是Red Hat的自己的卫星产品需要您关闭SELinux的太多,这 - 同样,遗憾的是 - 说了很多关于人有上运行SELinux的复杂应用困难启用平台。

使用技巧,可能会或可能不会对你有用:SELinux的可以打开和关闭在运行时通过使用setenforce(使用getenforce检查当前状态)被打开。在chcon很麻烦的情况下,restorecon可能会有所帮助,但是ymmv。

0

我从未禁用selinux,我的承包商必须使用它。而且,如果/某些守护进程(带有OSS许可证btw)没有安全策略,则必须写一个(好的)守护进程。这并不是因为我相信selinux在Linux上是一个无懈可击的MAC - 无用的例子 - 但是因为它无论如何都会增加操作系统的安全性。对于Web应用程序,OSS安全性更好的解决方案是mod_security:所以我使用两者。尽管近几年来情况有了很大的改善,但selinux的问题大部分都是少量的或者可理解的文件。

1

是的。这是脑死亡。它可以引入几乎不可能诊断的标准守护进程的破坏。它也可以关上一扇门,但是打开一扇窗户。也就是说,由于某些原因,新鲜的CentOS安装它会阻止从“/etc/init.d/smb”开始的smbd。但是,它在调用“sh /etc/init.d/smb”或“smbd -D”或者将init.d/smb文件移动到另一个目录时不会阻止它启动,只需从其中启动smbd就可以了精细。

所以,无论它认为自己在做什么,以确保我们的系统 - 通过打破他们 - 它甚至没有做一致。咨询一些严重的CentOS大师,他们也不了解其行为的不一致性。它旨在让你感觉安全。但它是安全的门面。它可以替代你做系统安全锁定的真正工作。

-1

如果在默认情况下,我会保持开启状态,直到它破坏某些东西然后关闭它。

我个人认为这是不提供任何保障,我不会去管它。

0

作为开发机器的CENTOS盒子已经开启了,我关掉了它。它正在阻止我在测试我正在开发的Web应用程序时尝试做的一些事情。这个系统当然是在防火墙后面的,它完全阻挡了我们局域网之外的访问,并且有很多其他的安全措施,所以即使在SELinux关闭的情况下,我仍然感到相当安全。

3

我曾经为一家大型计算机制造商在RedHat Linux上3级支持(以及其他两种口味)的工作,公司的服务器上运行。在绝大多数情况下,我们关闭了SELinux。我的感觉是,如果你真的需要SeLinux,你知道你需要它,并且可以具体说明你为什么需要它。当你不需要它,或者不能清楚地表达原因,并且默认启用时,你很快意识到这是后端的痛苦。跟着你的直觉走。

1

我把它关掉所有我的cPanel盒,因为的cPanel不会与它上运行。