忍者ブログ

インフラ構築手順書

はじめてのインフラ、サーバ構築時に役に立つように構築手順情報をまとめました。


HOME   »     »  Apache基本認証のAD連携(LDAP認証) AD連携  »  Apache基本認証のAD連携(LDAP認証)

[PR]

広告 

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



Apache基本認証のAD連携(LDAP認証)

広告 

Apache基本認証でAD認証連携させる

HTTP/HTTPSアクセスでアクセス制御する方法として、簡単にユーザ認証制御を行うことができる基本認証が使われることが多いです。
しかしWebDAV等で各ユーザにアカウント発行し、ログを取得したい場合、アカウント数が多くなり アカウント管理が難しくなります。
そこでActiveDirectory連携またはLDAP連携を行うことで、アカウントの統一管理ができ運用保守が容易になります。

Apacheの基本認証にActiveDirectory(AD)のユーザ認証と連携する方法は2つあります。
 ・Apacheの基本認証にLDAP認証を用いたAD連携
 ・ApacheのKERBEROS認証を用いたAD連携
ここでは、「LDAP認証を用いたAD連携」について説明します。


「Apache基本認証にLDAP認証を用いたAD連携」について
利用モジュール mod_auth_ldap
メリット ActiveDirectoryのグループ単位で認証を掛けられるため、ActiveDirectory上での一元管理が可能となります。
AuthLDAPUrlオプション内で許可グループを指定する
デメリット LDAPの場合は簡易認証となるため、apache-ActiveDirectoryサーバ間のパスワードがクリアテキストで流れてしまいます。
LDAP情報取得するためのユーザ(認証ユーザと別ユーザ)が必要になる。


ApacheとActiveDirectory(AD)の連携
今回設定するApacheの基本認証とActiveDirectory(AD)連携の動作仕様概要を説明する。

・Apache基本認証をAD連携する。
・ActiveDirectory(AD)に登録したユーザをApache基本認証のユーザとする。
・ADのグループ/ユーザに対して、アクセス制限をかける。
・ADのDCサーバを複数指定し、DCサーバの冗長化に対応する。



Apacheの基本認証とActiveDirectory(AD)連携手順の概要

事前作業(DCサーバ側作業)
Apacheモジュールの読み込み(Apacheサーバ側作業)
ApacheのAD連携設定(Apacheサーバ側作業)




事前作業(DCサーバ側作業)

ActiveDirectory構築
 ここでは、ActiveDirectoryが事前に構築済みであることを前提とします。

AD情報取得のユーザ作成
 LinuxサーバがADのLDAPディレクトリへアクセスする際に用いるユーザを作成します。
 ここでいうAD情報取得のユーザとは、基本認証用ユーザではありません。  またパスワードを設定ファイルに記述する必要があるため、権限は最小限(対話的ログオンは許可しない設定)で作成することをお勧めします。

OpenLDAPでは、認証を行うためのLDAPディレクトリにアクセスする際に匿名によるアクセスしますが、 AD認証ではKerberosやNTLMにより匿名によるアクセスが許可されているのはディレクトリのごく一部に限られているため、認証ユーザで情報を取得する必要があります。

今回は、「connuser」というアカウントを作る。

基本認証用のユーザ作成
 基本認証でアクセスを許可するユーザを作成する。基本認証専用のアカウントを作りたい場合は、専用のOUを作成したほうがいいでしょう。


Apacheモジュールの読み込み(Apacheサーバ側作業)

Apache設定ファイルにLDAP関連のモジュール読み込む設定を行う。
 # vi /etc/httpd/conf/httpd.conf
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so



ApacheのAD連携設定(Apacheサーバ側作業)

アクセス制限させたいディレクトリに対して、下記の内容をDirectoryディレクティブもしくは.htaccessに記述する。
ApacheのAD連携設定値
ADドメイン名 ad.hoge.com
DCサーバ1 dc-01.ad.hoge.com
DCサーバ2 dc-02.ad.hoge.com
AD情報取得のユーザ名 ad\connuser
AD情報取得のユーザのパスワード passwd_01
アクセス許可グループ webadv-gp
アクセス許可グループの所属OU clients (ad.hoge.com)

今回は、検証用に.htaccessに設定し、動作確認ができたから、Apacheの設定ファイルに記述する。
# vi .htaccess
AuthType Basic
AuthName "ActiveDirectory Auth"
AuthBasicProvider ldap
AuthLDAPURL "ldap://dc-01.ad.hoge.com:389 dc-02.ad.hoge.com:389/OU=clients,DC=ad,DC=hoge,DC=com?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN "ad\connuser"
AuthLDAPBindPassword "passwd_01"
AuthzLDAPAuthoritative Off
Require ldap-group CN=webdav-gp,OU=clients,DC=ad,DC=hoge,DC=com

ApacheのAD連携の説明

AuthLDAPURLについて
 ・sAMAccountName
  Linux+OpenLDAPで運用されているLDAPサーバーの場合は,アカウント名を示す属性はuidなのですが,ADのLDAPディレクトリの場合 にはこの属性はありません。ADで同様な意味を持つ属性は,sAMAccountNameです。

  ・DCサーバの複数設定
  AuthLDAPURLオプションにDCサーバを複数指定する。

  ・パフォーマンス向上
  認証するユーザのOUまで指定することで、検索範囲が狭まり、サーバ負荷の軽減とパフォーマンス向上の期待ができます。

