Linux

【Linux】ApacheでBasic認証の設定手順を解説【ユーザー認証してセキュリティを高める】

こんにちは、インフラエンジニアのryuです。

今回の記事ではApacheでBasic認証の設定手順を解説していきます。設定手順は簡単です。設定ファイルの編集と認証するユーザの作成、ファイルの権限を変える、このくらいです。Basic認証を設定したことのない方でも分るように解説していきます。

ApacheでBasic認証の設定手順を解説

ApacheでBasic認証はどうやって設定するの?

今回の記事では、ApacheのBasic認証の設定方法を解説します。手順は以下の通りです。

  • Apacheの設定ファイルでBasic認証を定義する
  • Basic認証をするユーザーを作成

では、早速ApacehでBasic認証の設定手順を解説していきます。Linuxの環境構築がまだの方は、こちらでLinuxを操作しながら確認することができます。

(環境構築不要)Apacheでユーザー認証を設定してみよう | LinuxWeb講座③

Apacheの設定ファイルでBasic認証を定義する

まず、Basic認証を設定するディレクトリを指定します。Webサーバーは表示するコンテンツをディレクトリに保存します。その保存したディレクトリにアクセスする際は、Basic認証を使いますよ~という設定を行います。

まず、設定ファイルのapache2.configを開きます。

vi /etc/apache2/apache2.config

そして、設定ファイルの中を以下のように設定します。今回は、/var/wwwディレクトリに設定しています。つまり、ドキュメントルートは/var/www/に設定しておいてください。

<Directory /var/www/>
        AuthUserfile /etc/apache2/.htpasswd
        AuthName "basic"
        AuthType Basic
        Require valid-user
</Directory>

Basic認証の設定値解説

Basic認証設定の各項目について説明します。

  • AuthUserfile /etc/apache2/.htpasswd → 認証するユーザの情報が書かれたファイルを指定
  • AuthName “basic” → 認証時の画面にでるメッセージ。何でもよい
  • AuthType Basic → Basic認証を使用する設定。他にもDigestなどがある
  • Requre valid-user → 認証したユーザのみアクセスできる

設定ファイルについては、以上です。次の手順の説明をします。

Basic認証で使用するユーザーを作成

次は認証するユーザの情報を作成します。

ユーザ名とパスワードをファイルに登録します。。先ほどの設定ファイルで指定した”/etc/apache2/.htpasswd“にユーザ情報を保存します。

Basic認証のユーザーを作成

ユーザの情報を作成するには、以下のコマンドを入力してください。

htpasswd -c /etc/apache2/.htpasswd user

コマンドを入力すると以下の画面のようにパスワードの入力が求められるので、入力します。

認証するユーザの情報を作成する

“.htpasswd”ファイルの中身を確認すると、ユーザ名とパスワードが保存されていることが分かります。この情報を使用してBasic認証を行います。

htpasswdファイルの権限を変更する

次は、ファイルの権限を変更するです。先ほど、”/etc/apache2/.htpasswd”の権限を変更します。変更する理由は、apacheのプロセスを動作させているユーザが”/etc/apache2/.htpasswd”の読み取り権限がなく、読み取りができないからです。

“ls -la”コマンドを利用し、ファイルの権限を確認してみましょう。

確認できたら、ファイルの権限の変更を行います。以下のコマンドを入力してください。

chmod 644 /etc/apache2/.htpasswd

”644″はファイルのパーミッションです。これで、ファイルの所有者以外のユーザも読み取りが可能になります。

apache再起動

設定の変更をしたら、最後に再起動を行います。以下のコマンドを入力してください。

/etc/init.d/apache2 restart

これでBasic認証の設定が完了しました。

Basic認証の動作を確認してみよう!

設定が完了したら、動作するか確認してみましょう。自分が作成したWebサーバにアクセスしてください。アクセスすると、Webページが表示される前に、認証画面が表示されます。

先ほど登録したユーザで認証しましょう。成功するとWebページが正しく表示されます。

ApacheでBasic認証まとめ

今回の記事ではApacheでBasic認証の設定手順を解説しました。まとめると以下のようになります。

  • Apacheの設定ファイルでBasic認証を定義
  • Basic認証のユーザーを作成
  • Apache再起動

Basic認証は簡単に設定できると思います。Webサーバの認証はBasic認証以外にもあるので、興味のある方は調べてみてください。また、Basic認証とIPアドレス制限を組み合わせるやり方などもあるので、いろいろと応用が利きます。ぜひやってみてください。

Basic認証よりセキュリティの高いDigest認証については、こちらの記事で解説しています。

ApacheでDigest認証の設定方法解説【ユーザー認証を有効にしてセキュリティを高めよう】 こんにちは、フルスタックエンジニアのryuです。 今回の記事では、ApacheのDigest認証の設定方法を解説します。...

このようなインフラに関連する技術を当ブログで紹介しているので興味のある方は是非ご覧ください。

さらにlinuxについて勉強したい方はこちらの参考書がオススメです。

About me
大手メーカのIT部門→上場ベンチャーでフルスタックエンジニアやってます。エンジニア歴は8年目。 サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。 AI、ARも勉強中です! youtubeでも技術ネタを発信していきます。↓のアイコンよりご覧ください!

UdemyでIT講座をチェック!

  • セールだと1500円前後!
  • 無料サンプル講義動画・無料講義動画あり!
  • 気に入らなければ30日間返金保証!