インターネットに公開する
Control Plane を公開のホスト名で出すと、数時間のうちに脆弱性スキャナからの探索が届きます。慌てる必要はありません。 何が届き、ログでどう見分け、どこで絞るかをまとめます。
| あなたがやること | 起きること |
|---|---|
| 何もしない | セッションのない要求は、決まった入り口以外 401 で返る |
アクセスログを 401 で絞る |
探索を数えられ、弾いたのか返したのかがわかる |
| 社内だけで使うなら、受け付ける送信元を絞る | 探索がロードバランサーに届かない |
| IP ごとに見たい・止めたいときは、Control Plane の外で行う | ALB のアクセスログで分析し、AWS WAF で止める |
セッションなしで届くもの
Section titled “セッションなしで届くもの”サインインしていない要求は、次の入り口以外すべて 401 になります。
| 入り口 | 例 |
|---|---|
| サインインとヘルスチェック | /healthz・/readyz・/login・/login/<テナント>・/oauth2/*・/brand/* |
| 自前の認証を持つ入り口 | /internal/*・/mcp・/git/* など。それぞれが自分で認証し、有効にしていなければ 404 を返します |
ログで見分ける
Section titled “ログで見分ける”アクセスログには状態コードが出ます。GET /actuator/heapdump 401 0s のように読めるので、弾いたのか返してしまったのかがログだけでわかります。
探索を数えたいときは、401 で絞ってください。
社内だけで使うなら、受け付ける送信元を絞るのが一番強い方法です。 AWS では 00-network の AlbIngressCidr を自社のアドレスの範囲にすると、探索は ALB に届きません。費用もかかりません。
IP ごとに見たいとき・止めたいときは、Control Plane の外で行います。Control Plane で個別に弾く仕組みは、認証の外に判断を増やすだけなので入れていません。
| したいこと | 使うもの |
|---|---|
| 送信元ごとに分析する | ALB のアクセスログ |
| 止める | AWS WAF。30-ingress に既定ではオフの WAF があります |
AWS の WAF で選べるのは 2 つだけです。
| パラメータ | 効果 |
|---|---|
WafRateLimitPer5Min |
1 つの IP からの 5 分あたりの要求数の上限。超えると止めます。Console のポーリングも数えるので、1 つの NAT の後ろにいるオフィス全体より十分大きくします |
WafIpReputation |
AWS が管理する IP の評価リスト(既知のスキャナやボットネット)を足します。WafRateLimitPer5Min が 0 より大きいときだけ有効です。送信元で判断するので、正しい通信を壊しません |
エージェント向け
この指示をエージェントに送ると、このページを読ませられます。
https://agent-fleet.org/docs/ja/operate/run/public-internet/index.md を読んで