サービスの脆弱性を確認する[閉じる]

サービスの脆弱性を確認する[閉じる]

サービスのconfファイル(通常はnginx apache mongodb cassandra sshなどとして使用されます)を確認し、パターンを検索する一種のbashスクリプトを作成する必要があります(mongod.confに権限があることを確認する:行を有効にするか、次のようにする) 。 SSH ロギングはキーを介して有効になり、各サービスが最新バージョンであることを確認し、デフォルトのユーザーを無効にしてサービスのセキュリティを確保します。

しかし、まだ解決できない問題が一つあります。 ;) - 私のスクリプトが機能していることを証明する必要があります。 - 共通サービスの脆弱性を検査できるアプリケーションを知っていますか?ウェブサイト、つまりサービスを言うものではありません。スクリプトを実行する前後にこのテストを実行できます。チャジャン!私のスクリプトは世界を救っています。 ;)

どんな答えでもとても感謝します。

本当にありがとう:3

答え1

あなたが私に求めるのは、標準の監視スクリプトを書くようです。

この問題を解決する最善の方法は、プログラミング言語を選択してそれを使用してすべての言語を書くことです。

Bashスクリプトは特定のタスクに不安定であるため、最善の選択ではありません。多くのことができますが、それを維持することは大きな問題であり、さまざまな外部バイナリを使用してエラーを処理するなどの問題で複雑です。とても混乱していません。例外や他の言語を処理します。

各データベースおよびその他の事項について、ドライバと共にJVM言語(Java、Scala、Groovy)を使用することをお勧めします。 C#はすべてのライブラリを備えているので良い選択です。

そうでない場合は、Python、PHP、Perlなど、多数のドライバとAPIがあります。

したがって、このトピックを真剣に受け入れ、one of the most important things各サービスが適切にテストされていることを確認する必要があります。

スクリプトを作成する場合は、既存のネットワーク監視フロントエンド(たとえば、Thrukを含むNagios)を使用して、スクリプトと通知/レポートのスケジュールされた実行をサポートできます。

また、pnp4nagiosを使用してインジケータを描画することもできます。

また、脆弱性の検索と監視は2つの異なることに注意してください。 1つ目はOpenVASとNessus、2つ目はNagios、Solar Windsなどです。あなたが望むのは、Nagiosなどでカスタムスクリプトを使用することです。

これはプログラミングを学ぶ非常に良い方法です。あなたが必要とするのは非常に簡単なスクリプトを書くだけで、大きなストレスなしに多くを学ぶことができます。 1日に2〜3時間を投資して、インフラを深く理解してください。 EclipseまたはIntelliJで始まり、Gradleを使用して簡単なプロジェクトを構築できます。 Gradleには優れたオートメーション機能があり、Javaには優れたサポートがあるので、長期的には満足しています。開発チームに助けを求めることができます。 pnp4nagiosを使用してグラフィックを描画するためにどの文字列を返すべきかについては、Nagiosプラグインのドキュメントを確認してください。

ログをデータベースに抽出することもできます。これは非常に便利です。

それでは、より実用的な情報を見てみましょう。 Javaアプレットをリモートで(Nagiosプラグイン)実行することも、Nagiosシステムでローカルで実行することもできます(優先)。これにより、SSH(JavaまたはPython)を介してシステムに接続し、ファイルを読み込み、ダウンロードして解析できます。したがって、一部のシナリオでは、一部のネットワーク操作が必要です。

クラウドAPIを使用することもできます。

既存の Nagios プラグインで SNMP を使用することもできるので、すべてのタスクを実行するために Java を使用する必要はありません。

専用ソリューションを使用して特定のデータベースを監視し、スクリプトを直接作成しない場合(Nagiosが最高)、Webでデータベースのパフォーマンスを監視するためのツールを見つけることができます。

最後に、監視スクリプトはデータベースでパスワードを確認できます。それが一般的にすることです。そしてRAM、ディスク容量などが不足していません。

正しく行う方法は次のとおりです。

  1. すべてのホストなどのインフラストラクチャのデータベースには自動検出機能があります。これはインフラストラクチャの構築/自動化に関連しています。クラウドを使用している場合は、複数のデータベースにすることができます。

  2. ログやその他の文書を含む別のデータベースとして、Nagiosの実行ログと(4)で実行されたスクリプトの結果が含まれています。ここで別のログを取得できます。 MongoDBは良いでしょう。 Cassandraもできます。

  3. ナギオス

    • checkdatabase(2) を実行し、検査が成功したこと、結果が何であるかを確認します。
    • データベースログを確認して、バックグラウンドスクリプトが実行されていることを確認します。 (2)
  4. パスワード/アクセス確認を実行するバックグラウンドスクリプト

    • データベース(1)のすべてのシステムに空のルートパスワードがない場合、またはデフォルトのパスワードが設定されていない場合
    • データベース(1)のすべてのシステムが特定のログインを許可する場合
    • 結果をデータベースに記録します。 (2)
    • OpenVASを実行することもでき、結果は(2)として抽出できます。
  5. したがって、デフォルトのパスワードがある場合、またはパスワードがない場合(1)からバージョン(1)またはサーバーを更新できます。また、Nagiosの生成チェックを作成(1)して、特定の指標を監視および生成することもできます。多くのNagiosシステムを実行できます。 Database(2)を使用してさまざまなソースからログを取得できます(これにはアダプタが必要です)。これらのログに基づいて、無差別代入クラッキングの内容を確認し、戦略を調整できます。

NessusとOpenVASも巨大な豚です。したがって、Nagiosを使用してホストを具体的に調べるのは簡単で効果的な方法です。また、NessusとOpenVASは、デフォルトのパスワードや欠落しているパスワードを確認するのに最適なソリューションではありません。専用スクリプトがこの問題を解決するより良い方法です。

関連情報