SMTP ダミーサーバ3か月運用して見えたこと

学習目的で6月からSMTPのダミーサーバを運用しています。

このサーバでは、TCP Port 25, 587, 465でSMTPのサービスが待ち受けています。

細かい設定としては、

  1. Port 25 はSMTP認証を受け付けない
  2. Port 465, 587 は認証が必要
  3. Port 25, 587 は Explicit TLS に対応
  4. Port 465 は Implicit TLS
  5. TLSは TLSv1 TLSv1.1 TLSv1.2 TLSv1.3 の各バージョンを受け付ける

としています。

実際に使っているミドルウェアは、一番外側(インターネットから直接接続を受ける)に、nginxを配置。
同じnginxのPort 80に、Luaで書いた簡易認証サーバを用意して認証(実際はザル)を任せます。

別途、golangで書いたSMTPデーモンを常駐させ、nginxのupstreamとします。

golangで書いたSMTPデーモンは、SMTPセッション中に得た情報とメールの内容をS3互換オブジェクトストレージに保存します。

今回3か月運用してみて分かったことをいくつかあげます。

1. TLS 1.3 は結構使われている

3か月分のログを集計し、TLSバージョンを調べてみました。

バージョン 割合
TLSv1.2 86.79%
TLSv1.3 15.22%

いかんせん、限られた数のドメインのMXと、あとは不正利用目的と思われる接続が大部分を占めているので一般的なメールサービスとの乖離はあると思いますが、
結構TLS 1.3 使われているんだなという印象を持ちました。

続いてcipher。

cipher 割合
ECDHE-RSA-AES256-GCM-SHA384 86.79%
TLS_AES_256_GCM_SHA384 15.22%

どうもTLSバージョンとの組み合わせで決まっているようです。

2. info@ や test@ は狙われる

続いてSMTP認証を施行されたアカウント。
アカウントについては @ を含むものについては @の前までとしています。
また、1,000件未満のもの、特定の個人名と思われるものは除外しています。

アカウント 回数
test 23141
info 20704
user 16846
kelly 14612
flora 14205
contact 7911
navtam 7707
cumplmsameargaasta193 6285
vinita 5878
sakura 4659
root 1816
postmaster 1206
mail 1205
spam 1001
admin 1000

info が多いのはなんとなくわかりますが、test が多いのは意外でした。

引き続き、観察を続けたいと思います。