クラウドセキュリティ

Basic認証とは?仕組みやメリット、リスクを解説

Written by WizLANSCOPE編集部

Basic認証とは?仕組みやメリット、リスクを解説

Basic認証とは、特定のページやファイルへのアクセスを制限するための仕組みです。

主にリリース前のサイトやテスト環境など、不特定多数の人からの閲覧を防ぐ目的で利用されます。

Basic認証は、手軽に設定できるというメリットがある一方で、セキュリティレベルは高くないため、さまざまなリスクも潜んでいます。

本記事では、Basic認証のメリット・デメリットや、利用する際のリスクなどを解説します。

▼本記事でわかること

  • Basic認証の概要
  • Basic認証のメリット・デメリット
  • Basic認証のセキュリティリスク対策

Basic認証を利用している方や、今後利用を検討している方は、ぜひご一読ください。

Basic認証とは

Basic認証(ベーシック認証)とは、特定のページやファイルへのアクセスを制限するための仕組みです。

認証が設定されたページやファイルにアクセスしようとすると、ID・パスワードの入力を求められます。このIDやパスワードを所持していない場合は、原則アクセスできない仕組みとなっています。

Basic認証は、たとえば会員専用サイトやリリース前のサイトなど、不特定多数の人に閲覧されたくない場面で活用されています。

HTTPの標準機能であることから、簡単に実装できるというメリットがある一方で、セキュリティレベルは低く、機密性の高い情報の保護には不向きな認証方法です。

Basic認証の仕組み

Basic認証によってアクセスが許可もしくは拒否される仕組み・流れは以下の通りです。

ステップ 内容
1 サーバーが認証情報を要求する ・Basic認証が設定されたページやファイルにアクセスすると、サーバーは「このページを見るには認証が必要です」というHTTPステータス401の応答を返す
・ブラウザがこれを受け取ると、画面にダイアログが表示され、IDとパスワードの入力を求める
2 ブラウザが認証情報を送信する ・ユーザーが入力したIDとパスワードは、ブラウザによってBase64形式にエンコードされ、HTTPリクエストヘッダーに含めてサーバーへ送信される
3 サーバーが認証情報を検証する ・サーバーは、受け取った情報を事前に設定されたユーザー情報と照合する
・一致した場合アクセスを許可し、間違っていれば再度認証を求める

Basic認証のメリット


Basic認証の主なメリットとしては、以下が挙げられます。

  • 簡単に設定できる
  • ディレクトリ単位で設定できる
  • 再アクセスしやすい

詳しく確認していきましょう。

簡単に設定できる

Basic認証は、ApacheやNginxなど、一般的なWebサーバーで標準的にサポートされている認証方法です。

設定は非常にシンプルで、.htaccessファイルやサーバーの設定ファイルに数行追加するだけで導入することができます。

追加のソフトウェアや大掛かりなシステム開発が不要なため、すぐにアクセス制限をかけられるのが、Basic認証の最大のメリットともいえるでしょう。

ディレクトリ単位で設定できる

Basic認証は、Webサイト全体ではなく、特定のディレクトリやページごとに制限をかけることが可能です。

たとえば、/test/ フォルダにだけ認証を設定し、それ以外のフォルダは誰でも見られるようにするといった運用が可能です。

これにより、必要な部分だけを限定的に保護し、公開部分と非公開部分を柔軟に切り分けることができます。

再アクセスしやすい

Basic認証では、一度ブラウザでIDとパスワードを入力すると、同じブラウザ・同じドメインの場合、ブラウザを閉じるまで再入力を求められることがありません。

頻繁にパスワード入力する必要がないため、認証が必要な環境においても、利用者の手間を軽減することが可能です。

Basic認証のデメリット


Basic認証を利用する際のデメリット・リスクを解説します。

  • セキュリティレベルが低い
  • クローラーがアクセスできない
  • サーバーをまたいでの設定はできない

デメリットを知らずに利用すると、情報漏洩や運用上のトラブルにつながる危険性があります。

すでにBasic認証を利用している場合も、改めて利用する上でのデメリット・リスクを確認していきましょう。

セキュリティレベルが低い

Basic認証では、IDとパスワードは単にエンコードされるだけで、暗号化されずに送信されます。

