コアサーバーでDigest認証をかける

当ブログのレンタルサーバは「コアサーバー(CORESERVER)」のプラン CORE-A を使用しています。

CORE-A はそこそこパワーがあるようで、このブログの運営だけだと余力があります。
そんなこともあり、自前でサーバを立てるほどではないシステムについては、相乗りさせています。

ただ、個人的なサイトだったりするので、非公開でないといけません。
ということで、認証をかけていますが、コアサーバー標準だと Basic認証(ベーシック認証)になるので、Digest認証(ダイジェスト認証)へ変更して設定しています。

Basic 認証

Basic 認証も Digest 認証も(違うのはパスワード部分だけで)設定ファイルは同じなので、いきなり Digest 認証をかけても OK です。

ここでは、まず Basic 認証用のファイルを生成してから、Digest 認証の設定を上書きします。

管理画面で認証用ファイルを生成する

サイト設定

[サイト設定] - [ツール/セキュリティー]をクリックします。

ツール/セキュリティ

ツール/セキュリティ画面が開かれるので、.htpasswd生成 をクリックします。

.htpasswd生成

設定に利用する ID・パスワードを入力して、.htpasswd生成 ボタンをクリックします。

内容確認

生成されたファイルが表示されます。

  • .htpasswdへ記載する内容
    ファイル .htpasswd に記載する内容です。
    (ID・パスワードが記載されます)。
  • .htaccessへの記入例
    ファイル .htaccess に記載する内容です。
    (上記 .htpasswd を利用するように設定するファイルです)。

設置

それぞれをテキストファイルに保存して、下記にアップロードします。

.htaccess

アクセス制限したいサイトのルートに、ファイル .htaccess をアップロードします。

設置場所を帰る際は、ファイル 2行目の AuthUserFile に記載のあるパスを環境に合わせて変更します。

例えば、当サイト(ararabo.com)だけに認証をかける場合、以下のように変更します。

; 変更前
AuthUserFile /virtual/{username}/.htpasswd
; 変更後
AuthUserFile /virtual/{username}/public_html/ararabo.com

.htpasswd

FTP でアクセスできる一番上の階層に、ファイル .htpasswd をアップロードします。

※上記 AuthUserFile の設定を変更している場合は、別の場所になります。

Digest 認証

冒頭に記述しましたが、コアサーバーに用意されている上記画面で生成されるパスワードは Basic 認証です。

.passwd ファイルは、以下のようになっています。

ID:パスワード

カンマ区切りとなっており、左:ユーザ名右:ハッシュ化されたパスワード となっています。

右側のパスワードが 13桁の場合、crypt(Basic 認証)なので MD5(Digest 認証)へ変更してファイルを保存します。

確認

サイトにアクセスして、認証が正しく機能していることを確認します。