2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【SMTP】ヘルスチェックのログを手作り、ログをフィルタリングで破棄したい。【rsyslog】

Last updated at Posted at 2018-11-13

##【事象】
ILBを新たに立てる際、25番ポートにヘルスチェックが飛んでしまってmaillogを逼迫されて困っていた。

##疑似ヘルスチェックログを作成
ログの破棄そのものはrsyslogの設定で選別できるものと判明したが、sandboxでテストしたい。
できればping的な感じのコマンドが欲しかったけど特になく、
telnet以外にもプロトコルやポートを指定したログの吐かせ方があるのでやってみた。
・telnetで実現する場合
・ncで実現する場合
・curlで実現する場合

・telnetで実現

■送信元
[root@ba7f4321aa7e /]#  while true;do clear;date ;echo '----';(sleep 1;echo quit) |telnet 対象ホストのIP 25 ;sleep 1;done
[root@ba7f4321aa7e /]# 
■受信元
[root@0d5efba6e27b /]# tail -F /var/log/maillog
Nov 13 12:27:28 0d5efba6e27b postfix/smtpd[223]: connect from unknown[172.17.0.6]
Nov 13 12:27:36 0d5efba6e27b postfix/smtpd[223]: lost connection after CONNECT from unknown[172.17.0.6]

・ncで実現

■送信元
[root@ba7f4321aa7e /]# while true;do clear;date ;echo '----';(sleep 1;echo quit) |nc 対象ホストのIP 25 ;sleep 1;done
[root@ba7f4321aa7e /]# 
■受信元
[root@0d5efba6e27b /]# tail -F /var/log/maillog
Nov 13 12:27:28 0d5efba6e27b postfix/smtpd[223]: connect from unknown[172.17.0.6]
Nov 13 12:27:36 0d5efba6e27b postfix/smtpd[223]: lost connection after CONNECT from unknown[172.17.0.6]

・curlで実現

■送信元
[root@ba7f4321aa7e /]# while true;do clear;date ;echo '----';sleep 1 |curl -vv smtp://対象ホストのIP:25 --mail-from 'send-from@example.com' --mail-rcpt 'send-to@example.com' ;sleep 1;done
■受信元
[root@0d5efba6e27b /]# 
[root@0d5efba6e27b /]# tail -F /var/log/maillog
Nov 13 16:19:56 0d5efba6e27b postfix/smtpd[294]: connect from unknown[172.17.0.6]
Nov 13 16:19:56 0d5efba6e27b postfix/smtpd[294]: 0776410DF92C: client=unknown[172.17.0.6]
Nov 13 16:19:57 0d5efba6e27b postfix/cleanup[298]: 0776410DF92C: message-id=<>
Nov 13 16:19:57 0d5efba6e27b postfix/qmgr[127]: 0776410DF92C: from=<send-from@example.com>, size=188, nrcpt=1 (queue active)
Nov 13 16:19:57 0d5efba6e27b postfix/smtpd[294]: disconnect from unknown[172.17.0.6]

##rsyslogで破棄する設定をし反映
■受信元

[root@0d5efba6e27b /]# cat /etc/rsyslog.d/filter.conf
if fromhost-ip == "送信元のIP" and msg contains "検索対象文字列" then
& ~
[root@0d5efba6e27b /]# 
[root@0d5efba6e27b /]# systemctl restart rsyslog
[root@0d5efba6e27b /]# 
[root@0d5efba6e27b /]# tail -F /var/log/maillog
[root@0d5efba6e27b /]# 

無事、吐かれなくなりました~。
公式を読むと、フィルタリングは正規表現も使えてかなりチューニングできるみたいですね。
Filter Conditions
https://www.rsyslog.com/doc/master/configuration/filters.html

<参考>
curl
https://curl.haxx.se/

cURLはHTTPだけじゃない
https://dev.oro.com/posts/2017/06/server/curl/

nc(netcat)コマンドで覚えておきたい使い方8個
https://orebibou.com/2015/11/ncnetcat%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%81%a7%e8%a6%9a%e3%81%88%e3%81%a6%e3%81%8a%e3%81%8d%e3%81%9f%e3%81%84%e4%bd%bf%e3%81%84%e6%96%b98%e5%80%8b/

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?