web-dev-qa-db-ja.com

安全でない開いているポートまたはサービスを特定するにはどうすればよいですか?

インターネット上には約1,000台のマシンがあります。 nmapを使用してポートスキャンを行ったところ、これらのマシンで多数のポートが開いていることがわかりました。 HTTPSの代わりにHTTPを使用している管理Webサイトを見つけたとき、それをブロックしました。

しかし、他にも多くのポートが開いており、それらがどのサービスであるかはわかりません。安全でないものを見つける方法はありますか?

4
user15580

ステップ1-明確なビジネスニーズがないすべてのポートを閉じます!

すべての開いているポートは潜在的な不安を追加します-閉じたポートは安全なポートです

なぜポートが開いているのかわからない場合は、心配になります。どのサービスがポートで実行されているかを調べてください。ビジネス上の必要がない場合は、シャットダウンしてください!サービスがわからない場合は、シャットダウンしてください

特定のポートで実行される最も一般的なサービスには サービスリスト がありますが、実際には、どのポートでも(かなり)何でも実行できるため、ポート、サービス、サービスの詳細を示すレジスタが必要です。ビジネス上の理由/機能、所有者、それが実装された日付。

サービスをシャットダウンできない場合は、ファイアウォールを使用して、必要なサービス以外のすべてへのアクセスを明示的にブロックします。

それが完了したら、すべてのサービスにパッチが適用されていることを確認してください。脆弱性の最大の原因の1つは、パッチが適用されていないサービス/アプリケーションです。今すぐ最新の状態にしてください!

10
Rory Alsop

定期的かつ定期的な脆弱性スキャン([Qualys] [1]は、一般に商用の脆弱性スキャン領域で最も優れていると見なされています)と関連するセキュリティメーリングリストへの慎重な注意は、防御の最前線です。これが整ったら、「どの(ポート)が安全でないかを知る方法はありますか?」実際には間違った質問です。アプリケーションのセキュリティは一時的なものです。今日{vulnerability_scanner}によると、ポートをリッスンするアプリケーションは安全である可能性がありますが、スキャンサイクルの間に0dayがリリースされ、その最新バージョンの[BIND] [2]は現在安全ではありません。

最善のアドバイスは 最小の権限 の概念を守ることです。上記のように、明示的に必要とされていないすべてのアプリケーションを閉じます。 よく知られ登録されているポートとそれに対応するアプリケーション のリストが役立つかもしれません。

どのアプリケーションがマシンのポートを開いたままにしているのかが明確でない場合は、コマンド[lsofおよびnetstat] [5]が役立ちます。

最後に、管理するマシンの数が多い場合は、[Chef] [6]のような一元化された構成管理ツールを確認する必要があります。

4
Mike Schiffman

Nessusまたは脆弱性スキャナーの使用をお勧めします。バナーグラブと呼ばれる手法を使用して、ポートでマシンが実行しているバージョンとサービスを判別します。また、どのバージョンが脆弱であるかを認識し、各マシンの素晴らしいレポートを提供します。

警告...それはあなたが誰であるか、そしてあなたがそれを使用する設定に応じてお金がかかります。他の脆弱性スキャナーがあるかもしれませんが、nessusはそこにある最も大きな名前の一種です。お役に立てば幸いです。

2
user11869