SMTP ダミーサーバ3か月運用して見えたこと
学習目的で6月からSMTPのダミーサーバを運用しています。
このサーバでは、TCP Port 25, 587, 465でSMTPのサービスが待ち受けています。
細かい設定としては、
- Port 25 はSMTP認証を受け付けない
- Port 465, 587 は認証が必要
- Port 25, 587 は Explicit TLS に対応
- Port 465 は Implicit TLS
- 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 |
1205 | |
spam | 1001 |
admin | 1000 |
info が多いのはなんとなくわかりますが、test が多いのは意外でした。
引き続き、観察を続けたいと思います。