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