Page Top

Basic認証(ベーシック認証)は、Webサイトの特定ページやディレクトリに手軽にアクセス制限をかけるための基本的な認証方式です。この記事では、Web技術を学ぶ方や、簡易的なアクセス制限の導入を検討している方に向けて、Basic認証の仕組みから具体的な設定方法、セキュリティ上の注意点までを解説します。この記事を読めば、Basic認証のメリットとデメリットを理解し、安全に利用するための知識を得ることができます。
<この記事で紹介する3つのポイント>

Basic認証は、HTTPプロトコルに標準で備わっている基本的なアクセス認証機能です。 Webサーバー側で設定を行うと、対象のページにアクセスしようとした際に、ブラウザがユーザー名とパスワードの入力を求めるダイアログボックスを表示します。正しく入力しない限り、コンテンツを閲覧できません。
Basic認証の仕組みは、サーバーとクライアント(ブラウザ)間の特定のやり取りで成り立っています。
ここで重要なのは、Base64エンコードは暗号化ではないという点です。簡単な手順で元のIDとパスワードに復元できるため、通信内容を盗聴されると認証情報が漏洩するリスクがあります。
Basic認証はその手軽さから、以下のような特定の用途で広く利用されています。

Basic認証の最大のメリットは、その導入の手軽さと幅広い互換性です。 複雑なシステムを必要とせず、迅速にアクセス制限を実現できるため、多くの場面で重宝されます。
Basic認証の導入には、専用のユーザー管理データベースや複雑なプログラムを組む必要が一切ありません。 多くのWebサーバー(特にApache)環境では、.htaccess(認証設定を記述するファイル)と.htpasswd(IDとパスワードを記述するファイル)という、2種類のテキストファイルを作成・設置するだけで導入が完了します。
多くのレンタルサーバーやWebサーバーソフトウェア(Apacheなど)に、Basic認証の機能が標準で組み込まれています。特別なプラグインや追加の認証サーバーをインストールする必要がありません。 ほとんどのレンタルサーバーサービスでも標準機能として利用できるため、サーバー側の設定変更のみで対応できる点は、コスト面でも大きなメリットです。
この認証方式は、HTTPの基本仕様として定義されているため、非常に歴史が古く、標準的です。そのため、特定のブラウザ(Chrome, Safari, Edgeなど)やOS(Windows, Mac, iOS, Android)の独自仕様に依存することがありません。PCはもちろん、スマートフォンやタブレット端末まで、ほぼ全てのデバイスの標準ブラウザで正常に動作します。閲覧者に特殊なアプリのインストールなどを要求しないため、利用環境を選ばない高い互換性を持ちます。
設定ファイルを作成し、サーバー上の適切な位置にアップロードすれば、即座に認証機能を有効にできます。 システムの再起動や、設定が反映されるまでの待ち時間(タイムラグ)は基本的に発生しません。Webサイトの公開準備中に急いでアクセス制限をかけたい場合や、一時的に特定のディレクトリを保護したい場合に迅速に対応可能です。
上記のメリット(手軽さ、迅速さ、コスト)から、特に小規模なサイトや、一時的に利用するテスト環境の保護に最適です。 例えば、開発中のテストサイト(ステージング環境)をクライアントや社内メンバーだけに限定公開する場合や、数十人規模の社内向けポータルサイトなどでの利用に最適です。ただし、後述するセキュリティ上の課題や、ユーザー数が多くなると管理が煩雑になるデメリットもあるため、機密性の高い情報を扱う大規模な本番環境での利用には注意が必要です。

ここでは、最も一般的に利用されるApacheサーバー環境を前提とした設定手順を3ステップで解説します。 サーバー環境によっては手順が異なる場合があるため、ご利用のサーバーのマニュアルも併せてご確認ください。
最初に、認証に使うユーザー名とパスワードを保存するファイル(.htpasswd)を作成します。パスワードはそのまま記述するのではなく、セキュリティのためにハッシュ化(暗号化の一種)された文字列を保存する必要があります。
Linuxサーバーのコマンドラインが使える場合、htpasswdコマンドで簡単に生成できます。
| # 新規作成(-cオプション)し、user1を登録する場合htpasswd -c /path/to/.htpasswd user1# 2人目以降を追加する場合(-cは付けない)htpasswd /path/to/.htpasswd user2 |
コマンドが使えない環境では、Web上で「.htpasswd 生成」などと検索して出てくるオンラインツールを利用して、ユーザー名とパスワードからハッシュ化された文字列を生成し、テキストファイルに貼り付けて保存する方法もあります。
次に、Basic認証を有効にするための設定ファイル(.htaccess)を作成します。これは、認証をかけたいディレクトリ(フォルダ)に設置します。
以下の4行をテキストファイルに記述し、.htaccessという名前で保存します。
AuthType Basic
AuthName “Restricted Area”
AuthUserFile /path/to/.htpasswd
Require valid-user
作成した2つのファイルをサーバーにアップロードします。
アップロード後、ブラウザから.htaccessを設置したディレクトリにアクセスし、認証ダイアログが表示され、設定したIDとパスワードでログインできれば設定完了です。

