毎日何十回もサーバーへスキャンが来るCensysなどについて。IPを弾くには

2021/04/23 2021/04/22

サーバーを立てているとアタックやスキャンがとても多いことが分かります。

下はメールソフトウェアのログですが、TLS で接続が来てすぐに切断するのでログにエラーとして残ります。これがスキャンですね。

  • TLS error on connection from cloud-scanner-6b91ac1d.internet-research-project.net (masscan) [173.255.226.212] (gnutls_handshake): The TLS connection was non-properly terminated.
  • TLS error on connection from li482-57.members.linode.com (masscan) [50.116.63.57] (gnutls_handshake): The TLS connection was non-properly terminated.
  • TLS error on connection from scanner-06.ch1.censys-scanner.com [74.120.14.40] (recv): The TLS connection was non-properly terminated.
  • scanner-04.ch1.censys-scanner.com [162.142.125.37] (recv): The TLS connection was non-properly terminated.

で、毎日何十回もスキャンが来てログに大量に残っているのは "*.censys-scanner.com" というドメインからのアクセス。

ドメインに思いっきり "Scanner" と書かれています。

fail2ban でアクセスを遮断はできますが、そうすると censys-scanner.com が持つ他のサーバーからスキャンが来ます。それも fail2ban で弾いて…の繰り返しがログに残っています。

あまりにもアクセスが多いので調べてみるとミシガン大学のプロジェクトらしい。

Censys

Censys was started as a research project at the University of Michigan by the creators of ZMap and inventors of fast Internet-wide scanning. Today, Censys, Inc. is led by a team of industry and academic security and networking leaders, and provides both best-in-class Internet data and Attack Surface Management.

脆弱なIoT機器への「偵察行為」激化 正体不明のスキャンシステムが多数存在 - ITmedia NEWS

米ミシガン大学の研究者らが立ち上げた「Censys」は、セキュリティに関する調査・研究を目的に開発されたもので、1000種類以上のポートに対してスキャンを行っています。目的はもちろん、中身もホワイトボックスとして公開されており、スキャンを拒否したい場合のオプトアウトの仕組みも用意していることが特徴です。

他に、日本ではあまり知られていませんが「ZoomEye」というスキャンエンジンもあります。これは中国ベースのスキャンシステムで、Shodanと同様に、多くのIoT機器やデバイスの情報を収集しています。

Censys はサーバーのポートをスキャンして、どこが開いているかなどを調べ、それをデータベース化して売っています。無料でも少し見せてくれます。

私のところに来た internet-research-project.net からのアクセスもスキャンで、情報を集めているようです。

ログに書かれている masscan は使っているツールの名前です。大量に素速くスキャンできるツールらしい。

こうしたサーバーへのスキャンを大量に行って情報を集めているところが他にもたくさんあるようです。

日本政府もスキャンを実施

日本でも IoT 機器の穴を見つけて連絡する試みが行われています。

国によるIoT機器へのセキュリティ調査、2月20日よりポートスキャン実施 - INTERNET Watch

この試みは良さげです。例えば家に置いたWEBカメラへ不正アクセスされる可能性があるなら、それを通達してくれるのは有り難いです。

ログを見られる人ならアタックだと思ってぞっとしますけどね。「うわ、よくあるパスワードで入り込もうとしてる」と。

ログ汚しの Censys をブロックする

スキャンしてセキュリティホールの存在を通達してくれるのなら有り難いのですが、Censys や Internet Research Project などのスキャンはこちらへ利益がありません。

無駄なトラフィックだし、ログにも残って本当のアタックを読み取りにくくなります。

ブロックしても問題ないでしょう。Censys はスキャンに使うIPアドレスを公開していて、これを遮断すればOKです。

Frequently Asked Questions – Censys

  • 74.120.14.0/24
  • 162.142.125.0/24
  • 167.248.133.0/24
  • 192.35.168.0/23

Censys はHTTPへのアクセスは下の User-Agent を使っています。

  • Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)

スキャナーの中では Censys はスキャンに用いるIPアドレスを公開しているだけ良心的です。

fail2ban でスキャンを弾く

他のスキャナーに対応するため、以前から使っている fail2ban で弾いてみます。fail2ban についてはこちらに Tips を書いています

fail2banをうまく動かすためのTips。正規表現はシンプルに見やすく
fail2banをうまく動かすためのTips。正規表現はシンプルに見やすく

今回は exim 用に作りますので、元々ある exim 用のコンフィグをコピーして編集します。

# cp /etc/fail2ban/filter.d/exim.conf /etc/fail2ban/filter.d/exim-scan.conf

# vi /etc/fail2ban/filter.d/exim-scan.conf

中身は大きく変え、

[INCLUDES]

[Definition]

prefix = ^.*exim(?:\[[^:]+?\])?:(?: [\d-]+ [\d:]+)?

failregex = %(prefix)s TLS error.+?\(masscan\) \[<HOST>\]
%(prefix)s TLS error.+?from .*?scanner.+? \[<HOST>\]

こんな感じでどうでしょうか? "failregex" の右側はインデントを揃えて下さい。上記のコードは空白が取り除かれているのでインデントが揃っていません。

"(masscan)" があればヒット、ドメインに "scanner" が入っているとヒット。

これを "jail.local" に登録します。Hestia を使っているので action は Hestia のものを流用します。

# vi /etc/fail2ban/jail.local

[exim-scan]
enabled = true
filter = exim-scan
action = hestia[name=RECIDIVE]
logpath = /var/log/exim4.log
maxretry = 1
bantime = 1w

BANは厳しくして、一回でも引っかかれば1週間のBANにしています。Hestia の "RECIDIVE" での BAN は対象のIPを全ポートで遮断します。

これで様子を見てみます。

「サーバー」の最新記事

その他の最新記事

About

Nomeu

ほとんどのジャンルのゲームが好きです。特に好きなのはRPG。「Xenogears」「クロノトリガー」「ペルソナ3、4」とか。ドラクエは「V」。主人公が「勇者」ではないところが好き。ビジュアルノベルは「STEINS;GATE」「Ever 17」「AIR」が好き。

どこぞの作曲コンクール最優秀賞受賞。好きなゲーム音楽は「愛のテーマ (FF)」「Heartful Cry (ペルソナ)」「夢の卵の孵るところ (Xenogears)」「凍土高原 (Kanon)」「夜の底にて (クロノトリガー)」「Theme of Laura (Silent Hill 2)」「Scarlet (みずいろ)」「bite on the bullet (I've)」など。たくさんありすぎてスペースが足りません。

ゲーム音楽以外だと「Ballet Mecanique (坂本龍一)」「月光 第3楽章 (L.v.Beethoven)」「水のない晴れた海へ (Garnet Crow)」「Angelina (Tommy Emmanuel)」「空へ… ライブ版 (笠原弘子/ロミオの青い空)」「太陽がまた輝くとき (高橋ひろ/幽遊白書)」「スカイレストラン (ハイ・ファイ・セット)」など。