つまり、通信を傍受されると、容易にID・パスワードが盗み見られてしまう危険性があります。

このリスクを避けるため、Basic認証を利用する際には、HTTPSの併用が不可欠です。

また、前述した通り、Basic認証では、一度ブラウザでIDとパスワードを入力すると、同じブラウザ・同じドメインの利用時は、ブラウザを閉じるまで再入力を求められません。

結果として、定期的にログアウトされないため、離席している間に、第三者が勝手にアクセスしてしまうリスクも考えられます。

以上から、Basic認証は利便性がある一方で、セキュリティレベルは低く、高い機密性を求めるシステムには不向きといえるでしょう。

クローラーがアクセスできない

Googleなどの検索エンジンのクローラーは、Basic認証で保護されたページにアクセスすることができません。

このクローラーがアクセスすることができないページは、検索結果に表示されません。

そのため、開発中のサイトや内部資料のページなど、不特定多数の閲覧を避けたいページに関しては、Basic認証を設定しても問題ありませんが、一方で検索結果に表示させたいページについては、Basic認証を設定しないように注意が必要です。

サーバーをまたいでの設定はできない

Basic認証は、サーバー単位またはディレクトリ単位で設定するのが基本です。

そのため、複数のサーバーで同じ認証情報を利用する場合は、サーバーごとに設定をおこなう必要があり、認証情報を一元的に管理することはできません。

このような特徴から、Basic認証は、大規模なシステムや分散環境での運用には不向きな認証方法といえるでしょう。

Basic認証の設定方法

Basic認証の設定は、以下の手順でおこないます。

  • 手順(1):「.htaccess」ファイルを作成する
  • 手順(2):「.htpasswd」ファイルを作成する
  • 手順(3):パスワードを暗号化する

Basic認証の設定をおこないたい場合は、以下を参考にしてみてください。

手順(1):「.htaccess」ファイルを作成する

まず、アクセス制限をかけたいディレクトリに「.htaccess」ファイルを作成する必要があります。

「.htaccess」ファイルとは、Webサーバーの設定内容を記述するためのファイルです。

該当のディレクトリに移動したら、新規ファイルを作成し、名前を「.htaccess」と設定してください。

設定が完了したら、下記4行を記述します。

AuthType Basic
AuthName “認証名”
AuthUserFile “.htpasswdファイルの場所”
require valid-user

記述できたら、ディレクトリ内でファイルを保存し、対象ディレクトリにアップロードします。

なお、3行目の「.htpasswdファイルの場所」で指定する「.htpasswdファイル」については、次の手順で解説します。

手順(2):「.htpasswd」ファイルを作成する

次に、「.htpasswd」ファイルを作成します。

このファイルは、Basic認証で使用する認証情報(IDとパスワード)を保存するためのものです。

手順(1)で作成した「.htaccess」ファイルの3行目で指定したパスのディレクトリに移動し、「.htpasswd」という名前の新しいファイルを作成しましょう。

このファイルは、メモ帳などのテキストエディタで作成可能です。

「.htpasswd」ファイルが作成されたら、以下のように認証情報を記入します。

[ユーザーID]:[暗号化されたパスワード]

ユーザー名とパスワードは、半角のコロン(:)で区切って記述します。

1行につき1アカウントを記載し、必要な分だけ改行して追加可能です。

手順(3):パスワードを暗号化する

「.htpasswd」ファイルにID・パスワードを保存する際は、必ず暗号化する必要があります。

暗号化していないパスワードを記述すると、Basic認証は正しく機能しません。

Basic認証用のパスワード生成するツールなどを利用して、あらかじめ暗号化した上で、ファイルに記載しましょう。

Basic認証のセキュリティリスク

前述した通り、Basic認証は簡単に設定できるなどの利便性が高い一方で、セキュリティレベルは低く、適切な対策をおこなわなければ、さまざまな脅威にさらされる恐れがあります。

本記事では、Basic認証の利用に伴うセキュリティリスクを2つ紹介します。詳しく確認していきましょう。

盗聴リスク

Basic認証では、ブラウザに認証情報を保存する際、IDとパスワードはBase64でエンコードされます。しかし、これは暗号化ではなく、単なる文字コード変換です。

