← すべての記事
モニターの種類 · 読了時間 7 分

TCPポートの監視方法(およびポートが開いている場合にアラートを発するべき時)

A vintage door lock and key on a wooden surface with shallow depth of field.

ポート監視は、1つで2つの役割を果たします。データベースやSMTPリレーのように、サービスがリッスンしていることを確認したい場合があります。一方、インターネットに面したインスタンスのSSHのように、ポートがファイアウォールで遮断されたままであることを確認したい場合もあります。同じプローブが両方の質問に答えますが、反対の結果に対してアラートを発します。このガイドでは、各モードをいつ使用するか、何にアラートを発するか、そして人々が見落としがちなポートについて解説します。

TCPポートモニターの実際の動作

TCPポートモニターは、選択したポートでターゲットへのソケットを開き、3ウェイハンドシェイクが完了するのを待ちます。ハンドシェイクが成功した場合、ポートは開いています。接続が拒否された場合、ポートは閉じています。接続がタイムアウトした場合、プローブとホストの間で何か(通常はファイアウォール)がパケットを破棄しています。

プローブは、ソケットの上でプロトコルを話しません。TLSをネゴシエートしたり、SSHバナーを交換したり、データベースクエリを実行したりはしません。ポートが応答するかどうかだけを伝えます。アプリケーション層の正常性については、上位にHTTPまたはカスタムチェックが必要です。

ポートを開けておきたい場合

HTTPチェックが容易にできない場合は、サービスの正常性プローブとしてポート監視を使用してください。一般的に5つのケースがあります。

  • データベースサーバー、ポート5432(Postgres)、3306(MySQL)、6379(Redis)、27017(MongoDB)。リスナーがクラッシュすると、依存するすべてのサービスが破綻しますが、HTTPプローブは実行できません。
  • SMTPリレー、ポート25または587。SMTPバナーチェックは、内部ヘルスエンドポイントが見逃すリスナーのクラッシュを捕捉します。
  • ゲームサーバーやHTTPを話さないその他のカスタムTCPプロトコル。
  • 内部ロードバランサー、上流サービスにHTTP以外のヘルスポートを公開するもの。
  • VPNエンドポイント、OpenVPN-TCPやWireGuardの443のような、UDPと同時にTCPでも使用されるポート。

ポートを閉じておきたい場合

反転ポート監視はセキュリティのガードレールです。公衆インターネットから決して開いてはならないポートが開いた場合にアラートを発するようにモニターを設定します。このパターンは、通常のインフラ変更の1週間に発生する問題を捕捉します。

デバッグのために誰かが一時的にファイアウォールルールを開き、元に戻すのを忘れる。Kubernetesサービスが誤ってLoadBalancerタイプになる。新しいインスタンスに間違ったセキュリティグループが割り当てられる。Terraformモジュールの変更により、内部用のはずだったポートが公開される。いずれのケースでも、反転ポートモニターは1回のチェック間隔以内に公開を検出します。

今すぐ反転モニタリングすべき重要度の高いポート

インターネットに公開されているホストで、公開すべきではない5つのポートには、反転チェックを設定する価値があります。

  • 22 (SSH) 本番アプリケーションサーバー。踏み台経由のアクセスのみが標準であり、誤って開いたSSHポートは数時間以内に大規模スキャンログに現れます。
  • 3306 (MySQL)5432 (Postgres)。公開されたデータベースポートは、認証情報スタッフィング攻撃のかなりの割合を占めています。
  • 6379 (Redis)。認証なしの公開Redisは、業界で最も悪用されている設定ミスの1つです。
  • 27017 (MongoDB)。Redisと同様です。デフォルト設定、認証なし、公開ポートはデータ損失を意味します。
  • 9200 (Elasticsearch)。公開されたクラスターは数時間以内にスクレイピング、マイニング、ランサム被害を受けます。

ポート監視のアラートしきい値

サービス正常性(ポートはOPENであるべき)には、HTTPと同じしきい値パターンが必要です。3回連続の失敗後にアラートを発し、短いフラップは抑制します。単一のプローブを閉じるネットワークの瞬断はノイズです。

セキュリティ(ポートはCLOSEDであるべき)には、その逆が必要です。最初の検知でアラートを発します。誤って開いたSSHやRedisのポートは、5段階アラームレベルの事象です。ボットは公開インターネットを絶えずスキャンしており、よく知られたポートで公開から侵害までの時間は分単位です。

セキュリティポート監視のスターターチェックリスト

チームが運用するインターネットに公開されているすべてのIPに対して、22、3306、5432、6379、27017の反転モニターを60秒間隔で設定してください。アラートはサービス正常性アラートとは別に、セキュリティチャンネルにルーティングしてください。四半期ごとに、コントロールとして自社のIPに対して実際のポートスキャンを実行してください。コストは小さく、カバー範囲は広く、捕捉する障害モードは壊滅的です。

MonitorAHを無料で試す

3つのモニター、1分以内のアラート、クレジットカード不要。この段落を読む時間で、ウェブサイト1つとcronジョブ1つをカバーできます。

監視を開始

関連記事