允许Java 7在SELinux上运行的安全方法是什么


9

简短版: 允许Java 7在SELinux上运行的最安全方法是什么?

长版:

如果我使用不正确的术语,请先抱歉。我实际上只是一名Java开发人员,只具备少量的Linux技能。

我刚刚在CentOS 5.3版(最终版)上安装了Java 7,它显然具有安全性增强Linux。安装完成后(通过从Oracle中解压缩tar.gz文件来“安装”了该文件/usr/java/jdk/jdk1.7.0_25),我运行java -version并收到以下错误消息:

Error: dl failure on line 864
Error: failed /usr/java/jdk1.7.0_25/jre/lib/i386/server/libjvm.so,
      because /usr/java/jdk1.7.0_25/jre/lib/i386/server/libjvm.so:
      cannot restore segment prot after reloc: Permission denied`

我发现一些文章指出这可能是由于SELinux所致,并尝试setenforce 0查看问题是否消失。我运行了该命令,Java运行正常。但是这些相同的文章说,留setenforce 0在Internet上连接的主机很危险,并且我的主机已连接到Internet。

还有其他文章建议使用这种下一种方法,但也说这可能很危险,所以我还没有尝试过。

chcon -t textrel_shlib_t /usr/jre1.7.0_10/lib/i386/client/libjvm.so

...在上述命令中,命令末尾的路径被替换为我的JDK的路径。

我找不到关于“安全地”在SELinux上运行Java 7的“官方”信息(可能意味着很多事情)。有人有我的资料吗?

编辑: 我发现了一篇有关编辑的文章/etc/selinux/config。我已按照下面的示例所示进行设置。这样就可以运行Java,但是我想我现在有一些安全漏洞。

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=permissive
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

chcon解决方案看起来是合理的。最后一个解决方案与没什么不同setenforce 0
jordanm

您可以将其安装在主目录中吗?
托尔比约恩Ravn的安德森

@ThorbjørnRavnAndersen:好吧,我想我可以,但是它作为守护程序运行,更具体地来说是Tomcat服务器,因此从我的主目录运行Tomcat服务器感觉有点草率。
约翰·菲茨帕特里克

Answers:


2
  1. 清理当前安装

  2. 下载RPM文件(http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

    yum -y localinstall /path/to/downloaded-java.rpm
    

休息会得到照顾。


谢谢。您能否详细介绍“清理当前安装”?您是说删除我安装的内容吗?
约翰·菲茨帕特里克

恩,那就对了!删除当前的Oracle Java安装。请遵循“自解压文件卸载” java.com/en/download/help/linux_uninstall.xml#self
user44441 2013年

4
为什么这是解决方案?
Lightness Races in Orbit

如果@LightnessRacesinOrbit不知道为什么这是正确的解决方案,请继续阅读SELinux是什么。基本上RPM脚本设置适当的权限访问控制列表的等等
eyoung100

3
@ eyoung100:不,我的意思是,这个答案没有解释任何东西。它应该说明为什么删除和更换安装可以解决问题,并提供解决方法。我也问,因为我是从RPM安装的,但是仍然有问题。
Lightness Races in Orbit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.