そのため、デコード(元のデータ状態に戻すこと)すれば、簡単にIDとパスワードが確認できてしまいます。

また、Basic認証では、IDとパスワードが入力・送信する際、平文のまま送信されます。

そのため、通信がHTTPでおこなれている場合、傍受されると、認証情報が簡単に盗み見られてしまいます。

なりすましリスク

Basic認証にはログアウト機能がないため、離席中に第三者が正規ユーザーになりすましてアクセスしてしまう可能性があります。

その結果、知らない間に不正に情報を収集され、情報漏洩につながるリスクがあります。

ブラウザを閉じると、ブラウザに保存された認証情報は削除されるため、離席する際はブラウザを閉じることが望ましいです。

関連ページ

【事例あり】なりすましとは?巧妙な手口や有効な対策を解説

Basic認証のセキュリティリスク対策

Basic認証のセキュリティを強化するための代表的な対策を3つ紹介します。

  • 暗号化する
  • ほかの認証方法を利用する
  • 脆弱性診断を実施する

詳しく確認していきましょう。

暗号化する

前述した通り、Basic認証は認証情報を暗号化せずに送信するため、通信を傍受されると、認証情報が簡単に漏洩するリスクがあります。

このリスクを防ぐためには、Webサイト全体または認証が必要なページで、HTTPS(SSL/TLS)を導入し、通信を暗号化する必要があります。

暗号化された通信経路を使うことで、第三者による情報の盗み見を防止できます。

関連ページ

暗号化とは?仕組みや種類、方法までわかりやすく解説

ほかの認証方法を利用する

より高いセキュリティで、安全にWebサイトを運用したい場合は、Basic認証以外の認証方式を検討しましょう。

たとえば、Digest認証やOAuth、OpenID Connectなど、通信内容の暗号化や多要素認証に対応した方法が挙げられます。

セキュリティレベルが高い認証方法を導入することで、なりすましや情報漏洩のリスクを低減できます。

脆弱性診断を実施する

企業・組織によっては、ほかの認証方法へすぐに移行できない場合や、どうしてもBasic認証を利用し続ける必要がある場合もあるでしょう。

本来は、安全な認証方法に移行することが望ましいですが、どうしても移行が難しい場合には、定期的に脆弱性診断を実施することが有効です。

診断を実施することで、認証のリスクやほかの脆弱性を可視化し、情報漏洩やなりすましなどにつながる問題の早期発見、対処が適切に可能になります。

情報漏洩やなりすましなどにつながる脆弱性の例として、以下が挙げられます。

  • 認証の設定ミス
  • パスワードの強度不足
  • セキュリティホール

また脆弱性診断では、単に脆弱性を発見するだけでなく、脆弱性によるリスクの影響度を評価し、優先順位付けることも可能です。

限られたリソースの中で着実に脆弱性を修正するためにも、脆弱性診断は重要なプロセスといえるでしょう。

関連ページ

脆弱性診断(セキュリティ診断)とは?種類・やり方・選び方を解説

Basic認証に代わる認証方法


Basic認証は、シンプルで導入しやすい一方で、セキュリティレベルが低いというデメリットがあります。

そのため、より安全なアクセス制限を実現するためには、ほかの認証方式を検討することが有効です。

ここでは、Basic認証に代わる認証方法として、「Form認証」と「Digest認証」を紹介します。

Form認証

Form認証とは、自作のHTMLのログインフォームから、IDとパスワードを送信して認証をおこなう方式です。

入力された情報はサーバー側で検証され、認証が成功するとセッションIDが発行され、ブラウザにCookieとして保存されます。

Basic認証と異なり、認証情報を盗まれるリスクが低く、さらにログアウト機能やシングルサインオン機能などの拡張機能も実装可能です。

ただし、ブラウザから入力情報が暗号化されずに送信される点には注意が必要です。

そのため、Form認証を利用する場合は、必ずHTTPSと併用し、通信経路を暗号化するようにしましょう。

Digest認証

Digest認証は、Basic認証と同様にHTTPの仕組みを使った認証方式です。

大きな違いとして、IDとパスワードをそのまま送信するのではなく、ハッシュ化したデータを送信する点が挙げられます。

ハッシュ化とは、ハッシュ関数を用いて、元のデータを不規則な文字列に変換する仕組みです。

