13
Overview Active Directory Server 와 Apache 와 와와 SSO 와와 KLDP Conf 장장장

Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Embed Size (px)

Citation preview

Page 1: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Overview

Active Directory Server 와 Apache 를 통한 SSO 구현KLDP Conf

장정철

Page 2: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Overview

LDAP• Lightweight Directory Access Protocol• Directory( 계층구조 ) 서비스를 조회하고 수정하는 프로토콜• Directory 는 논리 , 계층 방식 속에서 조직화된 , 비슷한 특성을 가진 객체들의 모임• 전화번호부 – 가나다 순의 일련의 이름을 가지고 있고 , 이름마다 전화번호와 주소를 가진다• 계층구조를 조회하고 수정할 수 있는 특성 때문에 , LDAP 은 인증을 위한 다른 서비스에 의해 자주 사용된다 .

Page 3: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Overview

ADS• Active Directory Server• Domain Controller• MS 에 의해 구현된 LDAP 기반의 Directory service• NTDS 라고도 불렸었음• 윈도우 기반의 컴퓨터들에서 중앙 집중의 권한과 인증 관리를 위해 사용된다 .

Page 4: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Why SSO?

관리의 편의성• 사용자의 계정을 통합적으로 관리할 수 있다• 사용자의 접근 권한을 그룹단위로 설정하여 편하게 관리 할 수 있다통합의 용이성• 새로운 서비스를 제공할 때 마다 계정을 일일이 생성해줄 필요가 없다 .• 전혀 다른 서비스들도 하나의 통합 인증을 통해 접근할 수 있다 .

• Subversion• Trac• Dokuwiki• Samba

Page 5: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

ADS auth with Apache

Requirement• Apache module

• auth_basic• authnz_ldap• authz_default

• Active Directory authentication<Location "/">

AuthBasicProvider ldap AuthType BasicAuthzLDAPAuthoritative off AuthName "My Subversion server" AuthLDAPURL "ldap://directory.example.com:389/DC=example,DC=com?

sAMAccountName?sub?(objectClass=*)" NONE AuthLDAPBindDN "CN=apache,CN=Users,DC=example,DC=com" AuthLDAPBindPassword hackme require valid-user

</Location>

Page 6: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

ADS auth with Apache

Page 7: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Subversion

Requirement• dav• dav_svn

     <Location /svn/qoom-sr>              DAV svn              SVNPath /home/svn/qoom-sr              AuthType Basic              AuthName "Qoom Island Game Server Repository"              AuthBasicProvider "ldap"              AuthLDAPURL "ldap://dc.j-interactive.com:3268/DC=j-interactive,DC=com?sAMAccountName?sub?(objectClass=user)"              AuthLDAPBindDN       [email protected]              AuthLDAPBindPassword "password"              authzldapauthoritative Off              require ldap-group CN=qoom-sr,OU=User,OU=J-Interactive,DC=j-interactive,DC=com     </Location>

Page 8: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Subversion

Page 9: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Trac

Requirement• mod_python<Location /qoom-sr> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnv /home/trac/qoom-sr PythonOption TracLocale "en_US.UTF8" PythonOption TracUriRoot /qoom-sr SetEnv PYTHON_EGG_CACHE /home/trac/qoom-sr AuthBasicProvider ldap AuthType Basic authzldapauthoritative Off AuthName "Qoom Island Game Server“ AuthLDAPURL "ldap://dc.j-interactive.com:3268/DC=j-interactive,DC=com?sAMAccountName?sub?(objectClass=*)" NONE AuthLDAPBindDN [email protected] AuthLDAPBindPassword “password"

require ldap-group CN=qoom-sr,OU=User,OU=J-Interactive,DC=j-interactive,DC=com require ldap-group CN=qoom-cl,OU=User,OU=J-Interactive,DC=j-interactive,DC=com</Location>

Page 10: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Trac

Page 11: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Dokuwiki

Requirement• php with ldap• ldap.conf.php

<?php$conf['useacl'] = 1;$conf['openregister']= 0;$conf['authtype'] = 'ldap';

$conf['auth']['ldap']['server'] = 'j-interactive.com';$conf['auth']['ldap']['binddn'] = '%{user}@%{server}';$conf['auth']['ldap']['usertree'] = 'dc=j-interactive,dc=com';$conf['auth']['ldap']['userfilter'] = '(userPrincipalName=%{user}@%{server})';$conf['auth']['ldap']['mapping']['name'] = 'displayname';$conf['auth']['ldap']['mapping']['grps'] = array('memberof' => '/CN=(.+?),/i');$conf['auth']['ldap']['referrals'] = 0; # Switch referrals off for use with Active Directory$conf['auth']['ldap']['version'] = 3;?>

Page 12: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Trac

Page 13: Overview Active Directory Server 와 Apache 를 통한 SSO 구현 KLDP Conf 장정철

Reference site

Link• http://www.jejik.com/articles/2007/06/apache_and_subversion_authentication_with_microsoft_active_directory/• http://download.softerra.com/files/ldapbrowser26.msi