database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
ㆍLDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
LDAP Q&A 2305 게시물 읽기
No. 2305
[질문] OS인증을 특정 호스트에서 접속제어하는 방법에 대하여 (ipHost 이용?)
작성자
문태준(taejun)
작성일
2006-11-23 09:23
조회수
9,019

제가 예전에 테스팅을 한 내용은 다음과 같습니다. ipHost objectClass 이용하여 ipHostNumber 에 지정한  ip에 대하여 member로 지정한 사용자만 접속하도록 할 수 있습니다. 이렇게하고 각 ldap 클라이언트에 pam_group_dn 과 pam_member_attribute 를 설정하면 됩니다.


그런데 이렇게 하는 경우에는 ldap client 설정을 변경해주어야 하기때문에 여러대의 시스템에서의 접속제한을 하는 경우에는 불편합니다. 다른 방법이 없을까요? LDAP을 이용하여 각 서버에 접속하는 사용자의 인증을 통합하고 각 IP별로 접근가능한 사용자를 제어하려는 목적이지요. 이 방법은 오렐리에서 나온 ldap 서적에서 참고한 것인데 자료를 검색해봐도 잘 모르겠네요.


이 기능이 필요한건 ldap을 통해 인증을 통합한다고 하더라도 각 사용자별도 접근권한을 제어해야하기 때문인데요. 다른 방법도 있을 듯 한데 잘 모르겠군요.  


참고로 다른 내용이기는 하지만 리눅스에서는 PAM을 이용하여 접속ip와 사용자를 조합하는것이 가능하지요.


# cat /etc/security/access.conf
AppendIfNoSuchLine "-:root:All EXCEPT LOCAL localhost.localdomain 222.112.137. 211.239.157. 61.100.15."

위는 지정한 ip에서만 root 접속을 허용하는 것입니다.


# cat /etc/pam.d/sshd | grep access
account required pam_access.so

sshd 에 pam_access.so 를 추가해주면 됩니다.


-----------------------------


특정 호스트에 접속가능한 사용자 제한하기

ou=hosts 가 먼저 있어야 한다.


# cat host.ldif

dn: ou=hosts,  dc=isoc, dc=com

ou: hosts

objectclass: organizationalUnit

objectclass: domainRelatedObject

associatedDomain: isoc.com


# ldapadd -x -D 'cn=manager,dc=isoc,dc=com' -W -f host.ldif



이제 특정 호스트와 사용자에 대한 정보를 입력한다. 아래에서는 cn을 linux 를 하였다.


# cat iphost.ldif

dn: cn=linux,ou=hosts,dc=isoc,dc=com

objectClass: ipHost

objectClass: device

objectClass: extensibleObject

ipHostNumber: 192.168.0.23

cn: linux.isoc.com

cn: linux

member: uid=test,ou=people,dc=isoc,dc=com

member: uid=test2,ou=people,dc=isoc,dc=com



# ldapadd -x -D 'cn=manager,dc=isoc,dc=com' -W -f iphost.ldif



위에서는 192.168.0.23 에 test, test2 계정만 접속가능하도록 설정하였다.


ldap에 위의 정보를 입력한 후 각 ldap client 에 위 기능을 사용할 수 있도록 설정해야 한다.


이는 /etc/ldap.conf 에 다음 항목을 추가한다. 위에서 사용한 dn을 넣어주어야 한다.


pam_groupdn cn=linux,ou=hostss,dc=isoc,dc=com

pam_member_attribute member



테스팅을 한 결과 /etc/ldap.conf 에 pam_groupdn 설정을 두개 넣으면 작동을 하지 않았다.

그렇지만 각 ldap client 쪽에 이 설정이 두가지 들어갈 일이 없으므로 문제가 되지는 않는다.


iphost.ldif 에 설정한 내용을 각 ldap client 별로 ldap에 넣어주고 이후에는 그 설정내용만 계속 수정하면 된다.

이 글에 대한 댓글이 총 2건 있습니다.

송상준입니다. 한번 가서 보고 싶습니다. 

한번 같이 방법을 도출해 내었으면 하네요. 제 생각에 별 어려움 없이 
해결할 방법이 있을것 같습니다.

