0

是否可以将 suhosin 补丁的日志从 syslog 移动到专用文件?

cron 每 5 分钟调用一次 Cacti,并尝试将内存限制设置为 -1 因此,每次调用 Cacti 时,我在 syslog 中有 2 条消息。

ALERT - 脚本试图通过将其设置为不允许的负值 -1 字节来禁用 memory_limit(攻击者'REMOTE_ADDR 未设置',文件'未知')

谢谢您的帮助

4

1 回答 1

2

是的,您可以通过多种方式进行设置:

  1. 如果您想继续使用系统的 syslog:

    suhosin.log.syslog.facilityini 设置,您可以选择USER系统上没有其他应用程序使用的工具之一。

    大多数 syslog 守护程序具有各种过滤功能来决定应该将消息发送到哪里。您必须检查您的系统正在运行什么,有许多流行的 syslog 守护进程是 rsyslogdsyslogsyslog-ng。他们都有自己的配置格式,但他们都应该能够根据设施进行过滤。在大多数情况下,您还可以根据日志消息本身过滤程序名称或匹配模式。

    在 sysklogd、rsyslogd、dsyslog 样式的配置文件中,匹配工具时看起来像这样:

    local5.*     /var/log/suhoshin_alert.log 
    

    或者在消息上使用正则表达式:

    *.*     /var/log/suhoshin_alert.log
    :msg, regex, "^ALERT -"
    

    如果您只想忽略这些消息,可以使用~日志目标来丢弃消息。(请注意您的规则匹配)

  2. 您可以使用自定义日志记录脚本

    有一个suhosin.log.script.namesuhosin.log.phpscript.name配置选项。您可以使用它们指定一个脚本文件,一个 php 将信息作为变量,而另一个将其作为参数,您可以将消息记录到您选择的任何位置。

    您还必须更改suhosin.log.scriptorsuhosin.log.phpscript选项以指示应将哪种类型的消息发送到脚本,请参见此处的表格

但是,听起来解决您的问题(允许更改内存限制或不更改内存限制)会更好。

于 2013-06-25T13:56:24.813 回答