この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
どーも。あいしんくいっと( @ithinkitnet)です。
Apacheで簡易なセキュアページを設けたい場合、選択肢のひとつとして挙げられるのがBasic認証です。
手軽にパスワード設定して特定の人に公開したいに便利なのです。
というわけで今回はApacheにおけるベーシック認証に加え、認証に使用するユーザをOSユーザにする手順について書いておきたいと思います。
CentOS7.4
Apache2.4(RPMパッケージ)
ApacheでBasic認証設定
Basic認証で使用するユーザを作成。(OSユーザとは別管理)
# htpasswd -c -b /etc/httpd/conf/.htpasswd hoge P@ssw0rd
新規作成する場合は「-c」オプションを付与、追加なら不要
「-c」をつけると既存ユーザが上書きされてしまうので注意!追加の場合は「-c」をつけないこと!
実行例)hogeユーザ作成
# htpasswd -c -b /etc/httpd/conf/.htpasswd hoge P@ssw0rd
Adding password for user hoge
# cat /etc/httpd/conf/.htpasswd
hoge:$apr1$3n8o912D$0UW.IDaPaEskaZpu4hp3//
httpd.confに下記設定。
(ディレクトリパスは任意)
AuthUserFileには前工程で作成したパスワードファイルを指定。
AllowOverride none
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName “Basic Auth”
AuthType Basic
Require valid-user
# systemctl restart httpd
Basic認証を設定したディレクトリにアクセスし、Basic認証がかかることを確認。
さらに設定したユーザでアクセス可能であることを確認。
Chromeでアクセスした場合、「AuthName」で設定した内容は表示されない?
Basic認証で使用するユーザをOSユーザに変更
# yum --enablerepo=epel -y install mod_authnz_external pwauth
/etc/httpd/conf.d/authnz_external.confに下記追記。
AuthName “PAM Auth Basic”
AuthType Basic
AuthBasicProvider external
AuthExternal pwauth
require valid-user
# systemctl restart httpd
OSユーザでBasic認証が許可されることを確認。
rootユーザは許可されない
Apacheで簡易的にセキュリティを担保したいのであれば、Basic認証はとても便利です。
さらに認証をOSユーザで行えればもっと。
ithinkit
以上、あいしんくいっとでした(☝︎ ՞ਊ ՞)☝︎