Webサーバー パラメータシート(IIS / Apache / nginx)
説明
Webサーバーの主要3製品を1枚にまとめています。設定項目の「概念」は共通で名前と書き方だけが違うため、3製品のパラメータ名を並記する対応表の形にしました。使う製品の列だけを埋めてください。★核は3枚です。(1)サイトとTLS設計 … 名前で振り分けたとき、★どの名前にも一致しなかった要求がどこへ行くかが製品ごとに決まっています。Apache は最初に定義した VirtualHost、nginx は default_server(指定が無ければ最初の server ブロック)、IIS はホスト名なしのバインドが受けます。受け皿を明示しないと、IPアドレスで直接叩いただけで内部向けのサイトが見えます。名前で分けているのに証明書が1枚しか無いと、別サイトの証明書が返ります。(2)ログとクライアントIP … ロードバランサの配下では★アクセスログの送信元が全部LBのアドレスになります。元のIPを渡してもらい受け側で記録する設定が要りますが、★無条件に信頼すると利用者が自由に偽装できます。信頼する送信元をLBのアドレスだけに限定してください。(3)公開範囲設計 … 既定のままだと余計なものが見えます。索引ファイルが無いディレクトリの一覧、置き忘れた .bak、詳細なエラーページ、製品名と版数。「置かない」が第一ですが、置かれる前提で塞ぐ設計にします。
使い方
★どの名前にも一致しない要求の行き先を必ず決めてください。受け皿を明示的に作り、拒否するか固定の応答を返してください。「何も設定しない」は「最初のサイトが受ける」という設定と同じ意味になります。★サイトを足すたびに、既存のサイトが正しく当たるかを確認してください。並び順や既定の指定が変わると、既存の当たり方まで変わります。★元のクライアントIPは「記録されていること」と「偽装できないこと」の両方を試験してください。記録されているだけでは、その値が正しい保証になりません。★ロードバランサの死活監視は大量に記録されます。除外するか印を付けてください。★ディレクトリの一覧を無効にしてください。索引ファイルが無い場所では、作業中に置いた退避ファイルがそのまま公開されます。★退避ファイル(.bak / .old)は拡張子と名前で塞いでください。緊急対応の最中に置かれる前提で守ります。★エラーページを利用者向けの固定ページにしてください。既定のままだと内部のパスや例外が表示されます。★アップロード先では実行させないでください。★反映の前に必ず設定を検査してください。検査せずに反映すると、失敗した時点で全サイトが落ちます。★2台を同時に更新しないでください。LBから1台外して更新し、戻して確認してからもう1台にしてください。パスワード・証明書の鍵は書かず「別紙参照」としてください。
収録内容
全10シート。各シートに書いてあることは次のとおりです(ファイルの「目次」シートより)。
- 前提共通設計
- 製品・公開の前提・ログ・保守の方針
設定項目(20件)
製品・版数・配置・台数と役割・設定ファイル・前段・公開するサイト・証明書の位置・接続元の制限・受け皿・アクセスログ・エラーログ・置き場所と保持・転送・OS側の時刻同期・設定の検査・反映の方法・設定の退避・版の更新・監視項目・変更の記録
- 設定値基本設定
- 待ち受け・配置・実行・性能・保守。製品ごとの名前を並記
設定項目(14件)
ポート・接続元の制限・ドキュメントルート・索引ファイル・ログの置き場所・実行する利用者・同時接続の上限・待ち時間の上限・受け付ける大きさ・圧縮・静的ファイルの保持期間・アプリへの引き渡し・設定の検査・自動起動
- 設計サイトとTLS
- ★一致しない要求の行き先。受け皿を明示しないと素通りする
項目(23件)
待ち受けの単位・名前での振り分け・★一致しないとき・★受け皿の設計・★サイトを足したとき・証明書の位置・★終端の位置・暗号化の設定・平文で来たとき・ドキュメントルート・書き方・★どの名前にも一致しない要求がどこへ行くかを、製品ごとに確認する。・Apache は最初に定義した VirtualHost、nginx は default_server・(指定が無ければ最初の server ブロック)が受ける。IIS はホスト名なしのバインド。・知らずに作ると、IPアドレスで直接叩いただけで内部向けのサイトが見える。・★受け皿を明示的に作る。拒否するか、固定の応答を返す。・「何も設定しない」は「最初のサイトが受ける」という設定と同じ意味になる。・★サイトを足すたびに、既存のサイトが正しく当たるかを確認する。・並び順や既定の指定が変わると、既存の当たり方まで変わる。・★名前で分けているなら証明書もサイトごとに割り当てる。・1枚しか無いと、別サイトの証明書が返って警告になる。・・SSLをLBで終端するなら、サーバー側に証明書は無い。どちらで終端するかを構成図に書く。・書かないと、証明書の更新作業でどこを直すのか分からなくなる。
- 設計ログとクライアントIP
- ★LB配下では送信元が全部LBになる。★無条件に信頼しない
項目(22件)
★アクセス元の記録・元のIPを受け取る・★信頼する送信元・アクセスログの項目・エラーログ・★監視の除外・置き場所と保持・転送・時刻・個人情報の扱い・書き方・★ロードバランサの配下では、アクセスログの送信元が全部LBのアドレスになる。・元のIPを渡してもらい、こちら側でそれを記録する設定を入れる。・LB側の設定だけ、サーバー側の設定だけ、のどちらでも記録には残らない。・★信頼する送信元をLBのアドレスだけに限定する。・無条件に信頼すると、利用者が自分で好きなIPを名乗れる。・アクセス制限も、不正アクセスの調査も、根拠が崩れる。・「元のIPが記録されている」ことと「その値が正しい」ことは別。・★LBの死活監視は大量に記録される。除外するか印を付ける。・そのままだと実際の利用者の記録が埋もれ、件数の集計も狂う。・・ログの領域が満杯になるとサービスが止まる。別の領域に置き、回転と保持期間を決める。・・要求の内容をそのまま記録しない。何を残すかを決めて書く。
- 設計公開範囲
- ★既定のままだと余計なものが見える
項目(23件)
★ディレクトリの一覧・★公開しないファイル・★エラーページ・サーバーの版数・★公開範囲の外・実行する利用者・★書き込み可能な場所・使わせない要求・管理用の経路・見えているものの棚卸し・書き方・★ディレクトリの一覧を無効にする。・索引ファイルが無いディレクトリでは、置いてあるファイルが全部見える。・作業中に置いた退避ファイルや取得したログが、そのまま公開される。・★拡張子と名前で塞ぐ。.bak / .old / 設定ファイル / 版管理の作業用ディレクトリ。・「置かない」が第一だが、置かれる前提で塞いでおく。・実際には、緊急対応の最中に退避ファイルが置かれる。・★エラーページを利用者向けの固定ページにする。・既定のままだと、内部のパスや例外の内容がそのまま表示される。・★アップロード先では実行させない。受け取ったものがそのまま動く形にしない。・・専用の利用者で動かす。管理者権限で動かすと、破られたときの被害の範囲が変わる。・・公開しているファイルの一覧を作り、構築時と定期で突き合わせる。・「何が公開されているか誰も知らない」状態が、いちばん危ない。
- 確認確認コマンド集
- 設定と、意図しないものが見えていないかの確認方法
- 注意設定時の注意
- このサーバーで実際に起きる失敗と、その回避手順
この型で検査する
記入済みのファイルをアップロードすると、この型の必須項目(パラメータシートの組込みルール)を満たしているか検査します。ファイルは保存されません。
関連するテンプレート
同じフェーズ(設計)や業界でよく使われている型です。
基本設計書(方式と方針の型)
「基本設計=方式と方針、詳細設計=具体的な値」の線引きを章構成で体現。設定値はパラメータシートに書き、本書には書かないことで二重管理を防ぎます。
IPアドレス管理表
セグメントの全アドレスを行に展開する台帳。「空き」が行として見えることで、重複払い出しを防ぎます。★セグメントごとの使用率を数式で出します(80%超で橙、90%超で赤)——IPは足りなくなってから増やせず、/24 を /23 へ広げるにはそのセグメントの全機器のアドレスを変えることになるためです。★ホスト名の重複を自動で検出し、使用中なのに用途・ホスト名が空の行、最終更新から1年以上動いていない行も色で出します。.0(ネットワークアドレス)と .255(ブロードキャスト)も「禁止」の行として残し、なぜ払い出せないかが見えるようにしました。★v3 では「実体(実機/仮想IP/機器のIF)」の列を追加しました。VIP・フローティングIP・ゲートウェイのSVIは★機器一覧に出てこないのにアドレスを消費するので、台帳に載せ忘れると後から同じIPを別の機器へ払い出して本番で衝突します。実機なのに機器IDが空の行は赤、仮想IPは薄紫で区別し、セグメント一覧に「うち仮想IP」の件数も出します(記入例はサーバー10台に対して使用中が14個になります)。払い出し記録シートつき。
構成図テンプレート(作図ルール+部品集)
雛形・記法ルール・アイコン部品集のセット。新設=赤枠/撤去=グレーアウトなど更改案件の描き分けを標準化します。Visio不要、PPT標準図形のみ。
通信要件一覧(FWルール表)
ゾーン定義とゾーン間ポリシーを先に決め、個別ルールをその例外として書くFWルール表。送信元・宛先・サービスが any の行と、有効期限が過ぎた行には自動で色が付きます。★ゾーン間ポリシーに「≠(この区間はFWを通らない)」の記号を持たせてあります。VLAN間ルーティングをコアスイッチで行う構成では社内セグメント同士の通信がFWまで上がってこないため、ここを「×」と書くと止まっているつもりで素通りします。効かないルールの例と、棚卸しでヒット0からそれを見つける流れまで記入例に入れてあります。AD認証の内訳やIPsec・vSphereなど、毎回調べ直しているポート番号を約60件収録済み。FW機種を問わず使えます。
