Basic認証とは?メリット・デメリットや脆弱性を徹底解説

Webアプリケーションの認証方式の中でも、極めて簡便な方法のひとつがBasic認証(ベーシック認証)です。Basic認証は、手軽にアクセス制限をかけることができますが、セキュリティ上の問題点も指摘されています。今回の記事では、Basic認証とは何か、改めてわかりやすく解説し、メリットと注意点も紹介します。

 

Basic認証(ベーシック認証)とは

Basic認証(ベーシック認証)とは、Webサイトにアクセス制限を施すための認証方法のひとつで、比較的簡単に導入できるため、広く用いられています。Basic認証によって制限されたページを閲覧するには、正確なユーザー名(ID)とパスワードの入力が必要となります。正しく入力が行われないと画面にエラーメッセージが表示されます。「基本認証」とも呼ばれます。

一般に公開されているWebサイトの中で、有料会員のみが閲覧できるページを作成したり、社内の特定のメンバーのみ利用できるページを作ったりするときによく利用されます。また、公開前のページの閲覧に制限をかけたい場合や、自作のポートフォリオを特定のクライアントにのみ閲覧してもらいたい場合などにも利用できます。

Basic認証は「.htaccess」および「.htpasswd」の2種類のヘッダーによって設定されます。認証を施したいフォルダに「.htaccess」および「.htpasswd」のファイルを設定し、それぞれに特定のコードを作成するだけで完了します。

ユーザーがリンクをクリック、またはURLを入力すると、ブラウザからWebサーバーに向けてリクエストが送信されます。この時、Basic認証が導入されている場合、Webサーバーからブラウザに認証が必要であることが伝えられます。これにより、ブラウザ上に認証ダイアログが表示され、ユーザー名およびパスワードの入力認証を求めます。認証された後、特定のユーザーだけがアクセス可能なページや階層の利用が可能となります。

Basic認証は、Webサーバーの機能であり、基本的にはほとんどのWebサーバーで使用可能です。ただし、レンタルサーバーを使用している場合には設定が行えない場合があります。

 

Basic認証のメリット

Basic認証は長く用いられてきた認証方法であり、主に以下3つのメリットがあります。

 

・簡単に設定できる

Basic認証は「.htaccess」ファイルと「.htpasswd」ファイルの2つのヘッダーの設置のみで使用が可能なため、比較的簡便に設定できます。ファイルの作成はメモ帳で行えるため、急場しのぎの場合や簡易的にセキュリティ対策が必要な時に効果的です。手軽に認証機能を追加したい場合に有効な手段です。

 

・ログイン情報が記憶される

Basic認証に成功した後、ブラウザを閉じなければ、別のWebサイトを見た後でもまた認証なしで閲覧できます。また、Basic認証に一度成功すれば、ユーザー名とパスワードはこの時使用したブラウザに記憶されます。次にログインする際に再入力の手間がかかりません。

ただし、別のデバイスやブラウザからアクセスする際には再度認証が必要となります。また、ブラウザの種類やネットワーク状態によってはログイン情報の記録ができない場合があります。加えて、スマホでもログイン情報が記憶されないことが多いです。

 

・ディレクトリ単位でアクセス制限ができる

Basic認証は「.htaccess」ファイルを置いたディレクトリが認証の範囲となるため、同じ階層に一括でアクセス制限を加えることが可能です。また、「.htaccess」ファイル内に細かい設定を施すことで、特定のページや範囲にのみアクセスに制限を施すことも可能であり便利です。PDFファイルや画像などにもアクセスに制限をかけられます。

 

Basic認証のデメリット

Basic認証の主なデメリットは以下3点です。

 

・クローラーが巡回できない

クローラーとはWebサイトの情報を自動で収集するプログラムで、Webの検索結果を表示するために動いています。検索エンジンの検索結果はクローラーが巡回して収集した情報をもとに表示されています。

しかし、Basic認証を施すことで、クローラーも制限されたページを巡回できなくなり、検索結果に表示されなくなります。SEO対策で検索結果を上位表示させたい場合にはBasic認証は悪影響になるため、避けた方が望ましいです。

 

・サーバーをまたいだ認証設定が不可能

Basic認証によりアクセスが制限される範囲は、ディレクトリ単位となるため、複数のサーバーをまたいだ設定は不可能です。複数のサーバーが存在する場合は、それぞれのサーバーごとにファイルを設定する必要があります。

 

・セキュリティが脆弱

Basic認証では、ユーザー名とパスワードはBase64という簡単なコードに変換されますが、デコードによって元の文字列が簡単にわかってしまいます。認証を行うたびに、ユーザー名とパスワードが暗号化されないまま送信されるので、通信を傍受して情報を盗み取られるリスクがあります。

また、一度ログインすると、ブラウザにユーザー名とパスワードが保存される仕組みで、ログアウトの機能がありません。そのため、悪意のある第三者がブラウザを勝手に利用すれば、情報の漏えいや悪用のおそれがあります。パソコンの共用を避けたり、一時的に席を離れる時はパソコンの画面にロックをかけたりといった対策が必要です。

Basic認証は手軽な認証方法ですが、それだけでは不十分です。機密情報を含まない情報を、限られたユーザー間でやり取りする場合のみ、Basic認証を利用しても問題ありませんが、それ以外のケースでは、より安全性の高い認証方式を採用するべきです。また、WAFの導入によってセキュリティ対策を強化すると良いでしょう。

 

まとめ

Basic認証は簡単に設定することができるうえ、ディレクトリ単位でアクセス制限ができるため、急ぎでセキュリティ対策を行う場合や細かく制限をかけたい時に便利な認証方法です。ただし、脆弱性も指摘されています。

脆弱性をカバーするには、より安全な認証方式を採用するほか、Webサイトの保護に特化したセキュリティ対策・WAFサービスの導入が有効です。Basic認証で対応しきれない悪意のある攻撃からWebサイトを保護できます。

また、「Cloudbric WAF+」は、Webセキュリティに必須なWAF・DDoS攻撃対策・脅威IP遮断サービスなど5つのサービスがひとつに統合されているため、セキュリティをより強化したい企業におすすめです。

 

▼WAFをはじめとする多彩な機能がひとつに。企業向けWebセキュリティ対策なら「Cloudbirc WAF+」

▼製品・サービスに関するお問い合わせはこちら