Qwertie Asked: 2018-07-16 05:18:07 +0800 CST2018-07-16 05:18:07 +0800 CST 2018-07-16 05:18:07 +0800 CST 发送有关 SELinux 违规的电子邮件 772 在我的桌面上,当发生 SELinux 违规时,我会收到 GNOME 通知,这使得调试变得简单,但对于服务器,我没有这个。有什么方法可以设置 SELinux,以便在出现违规时向我发送一封包含详细信息的电子邮件? 注意:我有几 (2) 台服务器,我想在上面部署它 fedora email 2 个回答 Voted Best Answer slm 2018-07-16T07:39:11+08:002018-07-16T07:39:11+08:00 根据其中一条评论,setroubleshoot您可以像这样安装这个额外的包: $ sudo yum install -y setroubleshoot 安装后查看其配置文件,特别是此部分: [email] # recipients_filepath: Path name of file with email recipients. One address # per line, optionally followed by enable flag. Comment character is #. recipients_filepath = /var/lib/setroubleshoot/email_alert_recipients 现在继续创建引用的文件: $ echo "[email protected]" > /var/lib/setroubleshoot/email_alert_recipients 然后重新启动/启动服务: $ sudo systemctl start setroubleshoot 高级选项 setroubleshoot还提供了通过 email_alert_recipients 文件过滤 SE 警报的能力: [email protected] filter_type=after_first 这些过滤器有点难以从文档中找到,但它们如下所示: Ignore After First警报:: 这是默认设置。该地址只会在第一次触发时收到警报。对于所有后续触发的警报,将针对相关警报过滤电子邮件警报。 Never Ignore:: 对于每个警报的每个实例,都会向该地址发送一封电子邮件警报。 Ignore Always:: 永远不会为此地址发送电子邮件警报。人们可以使用它来暂时禁用对地址的警报。 但是我在要为其接收电子邮件警报的节点上没有桌面会话?例如,我如何监控服务器? 您可以直接编辑该文件 /var/lib/setroubleshoot/email_alert_recipients。这是上面的 GUI 正在修改的文件。该文件的格式是基于行的,哈希 (#) 字符是注释字符,注释延伸到行尾,空行将被忽略。 注意:地址是每行一个,可选地跟在地址之后(由空格分隔)是名称=值形式的选项。目前只有一种选择: filter_type:: after_first, never, 或always 我对上面的代码片段进行了大量编辑,但试图从常见问题解答中保留这部分的“精神”。 参考 Linux 操作系统服务 'setroubleshoot' Rui F Ribeiro 2018-07-16T05:56:42+08:002018-07-16T05:56:42+08:00 对于几台服务器,发出警报的更好方法是使用logcheck包。 您logcheck在服务器端安装,并定义规则来处理和发送电子邮件,超过您想要触发电子邮件的预期规则。 这样,如果明天您需要其他不是 SELinux 的规则,您可以添加它们。 logcheck已经带有一组默认规则。logcheck过去,当我有几个 Linux 服务器的较小基础架构时,我使用了一段时间。 显然,要发送电子邮件,您还必须有一个 MTA 服务器端,该服务器端具有能够向您发送电子邮件的最低配置。根据电子邮件是内部电子邮件还是 Gmail,您必须进行不同的设置。 对于更大的基础结构,我建议拥有一个中央系统日志服务器,并处理该服务器上的日志,但是根据您对 2 台服务器的回答,我不会进一步详细说明这一点。
根据其中一条评论,
setroubleshoot
您可以像这样安装这个额外的包:安装后查看其配置文件,特别是此部分:
现在继续创建引用的文件:
然后重新启动/启动服务:
高级选项
setroubleshoot
还提供了通过 email_alert_recipients 文件过滤 SE 警报的能力:这些过滤器有点难以从文档中找到,但它们如下所示:
参考
对于几台服务器,发出警报的更好方法是使用
logcheck
包。您
logcheck
在服务器端安装,并定义规则来处理和发送电子邮件,超过您想要触发电子邮件的预期规则。这样,如果明天您需要其他不是 SELinux 的规则,您可以添加它们。
logcheck
已经带有一组默认规则。logcheck
过去,当我有几个 Linux 服务器的较小基础架构时,我使用了一段时间。显然,要发送电子邮件,您还必须有一个 MTA 服务器端,该服务器端具有能够向您发送电子邮件的最低配置。根据电子邮件是内部电子邮件还是 Gmail,您必须进行不同的设置。
对于更大的基础结构,我建议拥有一个中央系统日志服务器,并处理该服务器上的日志,但是根据您对 2 台服务器的回答,我不会进一步详细说明这一点。