前回の記事のfluent-plugin-filter-parse-postfixはデフォルトでメールアドレスをマスクするようにしている。
<source> @type tail path /var/log/maillog pos_file /var/log/td-agent/postfix-maillog.pos tag postfix.maillog format none </source> <filter postfix.maillog> @type grep regexp1 message status= </filter> <filter postfix.maillog> @type parse_postfix mask true # デフォルト値 #include_hash ture </filter>
{ "time":"Feb 27 09:02:38", "hostname":"MyHOSTNAME", "process":"postfix/smtp[26490]", "queue_id":"5E31727A35D", "to":"*********@myemail.net", "domain":"myemail.net", "relay":"gateway-f1.isp.att.net[204.127.217.17]:25", "conn_use":2, // 一応数値型… "delay":0.58, // 一応数値型… "delays":"0.11/0.03/0.23/0.20", "dsn":"2.0.0", "status":"sent", "status_detail":"(250 ok ; id=en4req0070M63004172202102)" }
メールアドレスはstatus_detailなどにも入っているが、それらについてもマスクするようにしている。(spec)
あと、 include_hash ture
というオプションを追加するとsha512のハッシュ値も付加されて、マスクされたデータを検索することもできる*1。
なんでまあ、一応便利に使ってます。
*1:要openssl-devel/libssl-dev