「パスワードを入力してログインしよう。
あれれっ、パスワードは……??」
このような操作は、パソコンでもスマートフォンでも当たり前になりました。
サービスに課金するときもメールを確認するときも、ログインしてからインターネットにアクセス(やり取り)しますね。
この記事ではそんな「当たり前」を支える技術のひとつ「Basic(ベーシック)認証」についてご紹介します。
技術者には当然の技術かもしれない、一般的なアクセス制限技術です。
\2週間無料トライアル実施中/
万全のセキュリティ管理体制・WAF導入可能なVPS!
Windows
VPSを無料で試す
WAF導入済みの共用サーバー!
共用サーバーを無料で試す
目次
Basic認証とは
Basic認証は、管理する特定のウェブページやファイルへのアクセス制限を行うシンプルな方法です。
この技術はインターネットが普及し始めたときから、存在しています。
とくにBasic認証は、管理者側が行う設定方法が簡単で、ユーザにもわかりやすいことから、今でも利用されています。
古くから使われており、安定して動作する「老舗の技術」である、『Basic認証』のノウハウを覗いてみませんか?
Basic認証の全体像
Basic認証について
Basic認証とは、HTTP(インターネットで使う通信規格)に備えられている認証機能のひとつです。
特定のウェブサイトやファイルにBasic認証を利用すれば、アクセスの制限が行えます。
特定のユーザやグループだけに公開したいウェブページや情報を守るのに役立ちます。
例えるなら、ウェブサイトに扉とパスワードという鍵をかけ、秘密の部屋にするようなものです。
Basic認証の歴史
Basic認証は、1990年代初めのインターネットが最先端技術で、情報にかなり自由にアクセスできてしまう、牧歌的な時代に策定され、登場しました。
どの時代でも、公開したくないものや特定の情報を守る技術は求められ、Basic認証の導入が進みました。
現在、技術の進化とセキュリティ面が重要視され、より強力な認証方法も登場しています。
これは後述します。
そんななか、Basic認証を使うアクセス制限は、利便性の良さから今なお利用され続けています。
インターネットの元祖セキュリティガードと呼べる技術です。
インターネットにアクセスする仕組み
インターネット上のウェブサイトなど、多々ある情報とのやり取りは、クライアント(ユーザのブラウザ)とウェブサーバ(ウェブサイトを提供する専用のコンピュータ。単にサーバとも呼びます)が、HTTPに基づいて通信することで実現しています。
ユーザがウェブサイトのURL(たとえば、https://www. winserver.ne.jp/ など)を入力すると、そのリクエストがサーバに送られ、サーバは対応するページの情報、文字や画像、動画を送ってきます。
こんなアクセスが高速に行われて、ウェブページとなって閲覧可能になります。
余談ですが、1秒に1万回のリクエストをするなど、高速すぎる連続アクセスはサイバー攻撃とみなされることがあります。
秩序とサーバを守るため、アクセス制限が必要になってきますね。
アクセス制限について
アクセス制限とは一般に、特定のユーザやメンバーだけが、指定したウェブサイトや情報を扱えるようにする意味です。
たとえば、会社の内部資料や顧客情報など、一般公開できないものや、有料のウェブサイトは無料で閲覧できないようにアクセス制限を行う……と、これは当たり前のことですね。
Basic認証は、当たり前になったアクセス制限を実現するために使われます。
そしてBasic認証のようなアクセス制限を語るとき、避けて通れない単語がログインとログアウトです。
大まかに確認しておきましょう。
ログインの意味
ログインとは、ユーザが認証情報[ユーザ名とパスワード、PIN(暗証番号)など]を入力して送信し、インターネットならウェブサイトの特定ページやサービスにアクセス可能にすることを意味します。
テーマパークでチケットをみせて確認された後に、アトラクションを楽しめるような仕組みのようなイメージです。
ログアウトの意味
反対にログアウトは、アクセスを終えたユーザが接続から「きちんと」退出する意味です。
より正確には、サーバやサービスとのセッションを終了させること。
ここで「きちんと」と示しましたが一般に、意識して操作しなくてもブラウザを閉じる等すれば、自動的にログアウトの処理が行われます。
ただ、共用のパソコン等でログアウトの処理が行われなかった場合、他のユーザがセッションを利用して不正にアクセスできてしまいます。
Basic認証も意味がなくなりますから、この点はご注意ください。
\ 2週間無料でお試しできます! /
Windows VPSを使ってみる
2つのファイルと「絶対パス」「暗号化」がポイント
ファイル「.htaccess」の絶対パス
ここからは、実践的にBasic認証を使う流れをみていきます。
Basic認証では、「.htaccess」ファイルがアクセス制限についての設定集です。
そこに以下のように書くとどうでしょう。
空白は半角のスペースです。
AuthType Basic
AuthName “Test”
AuthUserFile /path/user/.htpasswd
Require valid-user
最初の「AuthType Basic」はBasic認証を使うとの指定です。
次の「AuthName」は認証の際に表示するメッセージですが、表示されない場合もあります。
そして「AuthUserFile」の後に、ユーザ名と暗号化パスワードを記載したファイル「.htpasswd」の正確な保存場所を書きます。
これは次の項目で扱います。
最後の「Require valid-user」は、「.htpasswd」ファイルに含まれたユーザがアクセスできるとする指定です。
ウェブサーバの「絶対パス」を調べる方法
特定のページ(ディレクトリ)にBasic認証をかけるとき、「.htpasswd」の保存先を正確に示す「絶対パス」を書かねばなりません。
もしサーバの管理者が、絶対パスを公開していない場合は、自力で調べる必要があります。
その方法として、以下のPHP言語のコードをテキストエディタ(メモ帳など)で入力し、Basic認証をかけたい場所に保存して実行する手段があります。
<?php
echo __FILE__;
?>
その手順は以下のとおりです。
1 上のコードをテキストエディタで入力し、path.php などの名前で保存します。
このときファイルの種類を「すべてのファイル」に設定して、拡張子を「.php」と入力して保存します。
2 保存したファイルをウェブサーバのBasic認証をかけたいディレクトリにアップロードします。
これはアップロードした例です。
3 ブラウザで (例) https://www. winserver.ne.jp/(保存したディレクトリ)/path.php のようにURLを入力して、アップロードしたPHP言語のファイルにアクセスします。
4 ファイルがサーバで実行され、「AuthUserFile」で必要な「絶対パス」が表示されます。
このようにして調べた絶対パスの末尾を「/.htpasswd」に変えて、「.htaccess」ファイルの設定で使います。
「.htpasswd」を保存するときは、ファイルの種類は「すべてのファイル」等を選んで、不要な拡張子がつかないようにご注意ください。
ファイル「.htpasswd」のパスワードの暗号化
「.htpasswd」ファイルには、アクセスを許可するユーザ名と暗号化したパスワードを示します。
パスワードは英数字で32文字まで。
また、1行ずつの記載にする決まりです。
(例)
user1:password1
user2:password2
その際、パスワード部分は暗号化した文字列にする必要があります。
環境を整えれば、htpasswdコマンドでパスワードの暗号化はできます。
しかし専用ソフトウェアのインストールが必要です。
難しそうに思えますね。
そこで、インターネット上のウェブサイトを活かし、パスワードを暗号化する方法をご紹介します。
無料WEBツール(https://www.digrart.jp/tools/basicauth/) digtooooooolsの画面下部にある「.htpasswdの設定」欄に、アクセスを可能にするユーザ名と暗号化したいパスワードを入力します。
そして「生成する」をクリックしましょう。
すると「生成された.htpasswd」欄に、暗号化されたパスワードを含む1行が表示されます。
「.htpasswd」に記載して使いましょう。
先ほどと同様に「.htpasswd」を保存するときは、不要な拡張子がつかないようにして下さい。
Basic認証に必要なファイル2つを作成できました。
特定のディレクトリにBasic認証を設定する方法
作成した「.htaccess」と「.htpasswd」ファイルを、アクセス制限をかけたいディレクトリにアップロードしてください。
その後、ブラウザでアップロードしたディレクトリのURLにアクセスすると、認証のダイアログが表示されます。
設定手順のまとめ
1 .htaccess ファイルを作成し、「絶対パス」を含めた設定を記載します。
保存時は、ファイルの種類の指定に注意します。
2 .htpasswd ファイルを作成し、アクセス可能にするユーザ名と暗号化したパスワードを追加します。
保存時は同じく、ファイルの種類の指定にご注意を。
3 ファイル2つをFTPソフトウェアなどで、アクセス制限をかけるディレクトリにアップロードします。
Basic認証を解除したいときは?
アップロードしたファイル「.htaccess」と「.htpasswd」を削除して下さい。
ただ注意点があります。
「.htaccess」に他の設定が記載してあるときは、ファイルの削除はしないで下さい。
Basic認証の設定部分のみを消し、上書き保存して下さい。「.htpasswd」ファイルは削除して大丈夫です。
\ 2週間無料でお試しできます! /
Windows VPSを使ってみる
Basic認証の弱点
セキュリティ上の問題
Basic認証で扱う認証情報(ユーザ名とパスワード)は、ブラウザに自動的に保存される場合があります。
個人利用の環境なら、顕著な問題になりません。
共用パソコンでは、ブラウザのシークレットモードを利用すれば、認証情報は保存されません。
そして、Basic認証ではBase64という形式でユーザ名とパスワードを変換して送信しています。
暗号化ではなく変換です。
暗号化されていない情報は、インターネットの回線を「素っ裸の状態」で流れていると考えて下さい。
認証情報をどこかで傍受された場合、解読され悪用される可能性は、否定できません。
\ 漏洩チェッカーなら/
=必要な機能だけ選べて安く使える =
Base64とHTTPSのセキュリティ
Base64は、数値の情報ことバイナリデータを、英数字と記号のテキスト形式に変換する技術です。
メールや日本語の交じったURLなどのバイナリデータを、テキストデータとして送受信するときに使われます。
見た目は暗号のような文字列になりますが、ただの変換結果です。
簡単に元のデータに戻せます。
ただ最近はHTTPS(Sはセキュアの意味)規格でのアクセスが、優先的に使われます。
そのため通信内容は、自動的に暗号化されます。
セキュリティ面は強化されました。
それでも……半透明な箱に読まれたくない文書を入れるような、リスキーな雰囲気は拭えません。
Basic認証の制約
Basic認証はサーバごとの設定が必要です。
異なるサーバをまたいだ認証設定の管理はできません。
ひとつのビルの出入り口だけで使える認証とイメージして下さい。
そのため大規模なシステムやサービスでは、他の認証形式を検討する方が効率的かもしれません。
裏技的なBasic認証のログアウト方法
ウェブサイトや特定のページに、Basic認証でログインしているとします。
そのとき、ウェブサイトのアドレスにあるホスト名のところに「任意の文字と@」をつけてアクセスし、ブラウザの再読み込みをすると、ログアウトと同様の状態にできます。
例えば、https://www.winserver.ne.jp/www.miraiserver.ne.jp/ にアクセスしている場合、
https://a@www. winservermiraiserver.ne.jp/ として再読み込みをすれば、ログアウト状態にできます。
Basic認証の代替となるものは?
以下に代表的なものを紹介します。
Digest認証:Basic認証に比べ、セキュリティ面が強い認証方式です。
パスワードをハッシュ化して送るので、傍受されてもパスワードは直接見られません。
OAuth: ウェブサービス間での認証を実現するプロトコル(規格)です。
ユーザは1回、ログインすれば、連携した他のウェブサイトやサービスにアクセス可能となります。
実例は、Googleアカウントで他のサービスにログインする場合などです。
\ 2週間無料でお試しできます! /
Windows VPSを使ってみる
まとめ
Basic認証は、公開したウェブサイトの一部にアクセス制限をかける技術です。
簡単に認証機能を追加したいときに効果的。
その設定には「.htaccess」と「.htpasswd」ファイルのコンビが必要です。
ただし、セキュリティ面に限界があるので、機密情報を守るには、より強力な認証方法の利用をお勧めします。
Basic認証は、古くても役立つ万能な存在として長く使われている技術です。
本記事を参考に、セキュリティ対策の強化を検討してみてください。
Winserverなら、WAF導入で安心安全なサイト運営!
高い安全性が必要となるサイトのセキュリティ対策として、WAF (Web Application Firewall)が有効とされています。
WAFは、WebサイトやWebアプリケーションなどを保護するだけではありません。
サイバー攻撃によって情報が盗まれることや、破壊を防ぐことにもつながります。
WAFの詳細については、以下の記事で詳しく解説しています。
2020.12.17
WAFとは。ファイアーウォールとの違い、目的別の選び方を解説
WebサイトやWebサービスを運用しているみなさん、WAF(Web Application Firewall)は導入していますか?近...
WAFを手軽に利用して安全なサイト運営をしたい方におすすめしたいのが、WinserverのVPSや共用サーバーです。
Winserverは、国内で20年以上の提供実績がある、Windows Server専門のホスティングサービスです。
Microsoft認定のホスティングパートナーで、シルバークラウドプラットフォームコンピテンシーを取得しております。
サーバー稼働率も99.99%と、安心感と安定性を求める方に最適です。
「最適なプランの選び方で迷う」「複数のサーバーの運用で困っている」などのお困りごとを、サーバー導入前から専門のスタッフがサポートするため、初心者の方でも安心して利用することができます。
法人・個人問わずに利用者が増えており、今もっとも注目すべきおすすめのホスティングサービスです。
Windows ServerはWinserver
- Windows VPS
Windowsとよく似た外観や操作性の仮想専用サーバーを利用できるサービスです。
Webサービスを保護するためのWAFをオプションで追加することができます。
導入できるWAFはJP-Secureが販売している「SiteGuard Server Edition」です。
\ 2週間無料でお試しできます! /
Windows VPSを使ってみる
- 共用サーバー(レンタルサーバー)
Webサイトやブログを始めたい方には、共用サーバーがおすすめです。
WAFが導入済みのため、安心してご利用いただけます。
\ 2週間無料でお試しできます! /
共用サーバーを使ってみる
Winserverはサポートも充実!
Winserverでは、お客様一人ひとりにあわせて最適なサービスプランをご提案いたします。
電話やメールによるサポートが充実しており、VPSやクラウドを初めてご利用の方の疑問にも専門のスタッフが丁寧にお答えします。
相見積もりも歓迎です。
「サーバーを使ってみたいけど、最適なプランがわからない…」
プランの選択にお困りの際は、ぜひ一度メールやお電話にてお気軽にご相談ください。
お電話でのお問い合わせ:0120‐951‐168
【 平日 】9:00~12:00 / 13:00~17:00
Winserver紹介資料
Windows Server専門のホスティングサービス「Winserver(ウィンサーバー)」の基本資料です。
各サービスの概要、特徴をまとめています。
Winserver紹介資料
Windows Server専門のホスティングサービス「Winserver(ウィンサーバー)」の基本資料です。
各サービスの概要、特徴をまとめています。