ベーシック認証 を活用しよう!
認証によるセキュリティ
認証によるセキュリティについては、一般的なところではパスワードです。
ほとんどの人がユーザー名やIDと組み合わせてマイページや自分のアカウントを認証しているのではないでしょうか。
サーバーなどの世界になると、公開鍵暗号方式を利用しての鍵認証がされたりしますし、
多要素認証も広まっており、銀行系のアプリでよくあるのが「ワンタイムパスワード」、
iPhoneでの指紋認証や顔認証(Face ID)はかなり馴染みのあるところではないでしょうか。
ベーシック認証
ベーシック認証とは、HTTPで用意されている簡易的な認証機能のことをいいます。
Webの担当者やエンジニアであれば、当たり前かもしれませんが例えば一部分のページを特定のIDとパスワードを知っている人だけに見せたい場合や、
WordPressであれば攻撃を受けやすい管理画面の保護のために使われます。
例えば、https://xxxxx.com/wp-adminとブラウザに入力すると通常であればWordPressの管理画面へのユーザー名とパスワードを入力するページが出ますが
誰もがそこまで辿り着かれてしまうと、要は
不特定多数の人間やプログラムが自分の家の前で鍵をこじ開けるべく様々な策を講じることができてしまうのと同義です。
これ、ものすごく怖いですよね。
そこで、ベーシック認証。サーバー側で設定をしてあげれば各ブラウザで以下の画面のように前段でログインを要求できるようになります。
GoogleChromeだとこんな画面。
Firefoxだとこんな画面。
認証ができないと401 Authorization Requiredとなってしまい、ログイン失敗です。(画像はWebサーバーをNginxにしている場合の画面です。)
(参考)http://blogs.itmedia.co.jp/hokaritomoya/2018/12/nginx40apache.html
ちなみに、スマートフォン(iOS12 Safari)だとこんな画面。
ベーシック認証の説明をWikipediaより引用すると、
Basic認証(ベーシックにんしょう、Basic Authentication)とは、HTTPで定義される認証方式の一つ。基本認証と呼ばれることも。 Basic認証では、ユーザ名とパスワードの組みをコロン ":" でつなぎ、Base64でエンコードして送信する。このため、盗聴や改竄が簡単であるという欠点を持つが、ほぼ全てのWebサーバおよびブラウザで対応しているため、広く使われている。 盗聴や改竄を防ぐため、後にDigest認証というユーザ名とパスワードをMD5でハッシュ化して送る方法が考えられた
となり、つまり基本認証として広く一般的に利用されていることがわかります。
作成方法は、サーバーで「.htpasswd」というファイルを作成、設定ファイルの編集で行うのですが、
比較的簡単に設定が可能です。
(参考)https://webtomoblg.net/2017/08/20/basic-auth/
簡易な認証ですが、汎用性や利用しているサイトは多いので、知っておくと便利だと思います。
私、穂苅智哉の情報は、以下のFacebookページTwitterアカウントを御覧ください!
※友達申請をいただける方は、お手数ですがメッセージを添えておねがいいたします。