セキュリティの設定ミス
セキュリティ設定の誤りは、セキュリティ設定がデフォルトとして定義、実装、および維持されている場合に発生します。優れたセキュリティには、アプリケーション、Webサーバー、データベースサーバー、およびプラットフォーム用に定義および展開された安全な構成が必要です。ソフトウェアを最新の状態にすることも同様に重要です。
例
セキュリティの設定ミスの典型的な例は次のとおりです。
サーバーでディレクトリリストが無効になっておらず、攻撃者が同じものを発見した場合、攻撃者はディレクトリをリストして任意のファイルを見つけて実行することができます。すべてのカスタムコードを含む実際のコードベースを取得して、アプリケーションの重大な欠陥を見つけることもできます。
アプリサーバーの構成により、スタックトレースをユーザーに返すことができ、根本的な欠陥が明らかになる可能性があります。攻撃者は、エラーメッセージが提供する、侵入するのに十分な追加情報を取得します。
アプリサーバーには通常、十分に保護されていないサンプルアプリが付属しています。本番サーバーから削除しないと、サーバーが危険にさらされる可能性があります。
ハンズオン
Step 1− Webgoatを起動し、安全でない構成セクションに移動して、その課題の解決を試みましょう。同じスナップショットを以下に示します-
Step 2−考えられる限り多くのオプションを試すことができます。構成ファイルのURLを見つけるために必要なのはすべて、開発者が構成ファイルの一種の命名規則に従っていることを知っています。以下にリストされているものであれば何でもかまいません。これは通常、BRUTEフォーステクニックによって行われます。
- web.config
- config
- appname.config
- conf
Step 3 −さまざまなオプションを試してみると、次のことがわかります。http://localhost:8080/WebGoat/conf'は成功しました。試行が成功すると、次のページが表示されます-
予防メカニズム
開発環境、QA環境、本番環境などのすべての環境は、簡単にハッキングできない各環境で使用される異なるパスワードを使用して同じように構成する必要があります。
コンポーネント間の効果的で安全な分離を提供する強力なアプリケーションアーキテクチャが採用されていることを確認します。
また、自動スキャンを実行し、定期的に監査を行うことで、この攻撃の可能性を最小限に抑えることができます。