그럼

송상준(sjsong)님이 2006-12-12 21:16에 작성한 댓글입니다.

다르게 처리하였습니다.

여기 있는 내용들은 오렐리에서 나온 LDAP Admin 등에 나와있는 내용들을 참고하여 내부적으로 정리한 것입니다.

물론 제가 전에 LDAP 테스팅을 할때도 오렐리의 책을 보기는 했었는데 이번에 다시 열심히 테스팅을 해보니 pam_check_host_attr 옵션을 이용하는것이 더 낫더군요. 위에 써놓은 방식은 각 클라이언트마다 설정이 달라져서요.


LDAP진행을 보류하긴 했는데 점차 담당하거나 관여하는 시스템이 늘어나면서 더이상 미루면 안되겠다 싶어서 다시 또 보고 있습니다. 시스템계정관리를 LDAP을 이용하여 중앙에서 단일한 인터페이스에서 관리를 할수가 있겠지요. 기본적인 세팅외에 여러가지 모르는것이 많지만 좀더 진행해보려 합니다. 교육받고 작은 프로젝트 통해서 경험을 쌓으면 편한데 쯔압~ 필요한 사항들을 좀더 정리해서 올려볼까요? 시스템에서 계정을 통합하는 사례로서 기존에 개발관점에서 LDAP을 써왔던 분들한테도 시야를 넓힐수는 있을 듯 한데요. 알고계시고 활용하시는 분들도 계시겠지만. 리눅스계정 LDAP에 해보고 윈도우 AD공부한다음 다시 리눅스, 윈도우 통합을 생각해보고 있지요. 다른 업무들이 있으니 단시간내에 되지는 않겠지만.



12.3 호스트, 사용자별 접근제한

특정 호스트, 사용자를 지정하여 접근을 제한할 수 있는데 두가지 방법이 있다.

첫번째는 특정한 호스트에 접속가능한 사용자들을 지정하는 방식(a.server 에 a,b,c 사용자 접속가능)이 있고 두번째는 특정한 사용자가 접속가능한 호스트들을 지정하는 방식(a 사용자는 가,나,다 서버에 접속가능)이 있다.

실제 사용하는 경우 뒤의 방식이 더 편리하다. 앞의 방식은 클라이언트에서 설정을 일일이 세팅해야하지만 뒤의 방식은 클라이언트에서 동일한 설정을 유지하되 ldap서버에서 변경을 할 수가 있다.


12.3.1 특정 호스트에 접속가능한 사용자 제한하기 #

/etc/ldap.conf 에서 pam_check_host_attr yes로 해줌. /etc/openldap/ldap.conf가 아니다.

사용자를 추가할때 host 에 접속가능한 호스트 지정. 여기서 IP로 지정하면 접속이 되지 않았고 정확한 도메인명을 지정해야한다.


# test, people, samjung.com

dn: uid=test,ou=people,dc=samjung,dc=com

중간내용 생략

host: kldp.org

host: cent3.tunelinux.pe.kr



pam 설정은 변경할 필요가 없다.


12.3.2 특정 호스트에 접속가능한 사용자 제한하기

이것은 위에 있는 내용이므로 다시 옮기지 않음

문태준(taejun)님이 2006-12-12 22:59에 작성한 댓글입니다.
이 댓글은 2006-12-12 23:01에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
2308ldap connection pool에 대해 [1]
경우
2006-12-13
9002
2307[질문] LDAP Connection시 OutOfMemoryError에 대해... [2]
oz
2006-12-12
9890
2306[질문]object간 join 과 entry의 갯수... [1]
최진석
2006-12-06
7486
2305[질문] OS인증을 특정 호스트에서 접속제어하는 방법에 대하여 (ipHost 이용?) [2]
문태준
2006-11-23
9019
2304PHP에서 LDAP접근할때.. [1]
안재정
2006-11-21
8910
2303Active Directory 와 Exchange Server문의드립니다. [1]
문성철
2006-11-14
8542
2302JAVA를 이용해서 AD인증을 받으려고 하는데요. [1]
서승완
2006-10-26
8968
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다