AuthzLDAPAuthoritativeについて
・「Require valid-user」の場合
  AuthzLDAPAuthoritativeはoffとする。
・「Require ldap-user」、「ldap-group」の場合
  AuthzLDAPAuthoritativeはonとする。
 ※デフォルトの設定は“on”である。

アクセス許可グループを指定する
ここではclientsのOUに所属している。かつRequire ldap-groupにグループ所属しているユーザを許可される。
AuthLDAPURLでclientsのOUを指定、Require ldap-groupで許可グループを指定しています。
※運用上のポイント  AD管理者が基本認証でアクセスするアカウントを作成し、WEB管理者がディレクトリごとに対してグループ/アカウント単位でアクセス制限をかけることができる。
 「KERBEROS認証を用いたAD連携」と違い、AD管理者が基本認証でアクセスできるアカウントとその他、OSログイン用のアカウントを分けることができる。

拍手[1回]



Yahoo!ブックマーク Googleブックマーク はてなブックマーク livedoorClip del.icio.us FC2 ニフティクリップ iza Buzzurl 


最新記事
(09/17)
(04/09)
(04/09)
(03/22)
(01/16)
(12/30)
(12/26)
(09/21)
(09/21)
(09/20)
(09/12)
(06/13)
(06/13)
(03/14)
(02/15)
(01/03)
(01/03)
(10/04)
(09/20)
(09/15)
(09/14)
(09/14)
(09/14)
(09/06)
(08/30)
最古記事
(10/29)
(10/29)
(10/29)
(10/29)
(10/29)
(04/12)
(04/12)
(06/12)
(06/12)
(06/20)
(06/22)
(07/22)
(07/22)
(07/30)
(07/30)
(08/18)
(08/18)
(08/22)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)


PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

Copyright © インフラ構築手順書 : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]

管理人限定

検索フォーム

カスタム検索

フリーエリア

ESXiの基本設定・運用設定
ESXiのSSH設定
ESXiの NTP設定
VMware ESXiでの時刻同期(NTP)ペストプラクティス
ESXiのゲストOS(仮想マシン)複製
ESXiのOVF形式で複製
異なるESXiバージョン間の複製(移行)
クローン作成後の後処理
仮想マシンのLVM追加
仮想共有ディスクファイルの作成
ESXi上でハイパーバイザーを稼動させる
パフォーマンスがでないとき確認すること


サーバ構築手順
ESXi上でRACを構築する
GFS2+DRBD構築
PaceMaker+MySQLレプリケーション構築
PaceMaker+DRBD構築
HeartBeat2+DRBD構築


Solarisの構築手順
Solarisのネットワーク設定変更
Solarisのホスト名変更
Solaris11のresolv.conf変更手順
Solaris11のHDD増設手順


AWS(Amazon Web Service)の基本設定・運用設定
S3 WEBサイトの構築
S3 WEBサイトのアクセス制限
S3 WEBサイトのリダイレクト設定


Windows Azureの基本設定・運用設定
AzureでWordpress構築
英語版Wordpressを日本語化する
AzureWebサイトの独自ドメイン設定
AzureWebサイトのモード変更
WEBアクセスログ解析ツールの比較


WordPressの基本設定・運用設定
WordPressの基本構造
WordPressのインストール手順
Wordpressマルチサイト機能
「続き読む(more)」カスタマイズ
Wordpressの独自PHP
Wordpressをサブディレクトリに移す
既存サブディレクトリをルートディレクトリとする
Wordpressが利用可能な共用ホスティング


Postfix構築
Postfixにおける暗号化したSMTP認証設定


SoftEtherVPNの構築
ESXi上のSoftEtherVPN構築
DDNSと組み合わせたSoftEtherVPNの設定


LinuxのAD連携
LinuxのActiveDirectory連携について
PAM認証でAD連携
ApacheでAD連携(LDAP認証)
ApacheでAD連携(Kerberos認証)
SAMBAで2台目DCサーバを構築
RedmineとGitのLDAP(AD)認証設定
JenkinsのLDAP(ActiveDirectory)認証設定


Redmine設定
Alminium(RedmineとGit/SVN)のインストール手順
RedmineとGitのLDAP(AD)認証設定
RedmineとGitの移行
JenkinsのLDAP(ActiveDirectory)認証設定


サーバの基本設定・運用設定
Apache
Apacheの基本設定
Apacheの仮想ホスト設定
PHPの基本設定
Nginxのロードバランサ設定
WebDAV構築手順
アンチウィルス
無償アンチウィルス(ClamAV)の導入手順
システム監視
システム監視ソフトMuninの導入手順
システム監視ソフトZabbixの導入手順
sarによるリソース使用情報取得


サーバ移行
Mysqlマイグレーション
MySQLマイグレーション時の問題点と解決策
Windows
Windows OS評価版からの移行
SQL Server評価版からの移行
クラスタソフト
クラスタソフトの比較

ツリーカテゴリ

広告ーSEO





人気ブログランキングへ
にほんブログ村 IT技術ブログ Webサイト構築へ

ブログ王ランキングに参加中!


最新トラックバック

バーコード

アフィリエイト2