サーバ証明書
Webサーバが正当なものを証明するためのデジタル証明書。サーバの身元の確認や暗号通信のために利用。
サーバ証明書に含まれる情報
- サブジェクト情報: ドメイン名(Common Name)、組織名、所在地など
- 公開鍵:暗号化や署名検証に使用
- 発行者情報:CA(Certification Authority)の情報
- 有効期限
- シリアル番号:証明書を一意に識別する番号
- 署名アルゴリズム
- デジタル署名:CAによる署名
証明書の種類
DV<OV<EVの順に厳格
- DV証明書(Domain Validation)
- ドメインの所有権のみを証明
- OV証明書(Organization Validation)
- ドメイン所有+組織の実在性を確認
- EV証明書(Extended Validation)
- ドメイン所有+組織の実在性+法的・物理的確認
HTTP ヘッダフィールド
| フィールド名 | |
|---|---|
Cache-Control |
no-chache: 保存はできるが、利用前にサーバを検証 no-store: キャッシュを保存しない max-age: 秒数でキャッシュの有効期限を指定 |
X-Frame-Options(非推奨?) |
webページがフレーム内に表示されることを防ぐ(クリックジャッキング攻撃) |
Strict-Transport-Security(HSTS) |
HTTPSによる通信を強制 |
Content-Security-Policy |
サーバ側から読み込むリソースを管理する(XSS攻撃) |
Cookie属性
| 属性 | |
|---|---|
domain |
Cookieを送信するサーバを指定。サーバとサブドメインはCookieが利用できる。 |
Expires |
Cookieの有効日時を指定。すぎると削除される。 |
Secure |
HTTPSでのみCookieを送信。 |
HttpOnly |
JSからのCookieへのアクセスを拒否。XSS攻撃を緩和。 |
SameSite |
サードパーティCookieを送信するかを指定。CSRF攻撃対策。Strict:同一サイトからのリクエストでのみCookie送信Lax:デフォルト。一部の安全なクロスサイトリクエストでCookieを送信None:全てのクロスサイトリクエストでCookieが送信 |
CORS (Cross-Origin Resource Sharing)
異なるオリジン間でリソース共有を安全に行うための仕組み。ブラウザとサーバの仕組み。
オリジン→スキーム://ホスト:ポートの組み合わせ
- Access-Control-Allow-Origin:アクセスを許可するオリジン
- Access-Control-Allow-Methods:リクエスト可能なメソッド
- Access-Control-Allow-Headers:使用できるヘッダーの種類
攻撃
- XSS攻撃
- CSRF
DNSのレコードタイプ
- Aレコード:メインのIPアドレス
- AAAAレコード:IPv6アドレスのレコード
- CNAMEレコード:ドメインまたはサブドメインを別ドメインに転送(IPアドレスはなし)
- MXレコード:メールサーバにメールを転送
- TXTレコード:レコードにテキストメモを登録
- SPFレコード:
- DKIMレコード
- DMARCレコード
- NSレコード:DNSエントリのネームサーバ
- SOAレコード:ゾーンに関する情報
- CAAレコード:認証局を指定するレコード
well-knownポート
| ポート | プロトコル | サービス | 説明 | セキュリティ上の注意点 |
|---|---|---|---|---|
| 80 | TCP | HTTP | 暗号化されていないWeb通信 | 平文通信のため盗聴可能。本番環境では443にリダイレクトすべき |
| 443 | TCP | HTTPS | SSL/TLS暗号化されたWeb通信 | 標準的な安全なWeb通信。証明書の検証が重要 |
| 8080 | TCP | HTTP-Alt | HTTP代替ポート(開発/プロキシ) | 開発環境で使用。本番では公開しないこと |
| メール | ||||
| 25 | TCP | SMTP | メール送信(暗号化なし) | 平文通信。スパム送信に悪用されやすい |
| リモートアクセス | ||||
| 22 | TCP | SSH | 暗号化されたリモートアクセス | 公開鍵認証を使用すべき。ブルートフォース攻撃の標的になりやすい |
| 23 | TCP | Telnet | 暗号化されていないリモートアクセス | 絶対に使用禁止。すべて平文で送信される |
| ファイル転送 | ||||
| 20 | TCP | FTP-Data | FTPデータ転送 | 平文通信。使用非推奨 |
| 21 | TCP | FTP-Control | FTP制御接続 | 認証情報が平文。使用非推奨 |
| DNS | ||||
| 53 | TCP/UDP | DNS | ドメイン名解決 | DNS増幅攻撃に悪用される可能性。再帰クエリは信頼できるIPのみ許可 |
| 853 | TCP | DNS over TLS | 暗号化されたDNS | プライバシー保護に有効 |