Linux报错:audit: backlog limit exceeded(审计:超出积压限制)

系统版本:CentOS Linux release 7.6.1810 (Core)

问题现象:一次巡检中发现业务系统打不开,对应的Linux服务器ssh连接不上,但是能ping通,于是在VMware vcenter 远程控制台打开操作系统界面,报错提示 audit: backlog limit exceeded,尝试“ctrl+z”中断报错未果,只能强行关机,重新开机能正常系统。

问题原因:audit服务记录的审计事件超出默认(或设置)数量 ,达到或超出容量的审计缓冲区队列也可能导致实例锁定或持续无响应状态。

解决办法:由于尝试“ctrl+z”中断报错未果,只能强行关机,重新开机才能正常系统,究其原因不采取措施,审计事件再次溢出依旧会出现该问题。

方法一:增加审计缓冲区空间(audit buffer)

  1. 注意:增加审计缓冲区会消耗系统的更多内存。设置 backlog_limit 参数的大小取决于系统的总内存。如果系统有足够的内存,则可以尝试将现有的 backlog_limit 参数值加倍。
  2. 审计积压所需内存的计算公式。使用此计算公式来确定在不对系统造成内存压力的情况下可以设置多大的积压队列。
  3. 一个审计缓冲区 = 8970 字节
  4. 审计缓冲区的默认数量(backlog_limit 参数)= 320
  5. 320 * 8970 = 2870400 字节(2.7MiB
  6. 在本示例中,我将 backlog_limit 参数值更改为 10000 个缓冲区。根据上述计算公式,10000 个缓冲区等于87MiB 内存。您可以根据内存计算公式使用任何值。

1、查看当前默认配置:auditctl -s

2、在内核中设置最大现有审计缓冲量:auditctl -b 8192

永久设置,修改规则配置文件:vi /etc/audit/audit.rules

  1. 参数说明:
  2. -D 删除所有规则
  3. -b 设置audit缓冲大小,若缓冲占满了,则kernel会发出一个失败标记
  4. -f 0|1|2 设置audit获取错误的等级。有0/1/2三个值。0是不输出日志;1为输出printk日志;2为最高级、会输出大量日志信息
  5. -e 0|1 启用/禁用audit审核

3、重新启动 auditd 服务。

  1. service auditd stop
  2. service auditd start
  3. service auditd restart

方法二:禁用aduit审核,不进行审计事件记录(不建议)

参考链接:7.5. 定义审计规则 Red Hat Enterprise Linux 7 | Red Hat Customer Portal

知识拓展:Linux系统审核

Linux Audit 系统提供了一种方式来跟踪系统中的安全相关信息。根据预配置的规则,审计会生成日志条目,以记录有关系统上发生事件的尽可能多的信息。对于关键任务环境而言,此信息对于确定安全策略的违反者及其执行的操作至关重要。Audit 不会为您的系统提供额外的安全性,而是可用于发现系统上使用的安全策略违规。通过 SELinux 等其他安全措施可以进一步阻止这些冲突。
以下列表总结了审计可以在其日志文件中记录的一些信息:
  • 事件的日期和时间、类型和结果.
  • 主题和对象的敏感度标签。
  • 事件与触发事件的用户的身份相关联。
  • 对 Audit 配置的所有修改,并尝试访问 Audit 日志文件。
  • 所有身份验证机制的使用,如 SSH 和 Kerberos 等。
  • 对任何受信任数据库的更改,如 /etc/passwd.
  • 尝试从系统导入或导出信息.
  • 根据用户身份、主题和对象标签以及其他属性,包含或排除事件。
使用审计系统也是许多安全相关认证的一项要求。审计旨在满足或超过以下认证或合规指南的要求:
  • 受控访问保护配置文件(CAPP)
  • 标记的安全保护配置文件(LSPP)
  • 规则集基本访问控制(RSBAC)
  • 国家工业安全计划操作手册(NISPOM)
  • 联邦信息安全管理法案(FISMA)
  • 支付卡行业 - 数据安全标准(PCI-DSS)
  • 安全技术实施指南(STIG)
审计还包括:
  • 由国家信息保障合作伙伴(NIAP)和最佳安全行业(BSI)评估。
  • 通过红帽企业 Linux 5 上的 LSPP/CAPP/RSBAC/EAL4+ 认证.
  • 红帽企业 Linux 6 上经过操作系统保护配置文件/评估保证级别 4+(OSPP/EAL4+)认证.

使用案例

监视文件访问
审计可以跟踪文件或目录是否已访问、修改、执行或文件属性是否已更改。例如,这可用于检测对重要文件的访问,并在其中一个文件损坏时提供审计跟踪。
监控系统调用
可将审计配置为在每次使用特定系统调用时生成日志条目。例如,这可用于通过监控 settimeofday、clock_adjtime 和其他时间相关系统调用来跟踪系统时间的更改。
记录用户运行的命令
审计可以跟踪文件是否已执行,因此可以定义规则以记录特定命令的每次执行。例如,可以为 /bin 目录中的每个可执行文件定义规则。然后,可以按用户 ID 搜索生成的日志条目,以生成每个用户所执行命令的审计跟踪。
记录系统路径名称的执行
除了观察在规则调用时转换索引节点路径的文件访问之外,审计现在还可以观察路径的执行,即使路径在规则调用中不存在,或者在规则调用后替换了文件。这允许规则在升级程序可执行文件或甚至安装之前继续运行。
记录安全事件
pam_faillock 身份验证模块能够记录失败的登录尝试。也可以将审计设置为记录失败的登录尝试,并提供试图登录的用户的附加信息。
搜索事件
Audit 提供 ausearch 实用程序,可用于过滤日志条目并根据多个条件提供完整的审计跟踪。
运行摘要报告
aureport 实用程序可用于生成记录的事件的日常报告等。然后,系统管理员可以分析这些报告,并进一步调查可疑活动。
监控网络访问
iptables andebtables 实用程序可以配置为触发审计事件,使系统管理员能够监控网络访问。
注意
系统性能可能会受到影响,具体取决于审计收集的信息数量。

Linux报错:audit: backlog limit exceeded(审计:超出积压限制)的更多相关文章

  1. audit:backlog limit exceeded

    今天发现存储服务器业务不可用,服务器能ping通,远程不了!  到机房管理员那里查看服务器状态后,发现显示如下: 显然系统已经崩溃,只能先重启服务器,先恢复业务,然后针对backlog limit e ...

  2. ES部署报错 max file size 和 kibana 报错File size limit exceeded

    启动失败一 ERROR: [2] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process ...

  3. error: audit:backlog limit exceeded

    报错场景:telnet.ping.ftp都通的情况下,无法ssh服务器 原因:audit缓冲区设置过小,服务器默认缓冲区大小为320kb 解决办法:可通过auditctl -b 8192设定缓冲区大小 ...

  4. kernel: audit: printk limit exceeded

    问题: 小长假的第一天早上8:18一个数据,被定时任务中的脚本漏处理: 查定时任务的日志,发现调度异常 查var messages-20171231 日志信息,排查问题. http://man7.or ...

  5. 64位linux报错Could not initialize class java.awt.image.BufferedImage

    最近碰到一个问题: 64位linux报错Could not initialize class java.awt.image.BufferedImage 在WIN平台下运行正常BufferedImage ...

  6. Linux报错之ping: www.baidu.com: Name or service not known

    Linux报错之ping: www.baidu.com: Name or service not known 出现这个以后,首先去ping下主机Ip,发现能ping通,但是出现另一个问题Destina ...

  7. Linux报错

    Linux报错 ------------------- 在VMware虚拟机中配置yum源时,执行 mount /dev/cdrom /mnt/cdrom 出现 mount: no medium fo ...

  8. FXP登录Linux报错

    1.用FXP登录Linux报错: [info] subsystem request for sftp failed, subsystem not found.[右] [execute] /usr/li ...

  9. linux 报错:E: Package 'libmemcached' has no installation candidate

    linux 报错:E: Package 'libmemcached' has no installation candidate 网上查资料说是软件安装源没有这个软件,需要添加软件源. 1.备份源列表 ...

  10. 【解决方法】安装Win7和linux双系统后,linux报错“无法分配所提交的分区 not enough free space on disks”问题,以及win7无法启动“BootMGR image is corrupt....”问题

    近日,在笔记本上重装了Win7 企业版(64位)后,想装个linux双系统,于是开始安装 centOS 6.2(光盘安装) 硬盘分了一个主分区(c盘),一个扩展分区(3个逻辑分区:d,e,f盘),然后 ...

随机推荐

  1. STM32自学笔记

    1位带操作 第一种位带操作 #define BITBAND_REG(Reg,Bit) (*((uint32_t volatile*)(0x42000000u + (((uint32_t)&(R ...

  2. linux里mysql数据库导入数据结构,丢失了索引 解决步骤

    1.网上可查 索引导出语句:(导出语句并没将索引导出而是全部查出来) SELECTCONCAT('ALTER TABLE `',TABLE_NAME,'` ', 'ADD ', IF(NON_UNIQ ...

  3. 微信浏览器h5页面开发遇到问题

    1.ios不支持window.open(),要创建a链接 let elink = document.createElement('a'); elink.href = baseURL+'/onlineC ...

  4. ubuntu安装xface

    Gnome.KDE.XFACE桌面环境安装和卸载 出自Ubuntu中文 安装桌面环境 (一)在终端中运行安装: 1.安装XFACE: sudo apt-get install xubuntu-desk ...

  5. 5、什么是MIME

    MIME 类型 媒体类型(通常称为 Multipurpose Internet Mail Extensions 或 MIME 类型 )是一种标准,用来表示文档.文件或字节流的性质和格式.它在IETF ...

  6. idea 改变片段内相同变量的快捷键

    在 win系统中 shift+F6 在 ios系统中Fn+shift+F6

  7. manu check RAID GEM count and Fragment count of local FN>1

    cat MANU_CHK.sh echo "input Chr" read C echo "input Start" read S echo "inp ...

  8. C/C++ 顺序表的初始化、添加、插入、删除(删除顺序表中指定的所有元素)

    #include <iostream> #include <stdlib.h> #define MAX_SIZE 100 using namespace std; typede ...

  9. linux操作系统scp 命令远程复制文件

    scp  复制文件到远程服务器,端口限制情况下 scp -P 22  文件名  远程服务器用户名@IP:/路径 scp -P 22 file user@IP:/file scp -P 复制文件到远程服 ...

  10. 在.NET中使用JWT

    1.配置文件添加 //jwt配置文件 "JWT": { "SigningKey": "14fa5f2rrwsg627fs256fdgff2r5rf52 ...