ハッシュ化したデータは、理論上、元の平文を直接復元することが困難であるため、通信を傍受された場合でも、パスワードが漏洩しにくい特徴があります。

Basic認証のセキュリティ対策に「LANSCOPE プロフェッショナルサービス」

Basic認証は、簡単に設定できたり、再アクセスの手間がなかったりといった利便性が高い一方で、セキュリティレベルは低く、高い機密性を求めるシステムには不向きな認証方式です。

しかし、リリース前のサイトやテスト環境などの構築に便利に使えるため、使い続けたいという企業・組織も少なくないでしょう。

Basic認証を安全に利用するためには、認証の仕組みと脆弱性を正しく理解した上で、適切な対策を講じる必要があります。

この適切な対策を把握する方法として、脆弱性診断の実施が有効です。

脆弱性診断を実施することで、情報漏洩やなりすましなどにつながる脆弱性を早期に発見し、適切に対処することが可能になります。

「LANSCOPE プロフェッショナルサービス」では、プロフェッショナルの知見で最新のセキュリティ脅威に対抗する脆弱性診断・セキュリティ診断を提供しています。

インシデント情報や脆弱性情報などを定期的に収集・解析し、適宜診断ルールに反映しているため、常に最新のセキュリティ基準をもとにした診断の提供が可能です。

また、診断後のレポートでは、各脅威の種類やリスクレベルだけでなく、「適切な対策内容」もあわせてお伝えするため、着実な脆弱性の修正とセキュリティレベル向上を目指すことが可能です。

また、認証方法をBasic認証以外に移行した場合に、設定に不備がないかを確認する方法としても、脆弱性診断は有効です。

「自社環境やサービスの脆弱性に懸念がある」「診断ツールではなく、プロの目による診断を受けたい」という企業・組織の方は、ぜひ「LANSCOPE プロフェッショナルサービス」の活用をご検討ください。

お客様のご都合・予算などに応じて、最適なプランをご紹介させていただきます。

関連ページ

脆弱性診断・セキュリティ診断について|LANSCOPEプロフェッショナルサービス

「何からはじめて良いかわからない」「まずは簡易的に脆弱性診断をおこないたい」という方に向けて、低コスト・短期で診断が実施できる「セキュリティ健康診断パッケージ」もご用意しています。

企業・組織のセキュリティ強化を目指す担当者の方は、ぜひご確認ください。

関連ページ

セキュリティ健康診断パッケージ|LANSCOPE プロフェッショナルサービス

まとめ

本記事では「Basic認証」をテーマに、メリットやリスクなどを解説しました。

▼本記事のまとめ

  • Basic認証とは、特定のページやファイルにアクセス制限をかけるための認証方式
  • Basic認証は簡単に設定できるだけでなく、「ディレクトリ単位で設定可能」「再アクセスしやすい」といったメリットがある
  • ただしBasic認証は、セキュリティレベルが低く、「盗聴」「なりすまし」「情報漏洩」のリスクがある
  • Basic認証を安全に利用する方法として、HTTPSとの併用や定期的な脆弱性診断の実施が挙げられる

Basic認証は手軽に設定できますが、暗号化されない状態でIDとパスワードが送信されるため、セキュリティレベルはあまり高くないということを念頭に置いた上で、サイトを運用しましょう。

用途やリスクを正しく理解し、適切な場面で使うことが、Basic認証を有効に活用するためのポイントです。

本記事で紹介した「LANSCOPE プロフェッショナルサービス」は、プロフェッショナルの知見で最新のセキュリティ脅威に対抗する脆弱性診断を提供しています。

Basic認証をはじめとする認証方法の最適化を図りたい方や、サーバーやネットワーク機器の脆弱性や設定の不備を洗い出したい方は、ぜひ実施をご検討ください。

どの診断を受けたら良いかわからない方に向けて、ぴったりの診断を選べるフローチャート付きの資料をご用意しています。

ぜひダウンロードしてご活用ください。

3分で分かる!
脆弱性診断のご案内

LANSCOPE プロフェッショナルサービスの脆弱性診断でできることをわかりやすく解説!ぴったりの診断を選べるフローチャートもご用意しています。

資料をダウンロードする