Home avatar

Deokgon Kim

pGina를 이용하여 WinXP에서 LDAP로그인 정보 활용하기

Windows XP에서 로그인시 로컬 계정이 아닌 LDAP에 있는 계정으로 로그인하는 것을 테스트해 보았습니다.

Windows XP에서는 기본적으로는 LDAP인증을 당연히 제공하지 않고 있지요. ( AD를 구성하면 디렉토리 서버를 통한 인증이 되겠지만 )

구글링한 결과 pGina라는 프로그램을 설치하여 LDAP을 통한 인증이 가능하다는 것을 테스트해 보았습니다.

아래 사이트에서 pGina XP용 버전인 1.8.8 버전을 받습니다.

http://www.pgina.org/

그리고, 아래 URL에서 LDAP 인증 플러그인을 받습니다.

http://www.pgina.org/index.php/Plugins:LDAP_Auth

받은 플러그인을 plugin 디렉토리에 넣고, 플러그인 설정에서 서버주소(서버명 or IP, SSL 여부, LDAP포트), PrePend(ex. uid=), Append(ex. ou=Users,dc=dgkim,dc=net)정도만 세팅해주면 테스트가 가능합니다.

VPN 연동 시도 노트

리눅스에서 VPN 서버를 구축해 볼까 시도했습니다.

처음에는 PPTP 방식으로 시도를 했습니다. Poptop으로 시도를 했습니다. 연결은 정상적으로 하였으나, 인증정보를 LDAP으로 하려 했는데, 윈도우에서 Samba를 기준으로 쿼리를 하였고, Samba에 LDAP연동을 시도했으나, 기존의 LDAP에 Samba가 준비되지 않아 실패하였습니다.

다음으로 IPSEC을 시도했습니다. 윈도우의 경우 IPSEC만으로 VPN이 되지 않고, L2TP도 세팅해야 하는데, 마땅한 자료 및 구현이 없어 포기했습니다.

IPSEC은 마지막으로 IPHONE의 IPSEC으로 세팅해보고자 시도를 했습니다. Racoon 이란 것으로 시도를 했고, 접속간 키교환에 인증서를 사용하는 것 까지는 성공했습니다.

OAS 10g R2 에서 한글 파일명 413 에러 발생관련

Oracle Application Server 10g R2 ( 10.1.2 )에서 OC4J 컨택스트내에 파일명을 한글로 둘 경우, 처리가 정상적으로 되지 않는 문제가 있습니다.

물론 웹모듈에 한글 파일명을 두지 않는 것이 올바른 방법이겠으나, 어쩔수 없이 한글 파일명을 써야 되는 경우 아래 옵션을 OC4J 구동옵션에 추가하여 해결할 수 있습니다.

opmn.xml 에서 해당 OC4J인스턴스의 start-parameters 항목에 ajp.use.unparsed.uri 옵션을 추가해줍니다.

LDAP 을 사용하여 계정관리 통합하기

Directory Server를 구축하여, 여러 가지 애플리케이션의 인증 관리를 통합할 수 있습니다.

저는 uid={id},ou=Users,dc=dgkim,dc=net 이란 이름의 인증 디렉토리를 구축하여 사용할 수 있습니다.

그리고, 아래와 같은 로그인에 LDAP의 ID, Password를 활용하고 있습니다.

JAAS를 활용하여 인증에 LDAP을 사용하고 있습니다.

아래 web.xml 설정을 통해서 웹모듈에서 컨테이너가 제공하는 UserPrincipal 과 Role 정보를 활용할 수 있습니다.

web.xml : admin, user 롤을 정의하고, user 롤에 속하는 사용자가 사용할 수 있도록 구성.

Apache와 OC4J 연동하기.

Oracle Application Server는 크게 Oracle HTTP Server(Apache MOD)와 OC4J(Oracle Container for J2EE)로 구성되어 있습니다.

그런데, OC4J의 경우 단독으로도 사용할 수 있도록 Standalone 버전으로 Oracle에서 제공하고 있습니다.

만약, 서버를 저와 같이 PHP나 다른 Apache의 기능을 사용하고, OAS를 사용할 수 없는 환경에서 Apache와 OC4J를 연동하여 사용하는 방법을 알려드립니다.(물론 이미 알고 있는 분도 계시겠지만.)

먼저, Apache와 OC4J의 연동은 OAS 에서는 mod_oc4j 라는 모듈을 통해 처리합니다. 그러나, mod_oc4j는 OAS에 맞도록 작성되어 단독 Apache에 쓰기에는 무리가 있습니다.