環境はUbuntu 12.04.4 LTSとrsyslog 5.8.6です。
標準ポート514を介してUDP経由でメッセージを受信するようにrsyslogを構成しました。これにより、特定の1つのホストがそれにメッセージを送信できるようになります。
$AllowedSender UDP, 192.168.4.1
別のサーバーからメッセージを送信すると、メッセージが拒否されてログに記録されます。
rsyslogd: UDP message from disallowed sender discarded
拒否された送信者のIPアドレスを含めるようにrsyslogを構成することは可能ですか?
バージョン5のソース( https://github.com/rsyslog/rsyslog/archive/v5-stable.Zip )をダウンロードし、plugins/imudp /を見ましたimudp.c。このファイルでは、送信者のfrominetIPアドレスを表示するオプションのないハードコーディングされたメッセージです。
if(glbl.GetOption_DisallowWarning) {
time_t tt;
datetime.GetTime(&tt);
if(tt > ttLastDiscard + 60) {
ttLastDiscard = tt;
errmsg.LogError(0, NO_ERRCODE,
"UDP message from disallowed sender discarded");
}
}
また、tools/syslogd.cに未使用のレムナントchkMsgAgainstACL()fromHost値を表示しました。
errmsg.LogError(0, NO_ERRCODE,
"UDP message from disallowed sender %s discarded",
(char*)fromHost);
Rainerがその機能を保持しないことにした理由がわかりません。彼はここでコードのこのセクションの周りのいくつかのパフォーマンスの問題について議論しています: http://blog.gerhards.net/2009/11/acls-imudp-and-accepting-messages.html
いずれにせよ、送信者のIPアドレスを表示するには、独自のバージョンのrsyslogdをコンパイルする必要があるようです。