しばらく海外へ行っていて、その間ホテルのWi-Fiなどを使って何度かこのブログの管理画面にアクセスしたのですが、そのせいかどうか、ブログへの不正アクセス未遂が急増しています。
やっぱりホテルのWi-Fiは危険なのかについてと、パスワードの堅牢さについて。
ホテルのWi-Fiを使ったあとに不正アクセス未遂が急増中
旅行中に使っていたのは、ホテル、カフェ、空港などの無料のWi-Fiと、現地SIMのテザリングです。
そのうち、わりと安めのいくつかのホテルのWi-Fiは通信が暗号化されておらず、iOSのWi-Fiの一覧では「セキュリティに関する勧告」が表示される類のものでした。
以前記事にしたこういう状況があるのでしょうか。
そういった環境で当ブログの管理画面にアクセスしたせいかどうかはわかりませんが、現地にいるときから目に見えて「ブロックされた悪意あるログイン試行」が増えています。
出発前は2桁件だったものが、現地で一気に跳ね上がり、現在もけっこうなペースで増え続けています。
愛用している「Jetpack」というWordpressプラグインの「怪しいログイン活動をブロック」する機能はオンにしています。
このアクセス件数上昇がホテル等の無料Wi-Fiの利用に起因するものか、たまたまそのタイミングで何か別の要因で増えたものかはわかりませんが、非常に気持ち悪いです。
ブルートフォースアタックに対するパスワードの強度
さて、前出のJetpackの「怪しいログイン活動をブロック」機能は、不正アクセスに用いられるIPアドレスの情報をJetpackユーザー間で共有して、それらのアドレスからのアクセスを遮断することで、不正アクセスからサイトを守る働きをします。
だから、それまで不正アクセスに用いられたことのないアドレスからの攻撃には、おそらく無力です。
行われている攻撃が、パスワードになりうる文字列をひたすら繰り返しトライする「ブルートフォースアタック」だとすると、そこから身を守るにはパスワードの強度だけが頼りです。
WordPressのパスワードは50桁などのむやみに長いものも設定できるのですが、ここでは仮に最大16桁までのパスワードを使うとして、その取りうる場合の数を求めてみましょう。
パスワードに使用する文字は、アルファベットの大文字・小文字、0~9までの数字、「!”?$%^&」の文字、あわせて69種類とします。
すると、パスワードの取りうる場合の数は…
69+69^2+69^3+69^4+…+69^16
ということになります。
Excelで計算してみると267870957353242000000000000000通りのパターンがあるそうです。
(有効桁数が足りなくて下半分の桁は0になっちゃってますが)
仮に毎日1兆回トライしたとして、全パターンを試しつくすのに267870957353242000日掛かる計算になります。たぶん宇宙の寿命くらいの長い時間です。よく知りませんが。
もちろん全パターンを試さなくても正解にはたどり着けるでしょうが、それでも現実的な日数で成功させるには、ものすごい強運で正解を引き当てる必要があります。
こう考えると、ある程度長めのランダムなパスワードを他のサイトと共有せずに設定しておけば、パスワードが破られて不正なアクセスに遭うリスクはほとんど無視して良いレベルだと思われます。
というわけで、「悪意あるログイン試行」についてはあまり心配しなくても良さそうだということがわかりました。
なお、ログイン試行の回数を制限するWordpress用のプラグインもたくさん開発されています。
そういうものをインストールしておくことで、1日あたりの不正アクセス数を減らしておけば、なおさら安全というものですね。
パスワードの使いまわしを避けるには、パスワード管理ソフトを使うのが最も安全・確実です。