「SSHのバナーに天安門事件と表示すれば中国からのアタックを防げる」はガセ

天安門事件

「htmlのヘッダに!-- 天安門事件 --って書けば中国から見られない」とか「LINE乗っ取られても天安門事件って書けば追い出せる」とか言われていて、ではSSHではどうなのか。

SSHハニーポット

ハニーポットというのは脆弱な環境をエミュレーションすることで攻撃者を観察できるというもので、ここではkippoというハニーポットを使った。
desaster/kippo · GitHub
Kippoは脆弱なidとpasswordで動いているSSHDをエミュレーションして、どんなログイン試行があったかとか侵入されてから攻撃者がどんなコマンドを打ったかとかログを取ることができる。rootでは動かないため、仮にkippoを乗っ取られても被害は食い止められるようになっている。
インストール方法は割愛。kippoだけなら設定に気を遣うべきところは特にないが、kippo-graphで可視化する場合、ちゃんとApacheとかphpMyadminとか隠す必要がある。

アタック


初日はShodan(後述)と中国だけだったが、たまにルーマニアカンボジアからも来るようになった。
広西チワン族自治区のあるアドレスレンジから日に500回くらい試行があって、GoogleMap上では「茶店」となっているんだけど、お前データセンターだろ。

バナーの書き換え

中国からのSSHアタックを簡単で完璧な阻止率100%の対策について - lql.be::hateda
リンク通り、issue.netに天安門事件と書き加えただけ。

結果

中国からの試行が一見減った(324 -> 246)ように思えたのでぬか喜びしていたが、それでもアタックは普通に来る。


天安門事件と書けばアクセスを防げるというのはひとえに金盾のキーワード検索によるものだが、バナーと言えどSSH通信は金盾の検閲範囲外にあたる。バナーはDiffie-Hellman鍵交換の後に来るからだ。

解決策


まあ実際こんなことする人いないと思うので、ポートノッキングなり強固なパスワードを使うとかするしかない。てか鍵使えよ。

Shodan

SHODAN - Computer Search Engine
Shodanという凶悪な検索エンジンがあって、インターネットに接続されている機器を検索することができる。
IPAテクニカルウォッチ 「増加するインターネット接続機器の不適切な情報公開とその対策」の公開:IPA 独立行政法人 情報処理推進機構
ハニーポットを動かし始めて12時間弱でShodanからのスキャンが来た。


Kippoはデフォルトだと22番ポートを2222番ポートにNATして使うことになっている。だが、ShodanはデフォルトポートからKippoを検出機能を備えているので別のポートを使った。これでスキャンは来るけどShodanに掲載されずに済む。
Shodanのスキャンは複数国から来るので、抜本的な対策は難しい。ハニーポットではなく一般的なSSHサーバーを動かす場合はShodanを意識したほうがいい。