使用grsec + Java / Apache Tomcat的Linux内核

我有一个Debian Linux 64位专用服务器。 内核应用了grsec补丁。

我主要使用这个服务器来运行Apache Tomcat(6.0.26,Java 6),一切似乎都很好。

唯一的问题是,当我启动 Tomcat时,我得到了一些这样的:

grsec: From xxx.xxx.xxx.xxx: Segmentation fault occurred at 00007fefe04e4000 in /home/t/jre1.6.0_20/bin/java[java:22403] uid/euid:1001/1001 gid/egid:1001/1001, parent /sbin/init[init:1] uid/euid:0/0 gid/egid:0/0 grsec: more alerts, logging disabled for 10 seconds 

那么没有错误日志了。 一切安好。

内核是:

 Linux 2.6.32.2-xxxx-grs-ipv4-64 #1 SMP Tue Dec 29 14:41:12 UTC 2009 x86_64 GNU/Linux 

和webapp工作正常。

所以当Tomcat启动时会出现分段错误,但一切似乎都正常。

这是关于? 我应该转移到非grsec内核吗?

我也是由OVH主办,我有一堆这样的:

7月20日07:29:25 nsxxxxxx内核:grsec:从xxxx:分区故障发生在/usr/lib/jvm/java-6-sun-1.6.0.17/jre/bin/java[java:4177]中的00007f0e17e3e300 uid / euid:1011/1011 gid / egid:1011/1011,parent / sbin / init [init:1] uid / euid:0/0 gid / egid:0/0

7月20日07:29:25 nsxxxxxx内核:grsec:从xxxx:在/usr/lib/jvm/java-6-sun-1.6.0.17/jre/bin/java[java:30441]中的0000000000000008处出现分段错误uid / euid:1011/1011 gid / egid:1011/1011,parent / sbin / init [init:1] uid / euid:0/0 gid / egid:0/0

7月20日07:29:25 nsxxxxxx内核:grsec:从xxxx:在/usr/lib/jvm/java-6-sun-1.6.0.17/jre/bin/java[java:30441]中的0000000000000008处出现分段错误uid / euid:1011/1011 gid / egid:1011/1011,parent / sbin / init [init:1] uid / euid:0/0 gid / egid:0/0

7月20日07:30:00 nsxxxxxx内核:grsec:从xxxx:在/usr/lib/jvm/java-6-sun-1.6.0.17/jre/bin/java[java:30620]中的0000000000000008处发生分段错误uid / euid:1011/1011 gid / egid:1011/1011,parent / sbin / init [init:1] uid / euid:0/0 gid / egid:0/0

7月20日07:30:02 nsxxxxxx内核:grsec:从xxxx:在/usr/lib/jvm/java-6-sun-1.6.0.17/jre/bin/java[java:30620]中的0000000000000008处出现分段错误uid / euid:1011/1011 gid / egid:1011/1011,parent / sbin / init [init:1] uid / euid:0/0 gid / egid:0/0

7月20日07:30:02 nsxxxxxx内核:grsec:从xxxx:在/usr/lib/jvm/java-6-sun-1.6.0.17/jre/bin/java[java:30672]中的000000000000001c处发生分段错误uid / euid:1011/1011 gid / egid:1011/1011,parent / sbin / init [init:1] uid / euid:0/0 gid / egid:0/0

7月20日07:30:14 nsxxxxxx内核:grsec:从xxxx:在/usr/lib/jvm/java-6-sun-1.6.0.17/jre/bin/java[java:30683]中的0000000000000008处出现分段错误uid / euid:1011/1011 gid / egid:1011/1011,parent / sbin / init [init:1] uid / euid:0/0 gid / egid:0/0

7月20日07:30:14 nsxxxxxx内核:grsec:从xxxx:在/usr/lib/jvm/java-6-sun-1.6.0.17/jre/bin/java[java:30683]中的0000000000000008处出现分段错误uid / euid:1011/1011 gid / egid:1011/1011,parent / sbin / init [init:1] uid / euid:0/0 gid / egid:0/0 …

看来把内核改成非GRSEC可以工作。

除了别的以外,Java已经和grsec一起玩不起来了。

至less你必须对Java二进制文件使用chpax,但切换到非grsec内核是一个更好的select。