ディクショナリーアタックの方法と防御手法
ソースとかは載せないんですけど、普通にプログラミングとかを仕事でしてるならわかると思いますが・・・。
ディクショナリーアタックの8桁英数文字だけなら23 日と 1時間36分0でで全てのパスワードを網羅します。
総当たり攻撃 - Wikipediaのコンピュータ性能によるパスワード解読時間の関係(Lockdown.co.uk,2009)
100MHzの30倍にあたる3GHzとして計算してます
こちらをもとに算出しております。
しかしこちらが2corなり並列で動かした場合の理論値は倍になりますし、さらに3corなら3倍です。
っというのを考えると最長で6時間と9分4秒で終わります。
これは00000000~ZZZZZZZZまでの値である為これだけの時間は持たないでしょう。
手元にある安価なPCでも、1日当たり最低4アカウントをハックできますね。
実際の攻撃者はこの様な攻撃を行いませんが、標的が決まっている場合はこのような攻撃をしてくるでしょう。
そこでディクショナリー攻撃が疑われる場合は、パスワードが複数回間違えている場合は自動でロックをかける仕組みを入れるべきでしょう。
centos6であるならば
/etc/pam.d/system-authの配下に
【auth required pam_tally2.so deny=3 onerr=fail unlock_time=60】
を追記すべきである。
これは全てのuserが deny(何回)onerr(fail or tru 失敗か成功か)unlock_time(ロックする時間)を決めるものです。
こちらの詳しい記事は
https://wiki.centos.org/HowTos/OS_Protection?highlight=%28pam_tally2%29
こちらに記載されております。(公式です)
まぁunlock_timeを記載しなければ永久にロックフラグが立ちますが。
以上です。