带有 grsec + Java / Apache Tomcat 的 Linux 内核

带有 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

并且该网络应用程序运行良好。

因此,Tomcat 启动时出现分段错误,但一切似乎都运行正常。

这令人担忧吗?我应该转到非 grsec 内核吗?

答案1

我也受 OVH 托管,并且我有很多这样的:

7 月 20 日 07:29:25 nsxxxxxx 内核:grsec:来自 xxxx:/usr/lib/jvm/java-6-sun-1.6.0.17/jre/bin/java[java:4177] uid/euid:1011/1011 gid/egid:1011/1011 中的 00007f0e17e3e300 处发生分段错误,父级 /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] uid/euid:1011/1011 gid/egid:1011/1011 中的 000000000000008 处发生分段错误,父级 /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] uid/euid:1011/1011 gid/egid:1011/1011 中的 000000000000008 处发生分段错误,父级 /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] uid/euid:1011/1011 gid/egid:1011/1011 中的 0000000000000008 处发生分段错误,父级 /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] uid/euid:1011/1011 gid/egid:1011/1011 中的 000000000000008 处发生分段错误,父级 /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] uid/euid:1011/1011 gid/egid:1011/1011 中的 000000000000001c 处发生分段错误,父级 /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] uid/euid:1011/1011 gid/egid:1011/1011 中的 000000000000008 处发生分段错误,父级 /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] uid/euid:1011/1011 gid/egid:1011/1011 中的 0000000000000008 处发生分段错误,父级 /sbin/init[init:1] uid/euid:0/0 gid/egid:0/0 ...

看来将内核改为非 GRSEC 内核是可行的。

答案2

众所周知,Java 与其他程序不能很好地协同运行。

您至少必须对 Java 二进制文件使用 chpax,但切换到非 grsec 内核是更好的选择。

相关内容