FreeIPAで認証する2013/07/15 |
ある特定のページに対してアクセス制限をかけ、認証にはFreeIPAサーバーを使うようにします。
よって、LAN内にFreeIPAサーバーが存在していることが前提です。
|
|
[1] | まずは、FreeIPAサーバー側で、以下のようにHTTPサービスを登録しておきます。 |
# 書式 ⇒ ipa host-add (登録したいWebサーバー名) [root@ipa ~]# ipa host-add www.srv.world ----------------------------- Added host "www.srv.world" ----------------------------- Host name: www.srv.world Principal name: host/www.srv.world@SRV.WORLD Password: False Keytab: False Managed by: www.srv.world # 書式 ⇒ ipa service-add HTTP/(登録したいWebサーバー名) [root@ipa ~]# ipa service-add HTTP/www.srv.world -------------------------------------------------- Added service "HTTP/www.srv.world@SRV.WORLD" -------------------------------------------------- Principal: HTTP/www.srv.world@SRV.WORLD Managed by: www.srv.world |
[2] | Webサーバー側の設定です。
まずはFreeIPAクライアントとしての設定をしておいてください。
その後以下の設定をします。 以下の例ではルートディレクトリ直下の ipa ディレクトリ配下を認証対象とします。アクセスはSSL経由を要求するようにします。 |
[root@www ~]#
kinit admin Password for admin@SRV.WORLD: # IPA admin パスワード # Keytab を生成 [root@www ~]# ipa-getkeytab -s dlp.srv.world -p HTTP/www.srv.world -k /etc/httpd/conf.d/keytab Keytab successfully retrieved and stored in: /etc/httpd/conf.d/keytab [root@www ~]# chown apache. /etc/httpd/conf.d/keytab
[root@www ~]#
vi /etc/httpd/conf.d/auth_ipa.conf # 新規作成 <Directory /var/www/html/ipa> SSLRequireSSL AuthName "IPA Authentication" AuthType Kerberos KrbServiceName HTTP KrbMethodK5Passwd On KrbSaveCredentials On KrbMethodNegotiate On KrbAuthRealms SRV.WORLD Krb5KeyTab /etc/httpd/conf.d/keytab AuthLDAPUrl ldap://10.0.0.30/dc=server,dc=world?krbPrincipalName Require valid-user </Directory>
[root@www ~]#
systemctl restart httpd.service
[root@www ~]#
vi /var/www/html/ipa/index.html # テストページ作成 <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Test Page for IPA Server Auth </div> </body> </html> |
Webブラウザからテストページにアクセスしてみます。 すると設定通り認証を求められますので、FreeIPA に登録してあるユーザーで認証します。 |
アクセスできました。 |
Sponsored Link |