非数学者にパスワードセキュリティを証明する標準的な方法はありますか?


16

私のクライアントには、ボットネットからのブルートフォースログイン試行の対象となるサーバーがあります。サーバーとクライアントのクライアントの気まぐれにより、ファイアウォール、ポートの変更、またはログインアカウント名の変更による試行を簡単にブロックすることはできません。

攻撃にさらされたままにすることを決定しましたが、パスワードを安全に保つ方法を見つけます。管理者と他のコンサルタントの一部は、パスワードローテーションソフトウェアをインストールして、10分ごとにパスワードをローテーションし、ログインする必要があるユーザーに新しいパスワードを提供することが最善であると判断しました。

総当たり攻撃は毎秒2回発生しています。

12〜15文字の強力なパスワードを実装する方が簡単で無料のソリューションであることを実証する必要があります。私は数学でこれを証明する方法を知っていますが、私は「私たちのパスワードには多くの可能な順列があり、攻撃者は1日にn回しか試行できないので、x /パスワードを推測するまでに、平均で2日かかります。」これのより標準的な「証拠」はありますか?

回答:


14

iptablesでfail2banを使用するのは素晴らしい方法です。

ここにあなたのための数学があります:

8文字の大文字と小文字のアルファベットと共通記号が混在すると、2.9兆個の組み合わせが得られ、1秒間に10,000回試行すると9,488年かかります。もちろんそれは最大です-4000年以内にパスワードが解読されることを期待してください。幸運を感じていないなら1000年。

ご覧のとおり、次のような15文字のパスワードを入力しても問題はないはずです。

dJ&3${bs2ujc"qX

fail2banはボットネットに対してどのように役立ちますか?
innaM

2
あなただけが持っているでしょう発行している誰もが..自分のパスワードを覚えておくことはできないです
ジェフ・アトウッド

これは本当に興味深いリンクですが、(ページの下部で)攻撃時間はPentium 100に基づいていることに気付きました!おそらく少し時代遅れですが、それでも良い読み物です。
クープ

8

fail2banに加えて、

最新のUNIXを実行している場合、一般に、パスワード入力の悪いスリープ時間を最大5秒に変更して、攻撃速度を2000%遅くすることができます。[Solaris 10では/ etc / default / loginにあり、SLEEPTIMEを検索します]同じ許容値を使用すると、3時間20分ごとにパスワードを変更できます。

また、ロックアウトの前にパスワードを試すことは実行可能なオプションですが、1つのアカウントを共有する複数のユーザーがいて、常にロックアウトされたくないので、あなたには向いていないと思います。

12〜15文字のパスワードを要求することは役立ちますが、継続的に攻撃されている場合は、別のソリューションの方がおそらく良いでしょう。これに対するあなたの会社の予算の許容範囲はわかりませんが、そのアカウントにログインする必要があるすべての人のためのRSAキーカードでも解決できます。2要素認証は、確率を量子計算時間に押し出します。

このボードに投稿するのに十分な長さのブルートフォースアプローチは、驚くべきことです。一般的に言えば、それはかなり控えめで、せいぜい実際の攻撃が行われている間はログのフィラーになります。


6

当局へのアピールはいかがですか?DoDセキュリティ技術実装ガイドライン(iase.disa.mil/stigs/stig)を参照して、「国防総省にとって十分であれば、私たちにとって十分です」と言うことができます。


5

考慮すべき点:パスワードが変更されておらず、ブルートフォース攻撃が自分のパスワードを含むパスワードの世界をテストしている場合、ブルートフォース攻撃は最終的にヒットすることが保証され、その後も脆弱なままになります。

ランダムピックがパスワードにヒットする「チャンス」を計算することもできますが、提案されているように、それがすべてを物語っているわけではありません。

たとえば、ブルートフォースの試みを見て、彼らが試みる最長のパスワードが10文字であることがわかった場合、12で任意のものを選択すると、決してヒットしないことが保証されます。

特定のケースに統計を適用するときは、十分に注意してください。多数のサンプルで全体的な動作を予測するだけです。

それはさておき、数学が誰かを納得させない(またはできない)場合は、宝くじや自動車事故、または落雷などのように、発生する可能性はほぼ同じですが見慣れたものを見つけようとします。「誰かがこのパスワードを押す可能性は、6週間連続で宝くじに当たったのと同じだ」と言えば、より良い感じがするかもしれません。


3
攻撃者がすでに試したパスワードを選択してみませんか?冗談だ。
innaM

4

考慮されていないことの1つは、ボットネットがBruteforceに使用しているユーザー名です。私が見たすべての例で、ブルートフォースはadminとrootのバリエーションを対象としており、1つのまれなケースでは、corpのWebサイトからユーザー名がスクレイピングされました。

また、ルートアカウントが無効(優先)になるか、ローカルサブネットまたは同様のアドレス範囲に制限されるように、対話型ログインの制限を変更します。


2

1秒間に2回は悪くありません。fail2banを実装する前に、毎分数千の試行を確認していました。これは、非常に多くの試行が失敗した後、特定のIPを一定時間ネットワークからロックします(すべて構成可能)

これは私たちにとって非常に効果的です。


2

実際に、iptablesを使用してブルートフォースssh攻撃に対する選択的なスキャンを行うことができます(これが有効な場合)。

次の2つの文字列:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name sshscans 
iptables -A INPUT -m recent --rcheck --seconds 60 --hitcount 5 --name sshscans --rsource -j DROP 

60秒間隔で5回以上SSHに接続しようとするユーザーへのアクセスをブロックします。1秒あたり5より大きい数を許可する場合は、「-hitcount」数を変更できます。



2

指数曲線を理解していない人が多いのは驚くべきことですが、誰もが10、100、および1000の違いを知っているので、比較を始めるのに適した場所かもしれません。

もう1つの方法は、6文字のパスワードをブルートフォースするのにかかる時間を実際に示すことです。プログラミングの知識がある場合は、これを行う簡単なツールをまとめることができます。



2

これは少しオフトピックかもしれませんが、私はdenyhostsを使用しており、Linuxボックスでのブルートフォース攻撃を大幅に削減しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.