2026年11月6日

2026年11月6日

Apacheのmod_auth_digestでDigest認証を設定する方法

はじめに

この記事では、Apache HTTPサーバーにmod_auth_digestモジュールを使用してDigest認証を設定する方法について説明します。Digest認証は、ユーザーのパスワードを暗号化することで安全性が向上し、またHTTPプロトコルを通じてセッション情報を転送できるため、ウェブアプリケーションや内部リソースへのアクセス制御に適しています。

症状・背景

  • Webアプリケーションの安全管理: ウェブサイト内の重要なデータや機能を保護するために、ユーザー認証が必要な場合
  • APIのセキュリティ: 外部から呼び出されるAPIへのアクセスを制限する必要がある場合
  • ローカルネットワークのセキュリティ: 内部ネットワークに公開されたサーバーへのアクセスを管理する必要がある場合

手順・設定方法

ステップ1: mod_auth_digestモジュールのインストール

# Apache 2.4以降では、mod_auth_digestはデフォルトで含まれています。
sudo apt update && sudo apt install apache2-utils

ステップ2: セキュリティファイルの生成

# htpasswdコマンドを使用してユーザーアカウントを作成します。
sudo htpasswd -c /etc/apache2/digest-users user1

このコマンドを実行し、ユーザー名とパスワードを入力します。-cフラグは新しいファイルに最初のユーザーを追加する場合に使用します。

ステップ3: 認証設定の追加

# /etc/apache2/sites-available/000-default.conf または適切な-virtual-hostに以下の設定を追加します。
<Directory "/var/www/html">
    AuthType Digest
    AuthName "Restricted Area"
    AuthDigestDomain /var/www/html
    AuthUserFile /etc/apache2/digest-users
    Require valid-user
</Directory>

ステップ4: 配置とテスト

# Apacheを再起動して変更を適用します。
sudo systemctl restart apache2

# ブラウザで認証が必要なリソースにアクセスし、Digest認証が機能することを確認します。

注意事項

  • パスワードの管理: /etc/apache2/digest-usersファイルへのアクセスは厳重に管理してください
  • セキュリティ上の注意: ユーザー名とパスワードは常に安全な場所に保管するようにします
  • パフォーマンス/運用上の注意: Digest認証は一時的なメモリ使用量を増加させる可能性があります

まとめ

1. mod_auth_digestのインストール: Apache HTTPサーバーにDigest認証機能を追加します。

2. htpasswdコマンド: ユーザー名とパスワードを安全なファイルに保存します。

3. 認証設定の追加: 適切なディレクトリに Digest 認証設定を適用します。

4. Apacheの再起動: 設定が有効になるまでサーバーを再起動します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