AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 100772
In Process
Henry-Nicolas Tourneur
Henry-Nicolas Tourneur
Asked: 2010-01-09 01:31:20 +0800 CST2010-01-09 01:31:20 +0800 CST 2010-01-09 01:31:20 +0800 CST

Rsyslog 邮件模块不工作

  • 772

我想通过我的 Debian Lenny fw 通过电子邮件发送 snort 警报。Syslog 将日志消息从防火墙发送到中央 rsyslog。

在我的中央 rsyslog 上,我得到了类似的内容:

$ModLoad ommail
$ActionMailSMTPServer server.company.local
$ActionMailFrom [email protected]
$ActionMailTo [email protected]
$ActionExecOnlyOnceEveryInterval 1

$template mailSubject,"[SNORT] Alert from %hostname%"
$template mailBody,"Snort message\r\nmsg='%msg%'"
$ActionMailSubject mailSubject
if $msg regexp 'snort\[[0-9]*\]: \[[0-9]*:[0-9]*:[0-9]*].*' then ommail:;mailBody

但是我没有收到任何邮件,我什至可以用类似的东西触发 snort ping -s 1400,它会记录以下内容,但仍然没有邮件!

2010-01-08T09:25:58+00:00 Hostname snort[4429]: [1:499:4] ICMP Large ICMP Packet [Classification: Potentially Bad Traffic] [Priority: 2]: {ICMP} ip_dest -> ip_src
email alerts rsyslog snort
  • 4 4 个回答
  • 3441 Views

4 个回答

  • Voted
  1. Aaron Copley
    2010-09-18T11:47:44+08:002010-09-18T11:47:44+08:00

    您在 ommail 前面缺少一个冒号。

    if $msg regexp 'snort[[0-9]]: [[0-9]:[0-9]:[0-9]].*' then :ommail:;mailBody

    我不能说您的 RegEx 的准确性,但您可以尝试“包含”而不是“正则表达式”,如果问题仍然存在于上述语法之外,请尝试更简单的测试来缩小问题范围。

    我还建议在整理完之后增加 $ActionExecOnlyOnceEveryInterval。

    • 1
  2. Deimosfr
    2010-01-09T02:15:46+08:002010-01-09T02:15:46+08:00

    这周我刚刚测试了 rsyslog 并遇到了一些错误。我将它升级到备份端口,现在一切正常。您可以尝试一下,因为它是一次重大升级。

    • 0
  3. gravyface
    2010-09-18T12:12:49+08:002010-09-18T12:12:49+08:00

    我自己为此苦苦挣扎,可以确认以下 rsyslog 和语法的组合确实有效(我现在正在生产中)。由于某些奇怪的原因(它真的很旧),我有 rsyslog 4.2 附带的 Ubuntu 10.4.1。所以在删除它并安装 4.6.4.1 之后,我就可以运行了。

    从此处的 Debian Squeeze 存储库获取 rsyslog 4.6.4.1 。版本 4.6.4(或一两个早期版本;现在不记得了)修复了 ActionExecOnlyOnceEveryInterval 被忽略的错误。

    我对 Snort 使用以下语法,并且可以确认它确实有效:

    $IncludeConfig /etc/rsyslog.d/mail-settings.conf
    $template mailSubjectSnort,"Snort Alert"
    $template mailBodySnort,"this is the body, here's the host: %hostname%, here's the time    it was reported: %timereported% and heres the message: %msg%"
    $ActionMailSubject mailSubjectSnort
    # make sure we receive an email only once per hour
    $ActionExecOnlyOnceEveryInterval 3600
    :msg, contains, "some_string" :ommail:;mailBodySnort
    

    我将各种日志记录设备拆分为带有相应 .conf 文件的单独日志文件。我还在一个名为的文件中设置了邮件服务器指令,该文件mail-settings.conf包含在每个 conf 的顶部。

    我还在每个 conf 中为每个模板变量( , 等)使用一个唯一的名称,mailBodySnort因为mailBodySquid它似乎是一个常量,因为另一个 .conf 文件的每个后续包含都不会覆盖之前分配的值。 conf。

    • 0
  4. Silopolis
    2013-10-17T04:15:32+08:002013-10-17T04:15:32+08:00

    揭穿一个旧的,但由于问题仍然会困扰那些运行 Debian Squeeze 的人,即使使用来自 backports 的 rsyslog(目前为 5.8.11-1~bpo60+2),感谢@abeverley here可能值得分享,我可以通过“$ActionExecOnlyOnceEveryInterval 0在电子邮件通知规则的末尾添加”来解决重置值的问题。

    例如,现在是我的/etc/rsyslog.d/bonding.conf:

    $template bondingMailSubject,"%hostname%: bonding Event"
    $template bondingMailBody,"%msg%"
    $ActionMailSubject bondingMailSubject
    $ActionMailTo root
    $ActionExecOnlyOnceEveryInterval 300
    if $programname == 'bonding' and ($msg contains 'WARNING' or $msg contains 'CRITICAL') then :ommail:;bondingMailBody
    $ActionExecOnlyOnceEveryInterval 0
    
    • 0

相关问题

  • 如何绕过 ISP 的限制性电子邮件政策?

  • SharePoint 传入电子邮件出现“未知别名”错误

  • 电子邮件帐户的角色名称与人名

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 随行人员通过 VPN 连接到 Exchange 2007

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve