[編集者注:この記事では、セキュリティツールキットで検討する可能性のある1つのツールを紹介します。ただし、セキュリティを確保するには、単一のツールやアプローチでは不十分です。セキュリティトピックの詳細については、RedHatカスタマーポータルの製品セキュリティセンターにアクセスすることをお勧めします。 ]
Nmapは、システム管理者や厄介な「ハッカー」の人々に頻繁に使用されるツールです。ネットワーク接続とサーバーの可用性をテストするのに最適ですが、善良な人々と悪意のある人々の両方に対して脆弱なネットワークデーモンを特定するのにも役立ちます。それを善の力としてどのように使うことができるか、そして他の人がそれを悪の力としてどのように使うことができるかをお見せします。
テスト環境
以前に構築した仮想マシンに対していくつかのテストを実行します。テストマシンのセットアップ方法はこの記事の範囲外ですが、学習とテストのために既知の脆弱なデーモンが多数あるシステムに対してテストする場合は、優先する検索エンジンでmetasploitableを検索してください。もちろん、そのようなシステムをパブリックネットワークに公開しないでください。すぐに危険にさらされる可能性があります。でもそれがポイントですよね?そのような攻撃から身を守る方法を決定するため。
Nmapを使用して脆弱なデーモンを見つけることの長所:
- 速度
- 簡単にスクリプト化および自動化
- 監査システムの優れた初回通過
短所:
- 調査結果を検証する機能が制限されています
- 脆弱性を管理する能力が限られている
- 分散スキャンサポートの欠如(企業や大規模ネットワークにとって重要)
最初のスキャン
まず、-sV
を使用して脆弱なシステムをスキャンします ネットワークデーモンのバージョンを決定するオプション。
# nmap -sV 192.168.27.139
うわー、それはたくさんの情報です。幸い、これはこのテスト環境で予想されることです。ここで起こっていることは、Nmapがさまざまなポートにクエリを送信し、各ポートのデーモンから応答を引き出していることです。デーモンの応答は、nmap-services
と比較されます。 一致するものを見つけるためのデータベース(単なるテキストファイル)。
OpenSSH 4.7p1 は通常のSSHポートであるポート22で実行されています。それはおそらく正確です。ここで簡単に確認するのが賢明です。コマンドラインを使用してフォローアップします:
わかりました、それはそれを確認します。次の質問は、「このバージョンのOpenSSHサーバーには既知の脆弱性がありますか?」です。公開されている脆弱性通知を確認する必要があります。 NIST National Vulnerability Databaseにアクセスして、以下を確認してください。
ここには少なくとも1つの潜在的な脆弱性があります。しかし、Webブラウザーに手動で入力したり、コピー/貼り付けしたりする必要がなければ、すばらしいと思いませんか? Nmapはここでも役立ちます。 Nmapはスクリプトをサポートしており、インストール時に多くのスクリプトをすぐに利用できます。そのようなスクリプトの1つは、vulners
です。 。他のすべてのサービスを実行している状態で、vulners
を指定します ポート22に対してのみ実行されます:
# nmap -p 22 -sV --script=vulners 192.168.27.139
追加のボーナスとして、vulners
潜在的な問題を見つけるためのより良い仕事をします。 vulners
スクリプトは、バージョン番号の照合に関してよりインテリジェントであり、4.7p1を含むバージョン範囲を含む通知を検出しました。 NVDデータベースを検索すると、4.7p1についてのみ具体的に言及しているメモが見つかります。それは大きなプラスです。
バージョン番号に基づいて脆弱なデーモンを見つけることができることがわかったので、システムを保護する方法はありますか?確かにファイアウォールルールを設定して支援することはできますが、Nmapをだますこともできます。
[次のこともお勧めします:Nmapを使用してネットワーク内の不正なデバイスを見つける]
情報を非表示にする
悪意のある攻撃者があなたと同じツールを使用してシステムをスキャンする可能性があると思われる場合(そして、おそらくそうなるでしょう)、おそらくそれを有利に使用することができます。おそらく、これらのタイプのスキャンが攻撃者に有用な結果を返さないように、アプリケーションのバージョン番号を非表示または変更することができます。場合によってはそうすることが可能です。一部のアプリケーションでは、バナーを変更できます。 vsftpd
を使用する 例として、metasploitableでFTPサーバーをスキャンすると、次のことがわかります。
/etc/vsftpd.conf
を変更できます カスタムバナーを表示するための構成ファイル:
# You may fully customize the login banner string:
ftpd_banner=Welcome to the blah FTP service.
変更を加えてもう一度スキャンすると、次のように表示されます。
完全にカスタマイズされたバナーは表示されず、バージョン番号も表示されません。
デーモンのバナーを変更することは、実際に行うべきことですか?他のシステム管理者や環境で作業している他の人を混乱させる可能性があるため、少なくとも、バージョンバナーを無効にしたことをチーム全体に明確にする必要があります。
適切なツールですか?
脆弱なネットワークデーモンを発見するためにNmapが適しているのはいつですか?よくあることですが、本当の答えは「状況によって異なります」です。自問する質問がいくつかあります:
- 大規模な環境では、ネットワーク全体の可視性がありますか?スキャンの配布を含む何かが必要なのかもしれませんか?
- スキャンの結果をどのように管理しますか?
- 結果に手動で対処して解決しますか、それとも「大規模に」自動化しますか?
- 例外を追跡する必要がありますか?
- パッチのロールアウトを調整する必要がありますか?
これらの質問のいくつかについては、専用の脆弱性スキャナーがより良い答えかもしれません。そこには、無料と無料ではないものの両方がいくつかあります。それらの追加の利点には、脆弱性を修正する方法に関するより正確なテストと推奨事項が含まれます。説明したように、アドホックな方法でNmapを使用することは、専用の脆弱性スキャナーと組み合わせた場合でも有効です。実際のところ、多くの専用の脆弱性スキャナーはNmapを製品に直接統合しています。 Nmapは、新しいシステムの初期調査と表示に最適です。
[セキュリティについて考えていますか?ハイブリッドクラウドのセキュリティを強化し、ビジネスを保護するためのこの無料ガイドをご覧ください。 ]
まとめ
ネットワークを保護するには、実行されているネットワークデーモンとサービスのバージョンを知る必要があります。 Nmapは、その可視性を獲得し、緊急性を評価して資産を保護できるようにする上で重要な役割を果たすことができます。
参照URL :
- NIST National Vulnerability Database
- Nmapホームページ
- Nmapとサービスの検出