Basic認証とは|Apacheでの設置方法3つと注意点3つなど多数紹介

Basic認証とは
Basic認証とは、特定の利用者にのみwebコンテンツを利用してもらうための、最も簡単で基本的な認証方法の1つです。basic認証を設置するには、ApacheというWebサーバの設定ファイルである.htaccessというものを作成して設定する必要があります。今回は初心者向けの設置方法ということで、自力で.htaccessファイルを作成してBasic認証を設置する方法だけではなく、サーバの設定パネルを操作してBasic認証を設置する方法も解説します。
Basic認証の仕組み
具体的には、ユーザーがBasic認証でアクセス制限されたコンテンツにリクエストを送ると、サーバ側は401というエラーを返します。これはユーザーのIDとパスワードの送信を要求するエラーです。ユーザーは、ブラウザに表示されたIDとパスワードの入力フォームに、決められたIDとパスワードを入力してサーバー側へと送信します。すると、サーバー側は保存された情報とID・パスワードを照合してアクセスを許可もしくは拒否するという仕組みです。
Basic認証の脆弱性
Basic認証は、古くから用いられている簡単な方法なので、セキュリティレベルがあまり高くありません。通信途中で第三者に見られてしまう可能性もあります。原因は、認証情報が暗号化やハッシュ化がされていないからです。そのため、Basic認証を暗号化するために、暗号化ツールを使用することをおすすめします。暗号化ツール自体は、無料のWebサービスとしてさまざまなものがネット上に存在します。
Basic認証の活用場面
特定のWebページやファイルにアクセス制限をかけられるBasic認証ですが、具体的にどのような場面で活用することができるのでしょうか。ここではBasic認証の活用場面2つをご紹介します。
特定のメンバーとだけ共有したいとき
Basic認証はセキュリティレベルがあまり高くないですが、特定のメンバーとファイルやページを共有したい場合など、セキュリティに関してはそこまで気にする必要がない場面で利用されます。
関係者のみが閲覧できるようにしたいとき
Basic認証ではIDとパスワードがわからなければページはエラーになり、表示できません。その性質を利用して、公開前のWebサイトなど、クライアントなどの関係者にのみ閲覧できるようにするためにBasic認証を利用するケースがあります。
Basic認証の特徴3つ
Basic認証は他のアクセス制限と比較すると、簡易的な機能を提供するものです。それでは、Basic認証にはどのような特徴があるのでしょうか。
ここではBasic認証の特徴3つをご紹介しますので、ぜひ参考にしてみてください。
1:ブラウザを閉じるまで再認証なしが可能
Basic認証は正しいIDとパスワードによってユーザーが認証に成功した場合、ブラウザを閉じるまでは再認証を行わずにWebページを閲覧することが可能です。そのため、ブラウザを閉じなければ認証なしでいつでも再アクセスを行えます。
2:認証後はユーザー名とパスワードが記憶される
一度認証に成功したブラウザにはIDとパスワードが記録されるため、再度アクセスする際には入力を行わなくてもアクセスすることが可能です。ただしWebブラウザを変えた場合やスマホでのアクセスでは保存されないケースもあります。
3:特定の領域にアクセスを制限できる
Basic認証によってアクセス制限を設定できる範囲はディレクトリ単位となっています。そのため、Basic認証を設定した場合は同じディレクトリの別のURLにアクセスする場合でもIDとパスワードが求められることになります。
ApacheでのBasic認証を設置する方法3つ
本記事では、ApacheというWebサーバの設定ファイルである.htaccessを使った、自力での実装方法について解説します。Apache以外の、さまざまなWebサーバでもBasic認証を活用することは可能です。
1:htaccessが使えるかどうかを調べる
まずは.htaccessファイルが使用可能なレンタルサーバかどうかを調べましょう。有料のレンタルサーバであれば大抵の場合は使用可能です。ほとんどの場合、サーバのヘルプページなどに記載があります。見つからない場合は、サーバの管理会社へ直接連絡をして調べてみることをおすすめします。
なお、有料サーバの場合、自力で.htaccessファイルを作成しなくてもサーバパネルを使ってBasic認証を設置できる場合があります。本記事でもXサーバの設定方法について後述していますので、Xサーバをご利用の方はそちらをご覧ください。
2:.htaccessファイルの作成と記述
次に.htaccessファイルの作成と記述を行います。.htaccessファイルはWebサーバーの内容を設定するためのファイルです。ここでは.htaccessファイルの作成方法と記述内容についてご紹介します。
.htaccessファイルを新規作成する
Basic認証を設定したいディレクトリへ移動したら、メモ帳などのテキストエディタを起動して、新規ファイルの作成を行います。また、文字コードはANSIのまま変更せず、ファイル名は「.htaccess」にしましょう。
.htaccessの記述内容と記述例
先に記述例をご提示します。そのままコピー&ペーストを使用して貼り付けて頂いても構いません。AuthUserFileだけは、正しい位置をフルパスで指定してあげる必要がありますのでご注意ください。
(記述例)AuthType BasicAuthName “ID/PASS”AuthUserFile “/home/www/.htpasswd“require valid-userAuthTypeは、認証方法の宣言です。そのままBasicと入力すれば問題ありません。AuthNameは、認証時に表示される文言を指定する項目です。日本語以外を入力する方が無難であるとされているので、英文字で入力することをおすすめします。
AuthUserFileは、htpasswdがどこに置かれているのかを指定する項目です。指定はフルパスで入力しましょう。requireは.htaccessに記載されたIDのうち認証を求めるユーザーを定義する項目です。こちらもvalid-userをそのまま入力して問題ありません。valid-userと指定すると、すべてのユーザーを対象にできます。
3:.htpasswdファイルの作成と記述
次に.htpasswdファイルの作成と記述を行いましょう。.htpasswdファイルはBasic認証で必要なIDとパスワードを格納するためのファイルです。ここでは.htpasswdファイルの作成方法と記述内容についてご紹介します。
.htpasswdのファイルを新規作成する
先ほど作成した.htaccesファイル内に記述しているパスのディレクトリへ移動して、メモ帳などのテキストエディタで.htpasswdという名前のファイルを新規作成します。
htpasswdの記述内容と注意点
続いて.htpasswdの記述内容をお伝えします。こちらはたった1行で使えるようになります。記述量が少ないので難しくはないでしょう。記述例は以下のようになります。
(記述例)ユーザーIDがadmin、パスワードがtestの場合。admin:test上記のように記述しますが、注意点もあります。そのままパスワードを入力すると第三者に読み取られてしまう危険性があり、サーバーのセキュリティによってBasic認証が機能しなくなる可能性があるという点です。脆弱性については後の章でも解説しています。
対策として、パスワードを暗号化しておくことをおすすめします。暗号化するためのツールは、Google検索で「Basic認証 暗号化」と検索するとたくさん出てきます。そちらを使って暗号化されたパスワードを記述するようにしましょう。
(暗号化した場合の記述例)admin:$apr1$8juKi4oI$6U6yL5yg2mqLBE2AD8SJq1
下記のリンクに暗号化ツールの一例を提示します。出力されたパスワードをそのままコピー&ペーストで貼り付けるだけで使用可能です。また、.htaccessで指定した場所に正しく.htpasswdを設置するようにしましょう。指定したパスと.htpasswdの設置場所が一致していないとBasic認証が機能しません。
Apacheのベーシック認証用パスワード発行フォーム
パスワードを暗号化する
パスワードを暗号化する場合は、Basic認証用に無料でパスワード作成ツールを提供しているサイトがあるため、使いやすそうなものを選ぶと良いでしょう。暗号化したIDとパスワードを.htpasswdファイルに記述したら、保存して完了です。
ApacheでのBasic認証を設置する際の注意点3つ
Basic認証を設定する場合、正しい手順で設定を行ったつもりでもエラーになってしまうことがあります。ここでは最後にApacheでのBasic認証を設置する際の注意点3つをご紹介しますので、ぜひ参考にしてみてください。
1:アップロードを忘れずに行う
.htaccessファイルも.htpasswdファイルも、正しいパスにアップロードしておく必要があります。.htaccessファイルはBasic認証を設定するディレクトリ、.htpasswdファイルは.htaccessに記述したパスの場所にアップロードしましょう。
2:記述の誤りや特殊な記号に注意する
IDやパスワードに特殊な記号を使用している場合、文字コードの問題によって正しく認識されずにエラーが発生するケースがあります。また、記述が誤っていても当然エラーが発生するため、できるだけ記号は避け、正しいログイン情報を入力しましょう。
3:パスワードが暗号化されているか確認する
本記事でもパスワードは暗号化して記述することをご紹介しましたが、パスワードが暗号化されていないと認証されないケースがあります。そのため、Basic認証が上手く行かない場合はパスワードが暗号化された状態で記述できているか確認しましょう。
XサーバでのBasic認証を設置する方法
より初心者向けに、サーバが用意しているサーバパネルを使用した設置方法も解説します。ここでは、幅広く利用されているXサーバで、Basic認証を設置する方法について解説します。Basic認証の設置は、大きく分けて4手順で完了します。
手順としては、①アクセス制限をクリック、②使用するドメイン名を選択する、③アクセス制限をONにする、④アクセス制限のユーザーを設定する、です。
これらの手順は、Xサーバのサーバパネルにログインして操作します。手順①から順番に解説していきます。まずは、サーバパネルの中にある「ホームページ」という項目群の中にある「アクセス制限」ボタンをクリックして下さい。
続いて手順②の解説です。「アクセス制限」をクリックすると、ドメイン名を選択する画面へ移行します。お使いのドメインを選択して次の画面へ移行してください。
手順③の解説です。フォルダ名、現在の状態、アクセス制限、ユーザー設定という項目が表示されています。フォルダ名をクリックし、現在のURLに表示されているアドレスを確認します。アクセス制限をかけたいURLと相違がなければ、アクセス制限のラジオボタンをONにしましょう。フォルダのアイコンに赤い鍵マークが付与されます。
最後の手順④です。アクセス制限をかけたフォルダの「ユーザー設定」をクリックして画面を移行させましょう。移行先の画面で、IDとパスワードを設定します。「確認画面へ進む」のボタンを押すと、入力内容の確認画面が表示されます。内容に問題がなければ「追加する」をクリックします。これでBasic認証の設置は完了です。アクセス制限をかけたページへ実際にアクセスをしてみて、無事Basic認証が反映されていることを確認してみましょう。
Basic認証とはどのような認証なのかを理解して設定しよう
結論としては「.htaccess」と「.htpasswd」を設置することで、初心者でも簡単にアクセス制限をかけられるのがBasic認証です。Xサーバーなどでは、それよりも簡単にサーバパネルを操作して設置することもできます。公開したWebコンテンツを悪用されないようにするためにも、管理画面などにはBasic認証を設置してみましょう。また、Basic認証を設置したページは、Google検索にも登録されなくなりますので、テスト用に作成したコンテンツに設置するのも有効です。本記事を参考に、ぜひ挑戦してみてください。
FEnetを運営しているネプラス株式会社はサービス開始から10年以上
『エンジニアの生涯価値の向上』をミッションに掲げ、
多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
ネプラス株式会社はこんな会社です
秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
インフラ業界に特化
ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。
業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。
-
正社員なのにフリーランスのような働き方
正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。
プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。
-
大手直取引の高額案件
案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。
Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。
-
スキルアップ支援
不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。
受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など
※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。
-
現給与を保証します!※
前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。
※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。
-
インセンティブ制度
ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。
取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。
-
社会保険・福利厚生
社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。
さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。
-
東証プライム上場企業グループ
ネプラスは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
ネプラス株式会社に興味を持った方へ
ネプラス株式会社では、インフラエンジニアを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
オンライン面接も随時受付中。ぜひお気軽にご応募ください。


新着案件New Job
-
【高額年収】/【CCNA取得者歓迎】/ネットワークの構築/BIG-IP/東京都千代田区/【WEB面談可】/在宅ワーク/20代~30代の方活躍中
年収540万~540万円東京都千代田区(神保町駅) -
東京都中央区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅ワーク
年収600万~600万円東京都中央区(小伝馬町駅) -
【高額年収】/インフラ構築支援/東京都港区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅ワーク
年収960万~960万円東京都港区(新橋駅) -
ガバナンス推進、セキュリティ基盤支援/東京都港区/【WEB面談可】/在宅ワーク/20代~40代の方活躍中
年収780万~780万円東京都港区(新橋駅) -
カー用品販売会社の情報システム運用/東京都千代田区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/テレワーク
年収576万~576万円東京都千代田区(水道橋駅) -
ネットワーク構築、検証/東京都渋谷区/【WEB面談可】/テレワーク/20代~40代の方活躍中
年収540万~540万円東京都渋谷区(渋谷駅)