Feb 5 13:07:52 plugh rsyslogd-2177: imuxsock begins to drop messages from pid 12105 due to rate-limiting
FROM:https://www.nri-secure.co.jp/ncsirt/2013/0218.html
SANSインターネットストームセンターのハンドラであるJohannes Ullrichが、rsyslogのrate-limiting機能について報告している。
(掲載日:米国時間 2013年2月6日)
(本稿は、Bill Parker氏に寄稿して頂いた)
/var/log/*配下のログファイルを参照しているが、重要あるいは重大になりうる情報を紛失している管理者はどのくらいいるだろうか?
あるテストマシン(VirtualBox 4.2.6の64ビット版CentOS 6.3)において、広く使われているIDS(Snort 2.9.x)を扱っていた時だ。/etc/init.dの起動スクリプト経由でsnortが初期化される際、筆者は普段目にしないメッセージに偶然気がついた。
メッセージの原因はこうだ。最近のLinuxディストリビューションであれば、その多くにsyslogdあるいはsysklogdを置き換えるrsyslogが付属している。しかし、rsyslogのバージョン5.7.1から、rate-limitingという機能が追加され、5秒間に/var/log/messagesへ200以上のメッセージ(rsyslogのデフォルト設定)を送信したプロセスID(PID)があれば、rsyslogはメッセージを捨て始め、/var/log/messagesに以下のような警告を出力する。
Feb 5 13:07:52 plugh rsyslogd-2177: imuxsock begins to drop messages from pid 12105 due to rate-limiting
そのため、/var/log/messages等にメッセージを出力するデーモンあるいはプロセスの場合、セキュリティ管理者/システム管理者にとって、多くの重要/重大なメッセージが紛失してしまう可能性がある。
ルータ/ファイアウォール/Webサーバから出力されるメッセージに対しrate-limitingを活用するのは、特定のネットワーク型攻撃を抑制する上で効果的な方法になる。その一方で、システム/アプリケーション・ロギングの場合、SIEM(注1)あるいは膨大なシステム/アプリケーション・ログを収集し解析するアプリケーションにとって、この機能は悪夢のような状況を作り出す可能性がある。ただ、rsyslogの仕様を調べたところ、解決策を2つ見つけたので以下に紹介したいと思う。
注意 - 先に進む前に対象ファイルのバックアップを取得する事!
1つ目の解決策は、単にrsyslogでrate-limitingが発生する前のメッセージ数上限を上げる、あるいは時間間隔を減らすというものだ。そのためには、rsyslog.confあるいはrsyslog.early.confを見つけ(通常は、/etc以下にある)、下記設定を追加する。
$SystemLogRateLimitInterval 10
$SystemLogRateLimitBurst 500
上記は、rsyslog.confあるいはrsyslog.early.confの$ModLoadディレクティブ以下に追加する。
この設定により、10秒間に500以上のメッセージを1つのPIDから受信した場合、rate-limitingが動作しメッセージを捨て始める(上記の値は絶対的なものではなく、システムに合わせ調整してほしい)。
2つ目の解決策は、単純にrsyslogのrate-limitingを無効にするというものだ。そのためには、下記設定をrsyslog.confあるいはrsyslog.early.confに追加する。
$SystemLogRateLimitInterval 0
上記は、rsyslog.confあるいはrsyslog.early.confの$ModLoadディレクティブ以下に追加する。
この設定により、rate-limiting自体が無効になる。ただ、この設定を投入する事で、制御できなくなったプロセスIDが使い道のないメッセージで/var/log/messagesを埋め尽くす可能性があるという事は、認識しておいて頂きたい(そういう訳で、rate-limitingがrsyslogにおいてデフォルトで有効になっているのだ)。
また、rsyslog.confあるいはrsyslog.early.confの設定変更を有効にする際には、rsyslogデーモンを忘れずに再起動してほしい。
なお、下記のLinuxディストリビューションでは、rsyslogをデフォルトのシステムロガーとして使用している。
CentOS 6.x
Debian 5.0
Fedora 13以上
OpenSuSE 11.x/12.x
Ubuntu 10.0以上
また、BSDベースのシステム(FreeBSD 8.x/9.0、OpenBSD 5.x、NetBSD 5.x/6.0)では、伝統的なsyslogdがデフォルトのシステムロガーとして使用されている。より詳細な情報が必要な場合、下記URLを参照してほしい。
http://www.rsyslog.com/doc 
注1:SIEMとはSecurity Information and Event Managementの略で、ネットワーク機器、サーバ機器等から出力されるログを集中的に保存・解析するソリューション
原文:https://isc.sans.edu/diary.html?storyid=15106 
Feb 5 13:07:52 plugh rsyslogd-2177: imuxsock begins to drop messages from pid 12105 due to rate-limiting的更多相关文章
- UVA 10392 (13.07.28)
Problem F: Factoring Large Numbers One of the central ideas behind much cryptography is that factori ...
- ofbiz最新版13.07.01环境搭建、安装(linux环境下)
一.软件必备: 1.jdk1.7 2.mysql5.6 3.安装tomcat 二.安装: 1.安装 JDK1.7 2.安装mysql数据库 3.下载apache-ofbiz-13.07.01.zip ...
- Saving James Bond - Easy Version 原创 2017年11月23日 13:07:33
06-图2 Saving James Bond - Easy Version(25 分) This time let us consider the situation in the movie &q ...
- select document library from certain list 分类: Sharepoint 2015-07-05 07:52 6人阅读 评论(0) 收藏
S using System; using Microsoft.SharePoint; namespace Test { class ConsoleApp { static void Main(str ...
- UVA 299 (13.07.30)
Train Swapping At an old railway station, you may still encounter one of the lastremaining ``train ...
- UVA 140 (13.07.29)
Bandwidth Given a graph (V,E) where V is a set of nodes and E is a set of arcsin VxV, and anorderi ...
- UVA 568 (13.07.28)
Just the Facts The expression N!, read as `` N factorial," denotes the product of the first N ...
- UVA 408 (13.07.28)
Uniform Generator Computer simulations often require random numbers. One way to generatepseudo-ran ...
- Hdu1896 Stones(优先队列) 2017-01-17 13:07 40人阅读 评论(0) 收藏
Stones Time Limit : 5000/3000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Submis ...
随机推荐
- 数据文件resize扩容
表空间不足 Alert日志报错 Mon Dec :: GMT+: Incremental checkpoint up to RBA[ox1af2d.3ddll.], current log tail ...
- Project篇:项目1
项目: 步骤: (1)布置项目 (2)独立完成项目设计 (3)项目框架讲解 (4)独立完成项目功能编写 (5)项目讲解 项目内容介绍: 项目开发流程: 需求分析------>概要设计------ ...
- 归并排序merge_sort
将区间递归分解,直到区间只有2个元素,然后比较大小,排序,等递归回来的时候就将排序好的子区间再排序合并....一直排序合并,最后就排序完成了. (可以做范围大的逆序数的题) #include < ...
- Gym - 101889D:Daunting device (老司机树)
题意:N个格子排出一排,开始格子颜色都是1:现在有M个操作: 或,把区间[L,R]颜色改为c: 或,查询一共有多少格子颜色为c. 最后求颜色最多的数量. 数据是随机的,且强制在线. 思路:ODT裸题. ...
- Light OJ 1199:Partitioning Game(SG函数模板)
Alice and Bob are playing a strange game. The rules of the game are: 1. Initially there are n p ...
- java利用Comparator接口对自定义数组排序
import java.util.Arrays; import java.util.Comparator; public class MySort { public static void main( ...
- Redis 开发与运维
Getting Start 高性能 性能优势的体现 C语言实现的内存管理 epoll的I/O多路复用技术+IO连接/关闭/读写通过事件实现异步的非阻塞IO TCP协议 单线程架构,不会因为高并发对服务 ...
- 安装,配置,启动FTP,SSH,NFS服务
1.安装,配置,启动FTP服务 sudo apt-get install vsftpd 修改vsftpd的配置文件/etx/vsftpd/.config,将下面几行前面的“#”去掉 #local_en ...
- Json工具类JsonUtil
import com.alibaba.fastjson.JSONArray; import com.fasterxml.jackson.core.JsonProcessingException; im ...
- LeetCode - Cut Off Trees for Golf Event
You are asked to cut off trees in a forest for a golf event. The forest is represented as a non-nega ...