Unlimitedで読めます。■LinuxとUNIXの違いをわかりやすく解説しています。※サーバーエンジニアは知っておくべき内容です。【初心者向け】これだけでLinuxとUNIXの違いがわかる!■ロードバランサー(LB)をわかりやすく解説しています。※ネットワークエンジニア、サーバーエンジニアは知っておくべき内容です。■SNMPの使い方をわかりやすく解説しています。※ネットワークエンジニア、サーバーエンジニアは知っておくべき内容です。これだけでロードバランサーがわかる!■ChatGPTの使い方をわかりやすく解説しています。【初心者向け】これだけでわかる!ChatGPTの使い方では、今日も授業を始める。今日のテーマはベーシック認証(Basic認証)だ。ベーシック認証って何?ベーシック認証は、Webサイトのログイン認証で利用される簡易的な認証方式だ。Apache(Webサーバソフトウェア)でベーシック認証を設定したサイトにアクセスすると、ポップアップが表示されて、IDとパスワードを入力しないと画面が表示されない。ベーシック認証は、基本認証とも呼ばれている。簡易的ってどういうこと!?ベーシック認証は、非常に簡単な認証機能でセキュリティレベルとしては非常に低いものだ。インターネットに公開していない社内利用のサイトの認証に利用したり、一時的な認証として利用したりした方がいい認証方式ってことだ。Base64でエンコードして送信してくる。Web画面が表示される。エンコードって?デコードって何!?エンコード(encode)はデータを一定の規則に基づいて変換することだ。エンコードは符号化のようなものだ。エンコードした文字列を元に戻すことをデコードという。AをエンコードしてBにしたものを、BをデコードしてAに戻すことができる。次にBASE64とはエンコード方式の1つで、一定の規則に基づいてテキストデータに置き換える変換方式だ。BASE64は64種類の文字(A~Z、a~z、0~9、記号(+,/))を組み合わせてデータを表現する方式だ。Base64のエンコードは、64個のテキストデータに変換するってことね。エンコードの逆がデコードってことね。エンコードしたデータを元に戻すことがデコードだ。途中でパケットを盗聴されて、デコードされると、IDもパスワードもばれてしまう。デコードできちゃうから、セキュリティレベルが弱いってことね。サイトへアクセスする度に、クライアントは毎回パケットに、IDとパスワードをBase64でエンコードして、パケットにその文字列を埋め込んで送信している。次に設定方法を説明する。Apacheでベーシック認証を設定するには、.htaccessファイルと.htpasswdファイルを作成すればいい。2つのファイルを作成すればいいのね。.htaccessファイルは以下のように記述する。valid-user※AuthTypeはBasicと指定するとベーシック認証になる。※AuthNameは適当な文字列を書く。認証画面が表示されたときにAuthNameに記述した文字を表示するブラウザもある。※AuthUserFileは、IDとパスワードを記述した.htpasswdファイルの場所を書く。valid-userはすべてのアクセスしてきたユーザを認証するという意味だ。一度認証されるとブラウザを終了するまで有効になる。.htpasswdファイルはIDとパスワードを保存したファイルだ。1行に1ユーザ分(ID名:エンコードされたパスワード)を記述する。.htpasswdファイルに3つのIDを作成する場合は3行になるのね。user1:エンコードしたパスワード1user2:エンコードしたパスワード2user3:エンコードしたパスワード3Basic認証はディレクトリ単位のアクセス制限で、例えば、www.example.comの/test/というディレクトリに対して、ベーシック認証を設定した場合は/test/ディレクトリ配下にあるページすべてにベーシック認証がされるようになる。