Basic認証は手軽な反面、複数のセキュリティリスクと管理上のデメリットを抱えています。 これらを理解せずに利用すると、重大な情報漏洩につながる可能性があります。
Basic認証の仕組みで触れた通り、IDとパスワードはBase64でエンコードされるだけです。これは暗号化ではなく、専門知識がなくても簡単に元の文字列に復元可能です。 そのため、通信が暗号化されていない「HTTP」通信で利用した場合、悪意のある第三者に通信経路を盗聴(パケットキャプチャ)されると、IDとパスワードがそのまま漏洩してしまいます。
Basic認証を一度通過すると、多くのブラウザは利便性のためにIDとパスワードを保存するか尋ねてきます。もし共用のPCなどで認証情報を保存してしまうと、次にそのPCを使った別の人が認証を簡単に突破できてしまいます。 ログアウト機能も標準では存在しないため、ブラウザを完全に終了するか、キャッシュをクリアするまで認証状態が保持される点にも注意が必要です。
Basic認証のユーザー情報は.htpasswdファイルで管理されます。ユーザーを追加・削除したり、パスワードを変更したりするたびに、サーバー上にあるこのファイルを直接編集(またはhtpasswdコマンドを再実行)しなくてはなりません。 利用者が数人であれば問題ありませんが、数十人、数百人規模になると管理が非常に煩雑になり、現実的ではありません。

Basic認証を利用する際は、その脆弱性を理解し、適切なセキュリティ対策を講じることが絶対条件です。 特に、認証情報の漏洩を防ぐ対策は必須となります。
最大の漏洩リスクは、HTTP通信の盗聴です。カフェのフリーWi-Fiなど、安全性が確保されていないネットワークを利用した場合、通信内容が傍受される危険性があります。傍受者は、通信内容からBase64エンコードされた認証情報を抜き取り、オンラインのデコードツールなどを使えば、即座にIDとパスワードを入手できてしまいます。 これがBasic認証の最も危険な脆弱性です。
前述の盗聴リスクへの唯一かつ最も効果的な対策が、SSL/TLS(常時SSL)によるHTTPS通信の導入です。WebサイトをHTTPS化すると、ブラウザとサーバー間のすべての通信が暗号化されます。 これにより、Basic認証のIDとパスワード(Base64エンコードされた文字列)も、通信経路全体が暗号化されたトンネルを通るため、第三者に盗聴されても内容を解読されることがありません。Basic認証は、HTTPS通信と組み合わせて初めて最低限の安全性が確保されると認識してください。
Basic認証には、デフォルトでログイン試行回数の制限(ロックアウト機能)がありません。 そのため、IDとパスワードの組み合わせを機械的に次々と試行する「総当たり攻撃(ブルートフォースアタック)」に対して脆弱です。
対策としては、以下のような方法が挙げられます。
Basic認証は、Webサーバーの標準機能で手軽に導入できるアクセス制限方法ですが、通信の盗聴に弱いという重大な脆弱性を抱えています。 そのため、利用する際は以下の点を必ず守る必要があります。
Basic認証は手軽な反面、ユーザー管理の煩雑さやセキュリティリスクも伴います。より高度なセキュリティや柔軟なユーザー管理が必要な場合は、CMS(コンテンツ管理システム)のログイン機能や、別の認証システムの導入を検討すべきです。
私たち株式会社DYMでは、セキュリティ対策を施したWebサイトの制作から、公開後の保守・運用までをワンストップでサポートする「Webサイト制作・運用サービス」を提供しています。セキュアなWebプロモーションやサイト運用でお困りの際は、ぜひご相談ください。
「世界で一番社会を変える会社を創る」というビジョンのもと、WEB事業、人材事業、医療事業を中心に多角的に事業を展開し、世界で一番社会貢献のできる会社を目指しています。時代の変化に合わせた新規事業を生み出しながら世界中を変革できる「世界を代表するメガベンチャー」を目指し、日々奮闘しています。