SELinux에서 Java 7을 실행할 수있는 안전한 방법은 무엇입니까


9

짧은 버전 : Java 7을 SELinux에서 실행할 수있는 가장 안전한 방법은 무엇입니까?

긴 버전 :

잘못된 용어를 사용하면 미리 죄송합니다. 저는 실제로 Linux 기술이 부족한 Java 개발자입니다.

방금 Security Enhanced Linux가있는 CentOS 릴리스 5.3 (Final)에 Java 7을 설치했습니다. 설치가 완료된 후 (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인터넷에 연결된 호스트 를 떠나는 것은 위험하며 내 호스트는 인터넷에 연결되어 있습니다.

이 다음 접근법을 제안하는 다른 기사가 있지만 위험 할 수 있다고 말하면서 아직 시도하지 않았습니다.

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

대신 홈 디렉토리에 설치할 수 있습니까?
Thorbjørn Ravn Andersen '

@ ThorbjørnRavnAndersen : 글쎄, 나는 그것을 할 수 있다고 생각하지만, 더 구체적으로 Tomcat 서버 인 데몬으로 실행되며 어떻게 든 내 홈 디렉토리에서 Tomcat 서버를 실행하는 것이 약간 느낀다.
John Fitzpatrick

기본적으로 stackoverflow.com/q/14723474/560648 의 속임수입니다 .
궤도에서 가벼움 경주

답변:


2
  1. 현재 설치 정리

  2. RPM 파일을 다운로드하십시오 ( http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html )

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

휴식을 취할 것입니다.


감사. "현재 설치 정리"에 대해 자세히 설명 할 수 있습니까? 내가 설치 한 것을 제거 하시겠습니까?
John Fitzpatrick

네 맞습니다! 현재 Oracle Java 설치를 제거하십시오. "자동 압축 풀림 파일 제거"를 참조하십시오. java.com/en/download/help/linux_uninstall.xml#self
user44441

4
이것이 왜 해결책입니까?
궤도에서 가벼움 경주

@LightnessRacesinOrbit가 왜 이것이 올바른 솔루션인지 모르는 경우 SELinux가 무엇인지 읽어보십시오 . 기본적으로 RPM 스크립트는 적절한 권한 ACL 등을 설정합니다
eyoung100

3
@ eyoung100 : 아니요, 요점은이 대답이 아무것도 설명하지 않는다는 것입니다. 설치 제거 및 교체가 문제점을 해결하고 단계를 제공 하는 이유 를 설명 해야합니다. 또한 RPM에서 설치했지만 여전히 문제가 있기 때문에 묻습니다.
궤도에서 가벼움 경주
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.