i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 ·...

164
© 2006 IBM Corporation International Technical Support Organization ibm.com the power of one IBM Confidential until announced. i5/OS 보안기능 및 안전한 통신을 위한 i5/OS 유틸리티 정예성 수석연구원 IBM Rochester ISO - iSeries Center

Transcript of i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 ·...

Page 1: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

International Technical Support Organization

ibm.comthe power of one

IBM Confidential until announced.

i5/OS 보안기능 및 안전한 통신을 위한

i5/OS 유틸리티

정예성 수석연구원

IBM Rochester ISO - iSeries Center

Page 2: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

NoticesThis information was developed for products and services offered in the U.S.A.

Note to U.S. Government Users Restricted Rights — Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A.

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

COPYRIGHT LICENSE:

This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBM's application programming interfaces.

Page 3: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Acknowledgements

This presentation was created based on the materials developed by Thomas Barlen, IBM Germany. I sincerely appreciate his generous support as well as the advices from many developers and product owners at IBM Rochester.

Page 4: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

목차

제 1 주제: i5/OS의최신보안기능

제 2 주제: i5/OS LDAP

제 3 주제: i5/OS를바탕으로구축하는 SSO

제 3 주제: i5/OS의보안유틸리티 – OpenSSL 및 OpenSSH

Page 5: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

제 1 주제

i5/OS의최신보안기능

Page 6: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Hardware Storage Protection (HSP)

V5R4에서더욱보강된 HSP에의하여사용자프로그램이시스템 object를불법적으로접근하는것이불가능하게되었습니다.

• i5/OS의전설적인보안기능, 즉 object integrity의완결판이라할수있습니다.• 디스크상의 system information을 read-write, read-only, no access 등으로정의보호할수있습니다.

• System security level은 40 이상이어야합니다.• 정상적이지않은방법으로변형된프로그램에대한 “back door” access가불가능합니다.

이런경우, 접근시도자체가 FAIL 되게됩니다.

합법적인, 즉정상적인프로그램의경우에는아무런조처가필요없습니다.• ‘나쁜’사람들이시스템을저해하고자하는경우만을저지하는기능입니다!

만약 unauthorized access의시도가있었을경우에는 Authority Failure (AF) audit record가기록됩니다.

• 물론 system audit journal이 active한상태이어야합니다.

Page 7: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

V5R4에서보다보강된 hardware storage protection은디스크에존재하는시스템정보를read-write, read-only, 혹은 no access 등으로정의할수있게해줍니다. Security level 40 이상인시스템에서는 *USER state인프로그램이시스템정보를 access하려할경우, 정의된 access에의하여보호가됩니다.

다시말해서, 시스템의 object integrity가완벽하게지켜지게되었습니다. 각 object의 HSP attribute에의하여 access가관리됨으로써사용자프로그램이시스템 object를접근하는것이불가능하게된것입니다.

이러한새로운기능은기존의 iSeries 모델에서도지원되지만다음의모델에서는지원되지않습니다:

• 모든 B 모델

• 모든 C 모델

• D 모델중, 9402 D04, 9402 D06, 9404 D10, 9404 D20

만약어떤프로그램이 HSP에의해보호되고있는구역의디스크를접근하려했을경우에는QAUDJRN 저널에 AF entry, violation type R으로기록이남습니다.

• 물론 auditing 기능이 active 한상태여야하고, 또한 QAUDLVL system value에 *PGMFAIL auditing option이들어있어야합니다.

Page 8: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Intrusion Detection

V5R4에는 intrusion detection을지원하기위한새로운기능이 TCP/IP stack에추가되었습니다.

• Intrusion prevention과구별할필요가있습니다.

Intrusion의이유는다음과같습니다:• 해당 authority없이정보를획득함 (정보도난)• 네트워크, 시스템, 어플리케이션등에작동장애를일으킴 (denial of service)• 제 3의대상에로의 intrusion을위하여시스템에의침입을기도함

Intrusion은대체적으로다음과같은순서로일어나게됩니다:• 네트워크토폴로지및사용자에대한정보입수

IP address 및 port를 scannetwork sniffing

• 입수된정보를활용하여네트워크및시스템자원에의접근을시도함• 파괴적인 attack 수행

Page 9: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:Intrusion detection이라함은, TCP/IP 네트워크상에서일어나는일련의불법적인행위, 즉unauthorized access의시도라든가실제발생한 attack 등에대한정보를취합하는기능을말합니다. 보안관리자, 즉 security administrator는이러한 auditing record를분석함으로써보다강화된보안시스템을구축할수있게됩니다. Intrusion, 즉네트워크에의침입의동기및형태는여러가지가있습니다. 정보를훔치려한다거나 denial of service를발생시켜네트워크, 시스템, 혹은어플리케이션자체의작동을정지시키게하는것등이가장대표적인예가되겠지요.

iSeries 관련자료를보시다보면, intrusion detection이라는용어가두가지의의미로쓰이고있음을발견하시게되리라생각됩니다. 그한가지는, 보안이깨어지는경우를감지하고예방하자는의미로쓰이는경우입니다. 예를들어, 헤커가 invalid user ID를사용하여시스템이침투하기를시도하는수가있겠지요. 혹은, 미숙한사용자에게너무많은 authority를부여한나머지본의아니게시스템라이브러리의중요한오브젝트들을건드리는경우도있을수있겠습니다. 또한가지의의미는, V5R4와함께새로추가된보안기능을지칭하는경우인데, 바로시스템전반의 traffic을 monitor하기위하여policy를구축, 사용하는경우를가르킵니다.

Intrusion detection을구축하기위해서는 IP networking의상세한이해가필수적으로요청됩니다.

Page 10: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Intrusion DetectionIntrusion detection event는다음과같습니다:

• Scanning events Port scans

• AttacksDenial of service attacksMalformed packetsInternet protocol (IP) fragmentsRestricted IP optionsRestricted IP protocolsInternet Control Message Protocol (ICMP) redirect messagesPerpetual echo attacks on User Datagram Protocol (UDP) port 7 (the echo port)

외부네트워크, 즉 external-facing 방화벽은내부네트워크로부터의 intrusion은감지하지못합니다!

• i5/OS IDS를활용함으로 external 뿐만이아니라 internal-only IP traffic 까지포함하는보다완벽한보안 policy 시스템을구축할수있습니다.

Page 11: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Intrusion Detection – i5/OS ImplementationIntrusion Detection System (IDS)은 policy file에정의됩니다.i5/OS IDS는 Quality of Service (QoS) 서버를활용합니다.

QoS (IDS)Agent

QoS (IDS)Manager

IDSPolicyFile

IDS

Intrusiondetected?

TCP/IP stack

Port Table

0

2

1

65535

3

Condition 1

Condition 2

Condition 3

Action 1

Action 2

• Port 0 조건은모든port에적용됩니다

Page 12: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:i5/OS IDS는 policy file을이용합니다. 즉, idspolicy.conf라는 file에어떻게 intrusion event를관리할것인지를규정지어놓는것입니다. 매 policy 마다에는관련된조건및조치가규정되어있지만, 경우에따라서는동일한조치에복수개의조건이있는경우도있습니다. TCP/IP stack은가장일반적인intrusion event를보고합니다. 이를바탕으로 intrusion에관계되는일련의활동을분석하는프로그램을짤수있습니다.

Page 13: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:IDS는다음과같이 implement됩니다:1. IDC policy file, 즉 idspolicy.conf file에 모니터하고자 하는 intrusion type을 적시한 뒤, QoS server를start합니다. 어떤 특정 event를 intrusion으로 볼 것이냐 아니냐는 사용자가 policy file에 어떻게조건(condition)을 주느냐에 따라 결정됩니다. 이와 같은 조건은 port별로 규정됩니다. 이런 조건이 갖추어질경우, 역시 policy file에 규정되어있는 조치(action)가 수행됩니다.

2. QoS policy agent는 idspolicy.conf file에 있는 intrusion detection policy를 읽습니다.

3. QoS policy agent는 machine intstruction을 동반한 message를 QoS manager에게 보냅니다.

4. QoS manager는 보내어진 machine instruction을 해독하여 TCP/IP stack안에 있는 IDS로 보냅니다. TCP/IP stack은 네트워크 상의 outbound 및 inbound traffic을 관리하고 네트워크 상의 다른 컴퓨터로 request를route합니다.

5. IDS는 port table에 policy를 생성합니다. Port table에는 port 0에서부터 port 65535에 이르는 엔트리들이존재합니다. 앞서의 예를 들자면 port 1에는 세개의 조건과 두개의 조치가 정의되어 있습니다. 조건 1과 조건2가 충족되면 조치 2가 수행됩니다. 조건 3이 충족되면 조치 1이 수행됩니다. 여기서 사용자가 원하는 데 따라, 한 조치에 복수개의 조건을 달 수 있습니다. Port 0은 valid port가 아닙니다. 만약 port 0에 어떤 조건이나조치를 정의하게 되면 port 1부터 port 65535까지, 모든 port에 적용됩니다!

6. TCP/IP stack이 intrusion을 detect하게 되면, 조건이 충족되는지를 port table에서 확인합니다. 조건이충족되면 해당 조치가 취해집니다. 예를 들어 IM auditing record를 생성한다든지 system statistics를생성한다든지 하게 됩니다.

7. 시스템은 intrusion event의 유형, 즉 type을 기술하는 IM audit record를 생성합니다.

8. 시스템 관리자는 주기적으로 system audit journal을 분석할 필요가 있습니다. 즉, IM record들을분석함으로써 intrusion의 혐의가 있는 유형이 발견될 경우는 IP packet filtering 등을 이용하여 해당 port를close하든지 하여야 합니다.

Page 14: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Intrusion Detection – Setup

Copy/qibm/proddata/OS400/QOS/idspolicy.conf to/qibm/userdata/OS400/QOS/ETC/idspolicy.conf

Enable QoS in TCP/IP attributesCHGTCPA IPQOSENB(*YES)

Configure system audit journalCHGSYSVAL SYSVAL(QAUDLVL) VALUE(*ATNEVT)

Edit idspolicy.conf and defineconditions and actions

Start QoS ServerSTRTCPSVR SERVER(*QOS)

(SBS: QSYSWRK JOB: QTOQSRVR)

1

2

3

4

5

Page 15: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:

IDS의 setup은다음과같이진행됩니다:1. IDS는 Quality of Service (QoS) service를이용하여구축됩니다. 따라서제일먼저 QoS를 enable하여야합니다:

CHGTCPA IPQOSENB(*YES)

2. (나중에정의하게될 idspolicy.conf file에의하여) 감지된 intrusion 시도는 i5/OS의 system audit journal ((QSYS/QAUDJRN)에기록됩니다. 만약이 journal이시스템에존재하지않으면 system audit journal을 activate 해야합니다. (자세한내용은 iSeries Security Reference, SC41-5302의 9장을참조하십시오.) 한편, IDS logging을 enable하기위해서는 QAUDLVL system value의값이 *ATNEVT (attention event)로잡혀있어야합니다. 만양, 아미 audit journal이가동되고있고 QAUDLVL system value에더이상빈자리가없을경우는QAUDLVL2 system value를쓰실수있습니다. 단, 이경우, 즉 *ATNEVT 값을 QAUDLVL이아닌 QAUDLVL2에정의하셔야할경우는 QAUDLVL system value에 *AUDLVL2의값이들어가있어야합니다. 이를위해서는WRKSYSVAL QAUDLVL 명령어를쓰시는것이좋습니다. 이렇게하면필요한값이이미들어있는지, 아니라도현재어떤값이각각의 system value에들어있는지를확인하실수있습니다.

3. i5/OS V5R4에는 IDS policy 세팅을위한 template file이제공되어있는데, 바로 idspolicy.conf가그것입니다. 이file에 sample IDS policy가 comment로처리되어들어있습니다. 이 file은/qibm/proddata/OS400/QOS/idspolicy.conf. 디렉토리에들어있습니다. 사용시에는이 file을/qibm/userdata/OS400/QOS/ETC/idspolicy.conf.로 copy해서쓰시는것이좋습니다.

4. 이제 /qibm/userdata/OS400/QOS/ETC/idspolicy.conf. file을 edit하여 필요한 모든 조건과조치를 정의하십시오.

5. 마지막으로 STRTCPSVR SERVER(*QOS) 명령어를 사용하여 QoS server를 start하십시오. 이렇게하면 QTOQSRVR라는 QoS server job이 QSYSWRK 서브시스템에작동됩니다.

Page 16: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Intrusion Detection – Policy File

IDS policy는 idspolicy.conf file에정의됩니다.EDTF명령어를사용하여 edit하실수있습니다:EDTF STMF('/QIBM/UserData/OS400/QOS/ETC/IDSPOLICY.CONF')

Edit File: /qibm/userdata/OS400/QOS/ETC/IDSPOLICY.CONF Record : 50 of 153 by 10 Column : 1 92 byControl :

CMD ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....# ibm-idsActionAuxClass <action name> # {# ibm-idsActionType: ATTACK | TR | SCAN_GLOBAL | SCAN_EVENT # ibm-idsStatInterval: n (Default is 60) # where n is the interval length in minutes to # IDS statistics # ibm-idsMaxEventMessage: n (Default is 5) # where n is the maximum number of attack event# messages to be audited per interval specified# with ibm-idsStatInterval. # ibm-idsTRtcpTotalConnections: n# where n is the total number of connections # allowed for a listening server application.

Edit File: /qibm/userdata/OS400/QOS/ETC/IDSPOLICY.CONF Record : 50 of 153 by 10 Column : 1 92 byControl :

CMD ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....# ibm-idsActionAuxClass <action name> # {# ibm-idsActionType: ATTACK | TR | SCAN_GLOBAL | SCAN_EVENT # ibm-idsStatInterval: n (Default is 60) # where n is the interval length in minutes to # IDS statistics # ibm-idsMaxEventMessage: n (Default is 5) # where n is the maximum number of attack event# messages to be audited per interval specified# with ibm-idsStatInterval. # ibm-idsTRtcpTotalConnections: n# where n is the total number of connections # allowed for a listening server application.

Commented out

Page 17: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:/QIBM/UserData/OS400/QOS/ETC 디렉토리로 copy한 idcpolicy.conf policy file에는 IDS setup에필요한 여러 조건(condition) 및 조치(action)들이 참고로 정의되어 있습니다. EDTF 명령어를이용하여 사용자 환경에 맞게 편집하시면 됩니다. 참고로 들어있는 내용에는 이미 directive가 짧은기술과 함께 들어가 있습니다. 모든 directive는 comment로 처리되어 있습니다. 즉, # character로표시되어 있습니다. 사용자께서 직접 policy file을 작성하실 때에는 물론 이 comment character를제거하시면 됩니다. 단, 모든 directive가 V5R4에서 지원되는 것은 아님을 염두에 두시기 바랍니다. 다음의 directive들은 V5R4에서는 지원되지 않습니다:

• ibm-idsMessageDest

• ibm-idsNotification

• ibm-idsLoggingLevel

• ibm-idsTypeActions

• ibm-idsSensitivity

• ibm-idsScanExclusion

Page 18: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Intrusion Detection - Policies

Condition

Action

Policies include

•조치가취해지기위해서충족되어야하는 IDS 조건을정의합니다

•조건이충족되었을경우취해지게될조치를정의합니다•주로 threshold, interval 등의 logging 조치가포함됩니다

IF

THEN

Page 19: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:IDS policy는다음의두가지로구성됩니다:

• IDS 조건, 즉 port, protocol, IP address 등, IDS policy에관련된조건들이기술됩니다. 또한 scan event 등제반intrusion event도포함됩니다.

• IDS 조치는조건이충족되었을때취해지게됩니다. 복수개의조건이동일한조치에연결될수있습니다. V5R4에서는 logging 성격을규정하고있습니다. 예를들어, 언제 QAUDJRN journal에 audit record를기록할것인지, 혹은어떤제한된 interval 사이에특정 event를몇건까지 audit record로기록할것이지등의조치를정의합니다.

Page 20: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Intrusion Detection – IDS Events

Intrusion event에는다음의세가지유형이있습니다:

Scan Attack TrafficRegulation

• Scan event의감지및예방•단일 source IP로부터정의된시간단위내에서복수개의information gathering event가발생하는경우

• Fast scan 및 slow scan이있음

• Scan 자체가해로울것은없으나통상해로운 attack이일어나기전단계 event인경우가많음

• 감지, 보고및예방•시스템보안을유린하는것으로정의되어있음

•통상의도하는바는, 시스템의파괴, 혹은마비를목적으로함• Single packet attack 및multiple packets attack이있음• Active attack 및 passive attack이있음

• 시스템의메인메모리를소진함으로써, 특히 peak load가걸리는시점에처리지연을야기시키려는목적

•동일프로그램이동시에접속되는수효를 TCP port 당제한하는 policy• UDP policy의경우 abstract queue size를규정 (이 size를초과하는 packet은 discard됨)

Page 21: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Intrusion Detection – Scanning의예

ibm-idsConditionAuxClass idscond10 # IDS condition { ibm-idsConditionType SCAN_EVENT

ibm-policyIdsActionName idsscan1 ibm-idsProtocolRange 6 ibm-idsLocalPortRange 1-5000 ibm-idsLocalHostIPAddress 2-10.5.92.000-24 }

ibm-idsActionAuxClass idsscan1 # IDS action { ibm-idsActionType SCAN_GLOBAL

ibm-idsFSInterval 10 ibm-idsFSThreshold 30 # fast scanning threshold ibm-idsSSInterval 100 ibm-idsSSThreshold 50 # slow scanning threshold }

Goal (condition, 즉조건):• Protocol TCP (protocol number 6)에대한 scan• Port 1에서 5000까지의 scan

• Local IP addresses 10.5.92.0 / 24 Scans forAction (logging characteristics, 즉조치): 다음과같은경우에,

Audit record를기록한다:• 10분이내에 30건의 scan이발생할경우• 100분이내에 50건의 scan이발생할경우

Page 22: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:일반적으로, source address와 destination address가 같은 경우 (spoofing), 혹은 incoming connection request를 예상하고 있지 않는 (즉, listening 하고 있지 않는) port에로의 connection attempt가 있다든지 하는 경우에 scan event를 의심할 수 있습니다.예제를 설명해 보겠습니다:

먼저 조건, 즉 condition 정의 부분부터 살펴 보겠습니다.

ibm-idsConditionAuxClass idscond10 # IDS condition { ibm-idsConditionType SCAN_EVENT ... Intrusion event type을 나타냅니다. 이 예에서는 IDS가scanning intrusion event를 감지합니다.

ibm-policyIdsActionName idsscan1 ... 조건이 충족되었을 때, 취해질 조치, 즉 action의 이름입니다. 예에서는 idsscan1이라고 명명되어 있습니다.

ibm-idsProtocolRange 6 ... Scanning event를 감지할 port, 혹은 port의 범위를 정합니다. 예에서6이라는 숫자는 TCP protocol을 나타냅니다. 다음 페이지에 자주 사용되는 protocol의 리스트가있습니다.

Page 23: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

Encapsulation Security Payload Protocol (ESP)

50User Datagram Protocol (UDP)17Interior Gateway Protocol (IGP)9Exterior Gateway Protocol (EGP)8Transmission Control Protocol (TCP)6

Internet Control Message Protocol (ICMP)1DescriptionProtocol number

Page 24: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설ibm-idsLocalPortRange 1-5000 ... IDS는 port 1에서 port 5000 까지를 모니터 합니다.

ibm-idsLocalHostIPAddress 2-10.5.92.000-24 ... 시스템은 10.5.92.0 (subnet mask 255.255.255.0) IP subnet을 모니터 합니다. 맨앞의 2라는 숫자는 subnet을 나타냅니다. 만약 이숫자가 1로 되어 있는 경우는 하나의 IP address를 가르키고, 3의 경우는 IP address의 범위를나타냅니다.

자세한 내용은 /QIBM/ProdData/OS400/QOS 디렉토리에 들어있는 policy template을 참조하시기바랍니다.}

Page 25: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설다음은 조치, 즉 action 정의 부분입니다.

ibm-idsActionAuxClass idsscan1 # IDS action { ibm-idsActionType SCAN_GLOBAL ... 조치의 유형, 즉 type을 정의합니다. 단, 이부분은 여타플랫폼과의 IDS 호환성을 위해 있는 부분이고, i5/OS는 상관하지 않습니다.

ibm-idsFSInterval 10 ... Fast scan을 감지하기 위한 부분입니다. 시간 단위가 10분으로 정의되어있습니다.

ibm-idsFSThreshold 30 # fast scanning threshold ... 역시 fast scan과 관련된 부분입니다. 앞서의시간 정의와 함께 작동하여, 예의 경우, 10분 이내에 30건 이상의 scanning이 일어날 경우QAUDJRN에 audit record가 로깅되도록 정의된 경우입니다.

ibm-idsSSInterval 100 ... Slow scan을 감지하기 위한 부분입니다. 시간 단위가 100분으로 정의되어있습니다.

ibm-idsSSThreshold 50 # slow scanning threshold ... 역시 slow scan과 관련된 부분입니다. 앞서의시간 정의와 함께 작동하여, 예의 경우, 100분 이내에 50건 이상의 scanning이 일어날 경우QAUDJRN에 audit record가 로깅되도록 정의된 경우입니다.}

Page 26: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Intrusion Detection – Attack의예

Perpetual echo attack• 이유형의 attack은 UDP header의 source port 및 target port가 port 7로되어있을때나타납니다.• UDP port 7는 echo port 입니다.• local port 7과 remote UDP port 7 사이에 UDP datagram이계속 echo되는경우를감지합니다.

ibm-idsConditionAuxClass idscond5 # IDS condition { ibm-idsConditionType ATTACK

ibm-idsAttackType PERPETUAL_ECHO ibm-idsLocalPortRange 7 ibm-idsRemotePortRange 7 ibm-policyIdsActionName idsact2 }

ibm-idsActionAuxClass idsact2 { ibm-idsActionType ATTACK

ibm-idsMaxEventMessage 5 }

Page 27: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Intrusion Detection – Audit Entries

IDS event를위한별도의 audit record type:• IM – Intrution Monitor•이들 journal entry를 QSYS/QASYIMJ5 outfile에저장, SQL 등으로분석할수도있습니다.

Display Journal EntryObject . . . . . . . : Library . . . . . . :Member . . . . . . . :Incomplete data . . : No Minimized entry data :Sequence . . . . . . : 76Code . . . . . . . . : T - Audit trail entryType . . . . . . . . : IM - Intrusion monitor

Entry specific dataColumn *...+....1....+....2....+....3....+....4....+....5 00001 'P2006-01-11-13.19.42.3296881107 001199.5.92.48 ‘00051 ' 035119.5.92.102'00101 ' SCANE 0020 '00151 ' '

Page 28: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설앞의예제를분석하자면다음과같습니다:

Probe type identifier (SCANE = Scan Event)SCANE해당 intrusion event (예의경우에는 scan event)의 uniqueidentifier

0020

Remote port number3511감지된 event와연관된 Remote IP address9.5.92.102

Remote address family02

Detection point identifier1107

감지된 event와연관된 Local IP address9.5.92.48Local port number119Local address family02

Timestamp (2006년 1월 11일, 13:19:42.329688)2006-01-11-13.19.42.329688Potential intrusion event가감지되었음.P의미Journal value

Page 29: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Cryptographic Access Provider

V5R4에서는 Cryptographic Access Provider (5722-AC3)이필요없습니다.• 필요한기능이베이스 OS에포함되어있습니다.• 다음의기능이 5722-AC3 없이도지원됩니다:

SSLVPNCryptographic Services APIs 및기타 cryptographic APIsDCM

한편 Client Encryption product (5722-CE3)도더이상필요하지않게되었습니다.• iSeries Access for Windows (5722-XE1)에필요한기능들이다들어있습니다.• 기존의클라이언트들이이전버젼을필요로하는경우, 계속지원됩니다.

5722AC3 *INSTALLED Crypto Access Provider 128-bit5722CE3 *INSTALLED Client Encryption 128-bit

Licensed Installed Program Status Description

Page 30: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:이전에는미정부의보안관련규정때문에 cryptographic functions및 services, 즉정보의암호처리를위해서 OS와는별도로 Cryptographic Access Provider (CAP)라는라이선스프로그램이필요했었습니다. 그러나이규정이없어짐에따라 V5R4에이르러서는모든 cryptographic function이OS에장착되게되어별도의라이선스프로그램이필요없게되었습니다.

V5R4에서는 Client Encryption (5722-CE3) 라는별도의제품이필요하지도않을뿐더러지원되지도않습니다. 즉, client encryption function이라든지, Secure Sockets Layer (SSL)등이 V5R4의 iSeries Access for Windows (product 5722-XE1)에포함되어있는것입니다.

Page 31: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Virtual Private NetworkingV5R4은 NAT traversal support, 즉 UDP encapsulation을완벽하게지원합니다.

• V5R2에서는 UDP encapsulation의경우, VPN connection의 initiator로만지원되었습니다.• V5R4에서는 responder side 기능이추가되어완벽한시나리오구축이가능합니다.

IPSec packet이 UDP packet으로 encapsulate됩니다.•새로운 IP header가추가되어 NAT 장비를통과하더라도 valid packet으로유지됩니다.

NAT NATIntranet Internet Intranet

VPN Responder

VPN Initiator

신기능

VPN Tunnel

NAT 장비는이새로운 IP address와작동됩니다

Page 32: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:Virtual Private Networking (VPN)과 Network Address Translation (NAT)을 함께 사용하시는 경우, 다음과 같은문제점이 있었습니다:

• NAT를사용하시게되면내부적으로만존재하는 IP address들이공개되지않는다는장점이있습니다. 또한NAT를통하여부족한 IP address문제도해결하실수있게됩니다. 이런장점이있는반면에, 기존의 NAT는VPN의필수프로토콜인 IPSec packet과잘작동되지않습니다. 왜냐하면 IPSec packet이 NAT 장비를통과할때, packet의 source address가변경되어 invalid packet으로만들어버리기때문입니다. 이렇게되면수신쪽의 VPN connection은해당 packet을 discard 시키고 VPN connection negotiation 자체가 fail 되어버리고맙니다.

Page 33: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:솔루션:

• 이와같은문제는 UDP encapsulation (일명, NAT friendly IPSec, 혹은 NAT traversal support라고도불리웁니다) 에의해서해결될수있습니다. 이를통해서 IPSec traffic도기존의 NAT 장비들을통과할수있게됩니다.

• UDP encapsulation은 IPSec packet 내부에새로운 IP/UDP header를덛붙히게됩니다. NAT 장비가 address translation을할때는, 이렇게새로이생성된 IP header의 address를사용하게되는것입니다. 이렇게되면, packet이목적지, 즉 destination에도착하게될때새롭게덧붙혀진 address의 translated value로작업하게되니까, IPSec packet은손상되지않은상태로, 즉 valid packet으로전달되게되는것이지요.

• 이러한 UDP encapsulation은 VPN이 tunnel mode, 혹은 transport mode로 IPSec ESP를쓸때만가능합니다.• 일단 packet이 encapsulate되고나면, iSeries는상대방 VPN 파트너에게이 packet을 port 4500을사용하는

UPD로넘기게됩니다. 통상, VPN 파트너는 IKE negotiation을 port 500 UDP로수행하지요. 하지만, 일단 key negotiation에서 NAT가사용됨을 IKE가감지하고부터는추후의 IKE packet은 Source port 4500 및 destination port 4500으로보내지게됩니다. 따라서이경우에는, port 4500에제한을두는 filter rule이있어서는안되겠지요. 한편, 수신쪽입장에서는특정 packet이 IKE packet인지하니면 UDP encapsulated packet인지는쉽게식별이가능합니다. IKE packet인경우는 UDP payload의첫 4 바이트가 zero로세트되어있기때문이지요. 이솔루션이원활히작동되기위해서는 connection의양쪽이모두 UDP encapsulation을지원해야만합니다.

Page 34: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:iSeries의 경우, V5R2에서 UPD encapsulation의 client로 작동되는 기능이 추가되었습니다. 즉, UDP encapsulation을 사용하는 VPN connection의 initiator로써 이와같은 네트워크에 동참할 수 있었다는말이지요. 하지만 이와 같은 packet의 수신자로서는 작동될 수 없었습니다.

V5R4에서는 responder site로써의 기능도 추가되었습니다. 이로써, i5/OS VPN은 UDP encapsulation의 모든 경우를 지원할 수 있게 된 것입니다.

Page 35: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

V5R4에추가된명령어: CPYAUDJRNE Copy Audit Journal Entries (CPYAUDJRNE)

Type choices, press Enter.

Journal entry types . . . . . . AF *ALL, AD, AF, AP, AU, CA... + for more values

Output file prefix . . . . . . . QAUDIT Name Library . . . . . . . . . . . QTEMP Name, *CURLIB

Output member options: Member to receive output . . . *FIRST Name, *FIRST Replace or add records . . . . *REPLACE *REPLACE, *ADD

User profile . . . . . . . . . . *ALL Name, *ALL Journal receiver searched:

Starting journal receiver . . *CURRENT Name, *CURRENT, *CURCHAIN Library . . . . . . . . . . Name, *LIBL, *CURLIB

Ending journal receiver . . . Name, *CURRENT Library . . . . . . . . . . Name, *LIBL, *CURLIB

Starting date and time: Starting date . . . . . . . . *FIRST Date, *FIRST Starting time . . . . . . . . Time

More...F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

Page 36: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

V5R4에추가된명령어: WRKOBJPVT Work with Objects by Private Authority

User profile . . . . . . . : YESSONG

Type options, press Enter. 2=Edit authority 4=Delete 5=Display authority 7=Rename 8=Display description

ASP Opt Object Library Type Attribute Device

/QIBM/UserData/HTT > *STMF *SYSBAS LINUXSYS1G QSYS *USRPRF *SYSBAS YESSONG QSYS *USRPRF *SYSBAS ERWIN QUSRSYS *MSGQ *SYSBAS MANIK QUSRSYS *MSGQ *SYSBAS NEWUSR QUSRSYS *MSGQ *SYSBAS RAJEEV QUSRSYS *MSGQ *SYSBAS

BottomParameters or command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display descriptions F12=Cancel F17=Top F18=Bottom F22=Display entire name

Page 37: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

V5R4에추가된명령어: WRKOBJPVT Display Object Authority

Object . . . . . . . : YESSONG Owner . . . . . . . : QSECOFR Library . . . . . : QSYS Primary group . . . : *NONE

Object type . . . . : *USRPRF ASP device . . . . . : *SYSBAS

Object User Group Authority *PUBLIC *EXCLUDE QSECOFR *ALL LINUXSYS1 *ALL YESSONG USER DEF

BottomPress Enter to continue.

F3=Exit F11=Display detail object authorities F12=Cancel F17=Top F18=Bottom

Page 38: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

제 2 주제

i5/OS LDAP

Page 39: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

소목차

LDAP 소개• Directory란무엇인가?• LDAP이란무엇인가?• LDAP 사용례?• LDAP 용어정리

i5/OS LDAP 소개

Page 40: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Directory란무엇인가?

정보를저장하는공간, 즉repository입니다.

여럿이공유하는데이타가대부분입니다.

정보를접근하는데는표준프로토콜, 즉standard protocol이쓰입니다.

Page 41: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Web Users

Employees Customers Suppliers

Beth John . . . . . .

Page 42: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

여기서 directory의예를하나들어보겠습니다. 어느회사의 web user에대한 directory의예입니다. Directory에서중요한것중의하나가, 정보의빠른 access 입니다. 이를위해서 directory는 hiearchical tree 구조로구성됩니다.

보시는바와같이 web user를 employees, customers, suppliers의세가지유형으로나누어놨습니다. 그리고각유형마다속한사람들을등재합니다.

이러한 directory의용도, 즉 directory를이런식으로구성하는데는여러가지이유가있겠는데, 예를들자면이런경우가있을수있겠습니다. 즉, 누군가에게 email을보낼필요가있을때, 이 directory에서특정인의 email 주소를찾을수있습니다. 또한전화번호도찾을수있습니다.

Page 43: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Rochester Public Library

Staff Books

000 Generalities 100 Philosophyand Psychology 200 Religion 300 Social Science . . .

Volunteers

Human Psychology

Page 44: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

이번의예는도서관관리를위한 directory 구성의예입니다.

도서관의 directory 라면, 물론도서관리를위한목록관리가 (예의경우는 books category) 가장중요한기능이되겠지만, 그렇다고그에국한시킬이유는없습니다. 필요에따라보시는바와같이도서관의인원관리 (staff category), 자원봉사자관리 (volunteers category) 등의유형을추가시키면아주편리해집니다.

Page 45: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

IBM Employees

North America Asia Europe

Rochester, MN

Software Development

Beth HoffmanEmployee #: 5678 Phone: 507-253-3627Address: …. Email: ….

New York, NY

Page 46: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

마지막으로 IBM을예로들어보겠는데, IBM은다국적기업인만큼가장상위의대분류를대륙별로일단하는것이합리적일것입니다. 다시말하거니와 directory 구성에있어서가장중요한사항중의하나가빠른정보검색인데, 이렇게큰분류부터해놓으면아무래도검색에걸리는시간을줄일수있습니다.

Page 47: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

LDAP이란무엇인가?

LDAP = Lightweight Directory Access ProtocolLDAP ProtocolLDAP Implementation, 즉 LDAP 서버및 LDAP 클라이언트

• IBM Directory Server for iSeries

LDAP서버

LDAP클라이언트

LDAP 프로토콜

Page 48: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

자, 이제 directory에대한개념이잡혔다면 LDAP에대하여살펴보기고하겠습니다. LDAP과directory가같은것이라혼동하기쉽지만사실은그렇지않습니다. Directory가체계적인구조를갖춘데이타의집합이라면, LDAP은 TCP/IP를이용하여서버에등록된 directory 정보를클라이언트가접근, 추가, 변경할수있게해주는 protocol 입니다.

LDAP 서버는 directory의데이타에대한접근을관리합니다. 클라이언트및프로그램은같은 LDAP protocol을사용하여서버에접근함으로써 directory의데이타를이용하는것입니다.

이런맥락에서볼때, LDAP 서버와 directory 서버는같은의미로쓰일수있습니다.

그냥 LDAP 이라고하면다음의두가지중하나를가르킴에주의할필요가있습니다:

• 프로토콜로서의 LDAP• 구체적인 LDAP Implementaion: LDAP protocol을실제제품으로구현시킨경우입니다. i5/OS의경우라면 IBM

Directory Server for iSeries, 혹은줄여서 Directory Server가되겠습니다. (이강의자료에서는편의상 IDS라고줄여부르겠습니다. Intrusion Detection System의 IDS와혼동마시기바랍니다.)

Page 49: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

LDAP클라이언트

LDAP클라이언트

1. JNDI의 LDAP method를사용하는Jave Web application

2. LDAP C API를사용하는 C 프로그램3. QSH 명령어

예: ldapmodify4. WebAdmin tool5. 데이타 import utility6. 데이타 publish tool7. 기타 JNDI나 LDAP C API를

사용하는여늬프로그램

Page 50: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

LDAP client는 LDAP protocol을지원하기위한클라이언트용소프트웨이입니다. 통상이러한소프트웨어를 LDAP-enabled 되었다고말합니다. 다음과같은예가포함됩니다:• JNDI interface를 지원하는 Sun Microsystems. JNDI는 Java Naming and Directory Interface의 약자입니다. Java application이 LDAP 서버와 통신하기 위하여 필요한 object class 및 method 집합입니다. 자세한 내용은다음의 링크를 이용하십시오:

http://java.sun.com/products/jndi/

• IDS에는 ILE C APIs set가 들어있습니다. ILE 프로그램은 이들 API를 이용하여 LDAP 서버를 접근합니다.

• 또한 IDS에는 LDAP 서버의 configuration 작업을 위하여 web-based administration tool이 포함되어 있습니다. 데이타를 directory로 import 하기 위한 import utility, OS/400 user를 System Distribution Directory로부터LDAP 서버의 directory로 publish 하기 위한 publishing tool 등도 들어있습니다.

• 이 모든 경우들이 LDAP 클라이언트의 보기입니다. JNDI나 LDAP C API를 사용하여 누구라도 LDAP 클라이언트를 만들 수 있습니다.

Page 51: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

서버하나에존재하는복수개의 Name Space

Employees

LDAP서버

Insurance Agents

Policyholders

Page 52: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

i5/OS에서는하나의 LDAP 서버만이지원됩니다. 예를들어 IBM HTTP Server on iSeries제품같은경우에는복수개의 instance를만들어쓸수있지요. 각각의 instance는다른이름으로불리울수있구요. 이들과달리, LDAP 서버의경우에는단하나의 directory server 만이가능합니다.

그렇지만이단하나의 directory server를이용하여복수개의 data hierarchy를구축할수있습니다. 예에서보자면, Insurace agents, 즉보험대리점을위한 data hierarchy가하나, Policyholders, 즉보험가입자를위한 data hierarchy가하나, 마지막으로 Emplyees, 즉자사직원을위한 data hierarchy가하나, 이런식으로세개의별도 data hierarchy가하나의 directory server에존재하는것이지요.

만약 i5/OS LPAR partition이복수개존재한다면, 각 i5/OS partition 하나마다별도의 IDS가존재할수있습니다.

Page 53: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Directory의활용도

하나의 directory에는다른유형의, 즉복수개의data type이존재할수있습니다.

•문자, 숫자는물론 jpeg file 등의 data type을이용하여직원사진등을저장할수도있습니다.

Yessong JohngEmployee #: 123456Phone: 507-253-5270Email: [email protected]:

Page 54: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

LDAP의장점데이타를중앙집중식으로관리하게해줍니다:

• 복수개로난무하는데이타의 consolidation이가능합니다.

엔터프라이즈전체에걸쳐데이타공유를가능하게해줍니다:

• 복수개의 application, 클라이언트, 지역등이동시접근할수있습니다.

업계표준프로토콜인 LDAP을이용하여접근합니다:• 플랫폼의제약이없습니다.

IBM

MN NY

Page 55: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

LDAP directory의가장중요한장점은네트워크에존재하는복수개의 application 및클라이언트들이동시에정보접근할수있다는점입니다.

LDAP protocol은이를구현하기위하여특정플랫폼과관계없는표준프로토콜을지원합니다.

유사한 data respository 들이네트워크상여러곳에산재해있다면 LDAP을통하여하나의 directory로묶어놓고이를 access할수있도록기존의 application을손보는것이장기적으로볼때아주유용한방법이됩니다.

Page 56: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Directory와 database 비교업계표준프로토콜

• 또한 LDAP은가장인기있는 repository 선택으로자리굳힘하고있음• IBM middleware 제품이이미사용중에있음: Tivoli, Domino, WebSphere, IBM HTTP Server for

iSeries 등

Attribute에따른데이타접근관리

빠른조회기능위주로설계

복수개의 directory server를연결, 높은가용성유지

Directory에수록되는데이타의종류• 80% 이상이 user, 즉사람에관련된데이타• 기타컴퓨터, 프린터, configuration, policy 등이포함됨

Page 57: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

이런질문을받을때가많습니다. 즉, 기존의 database을쓰면서 ODBC, JDBC 등으로 access하는것과directory를쓰는것과무슨차이가있느냐, 하는질문이지요. 결론부터말씀드리자면분명한차이가있고, directory의 repository 특유의데이타를관리, 사용하는데는 directory의경우가 (database를쓰는경우에대비하여) 확실한장점이있습니다.

우선 LDAP은업계표준프로토콜입니다. 따라서 LDAP protocol을 implement한제품이라면서버, 클라이언트관계없이, 또한특정벤더나플랫폼과관계없이데이타의주고받음이가능합니다.

또한 LDAP의경우는데이타를 attribute에따라접근관리하므로 database의경우보다훨씬빠른읽기가가능합니다. 대체적으로 database는읽고쓰기가공히빈번할것을가정하므로 read access rate 뿐만아니라 write access rate도빨리될수록최적화되는반면, LDAP, 즉 directory의경우는 read access rate가최적화되도록, 다시말해서 fast search가가능하도록설계됩니다. 상대적으로 write access rate는떨어지게마련이지요. Directory에들어가는데이타유형을잘생각해보면왜이런디자인이합리적인것인지헤아려볼수있습니다.

Page 58: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

LDAP 사용례웹페이지사용을위한 authentication

Domino와디렉토리서버

WebSphere와디렉토리서버

Portal server와디렉토리서버

Single Sign-On (SSL)

Page 59: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

자, 그렇다면 directory는실제업무에서어떤용도로쓰이고있을까요. 여러개의 IBM middleware 제품및 application이이미 email 주소검색이라든가전화번호검색등을위해사용중에있습니다. 또한 web page를서브하기에앞서 user authentication을위해 directory의데이타를이용합니다. SSO 구축에도directory가요긴하게쓰입니다.

Page 60: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

웹페이지사용을위한 authentication

1

HTTP서버

IDS

3

2

user: beth password: secret

For User bethPassword is secret

Group1 Members are Beth John

1. 클라이언트, 즉 user가 web page를요청합니다.2. HTTP 서버는 user/pwd입력을요청합니다.3. HTTP 서버는 IDS에게 user search를요청합니다.4. Password가검증됩니다.5. (선택사항) User가어느특정 group에

속해있는지를검증합니다.6. HTTP 서버는 web page를보여줍니다.

4

5

6

Page 61: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

1. 클라이언트가 web page의 URL을입력합니다. HTTP 서버가신청된 web page를보니까접근이보호된 page로되어있습니다. 따라서 authentication이필요합니다. HTTP server가 authentication을할수있는방법은여러가지가있습니다. 접근이허용된 user의 user/password 내용을 validation list에수록관리할수도있겠고 digital client certificate를통해서할수도있겠습니다. 어느경우이든, 클라이언트, 즉 user는옳바른 user ID 및 password를입력하여야합니다.

2. 따라서 HTTP server는클라이언트에게 user ID 및 password를입력할것을요구합니다. 클라이언트브라우저에입력 pop up 화면이뜨게되지요. 그러면클라이언트는 user/password를입력합니다.

3. HTTP server는 validation을위하여 direcotory server를접근합니다.

4. Directory server는 search/compare operation을통해서 user/password가 directory의내용과일치하는지검증합니다.

5. 일치하게되면, user가어느특정 group에속해있는지를확인합니다. 이과정은선택사항으로써 HTTP server authentication/security configuration에정의해놓을수있습니다.

6. 모든검증이마치고나면 IDS는 HTTP server에게응답을보내고그에따라 HTTP server가해당 web page를클라이언트에게보여줍니다. 만약이중어느검증과정이라고 fail 하게되면 web page 대신error message가뜨게됩니다. 검증 fail의경우는다음과같습니다:

• LDAP 서버로의접근이실패한경우; user가 directory에존재하지않는경우; user가 group에속하지않는경우

Page 62: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Domino와디렉토리서버

Dom

inoS

erver

Directory

Assistance

IDSRemote look up

Notes클라이언트

Look up email address

Dom

inoLD

AP

Directory

Page 63: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

Domino는자체 directory server를가지고있습니다. 하지만이경우에도외부의 directory server, 즉IDS와함께사용될수있습니다.

예를볼것같으면, Domino의 Directory Assistance를이용하여두개의 directory server를함께쓸수있는 configuration의예입니다. Domino 클라이언트는 Domino 서버자체의 directory service를받을수도있고, 또 configuration에따라 remote directory server, 즉외부의 IDS로부터 email 주소 search 등의 directory service를받을수도있습니다.

Page 64: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

WebSphere와디렉토리서버

WebS

phere Application

Server

WebS

phere Edge S

erver

IDS

IDS

Load balance

AuthenticateUser

AuthenticateUser

Linux or AIX partition

Page 65: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

WebSphere Application Server도 directory server에의해 user authentication 서비스를제공받을수있습니다. Java servlet이나 JSP에대한 authenticaion process는 web page에대한 authentication process와상당히유사합니다.

그림에서의예에서는 load balancing을위해서WebSphere Edge Server를쓰는경우입니다. LDAP, 즉IDS로부터 authentication 서비스를받기위해 Edge Server가반드시필요한것은아닙니다.

Page 66: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Portal Server와디렉토리서버

WebS

phere Application

Server

WebS

phere Portal S

erver

IDS

1. Authenticateuser

2. Store/retrieveuser customizationinfo

Page 67: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

또한WebSphere Portal Server도 IDS로부터 user authentication을받을수있도록 configure할수있습니다. Portlet에대한 authentication process 또한 web page 및 java servlet에대한 authentication process와매우유사합니다. User customization 정보를일반 database가아닌 directory에저장하는것도지원합니다.

Page 68: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

기타 Directory사용례Enterprise Identity Mapping

• SSO구축에사용됩니다.• EIM configuration 할때, 사용자식별정보, 즉 user identity mapping info를 directory에수록합니다.• User가네트워크상의어떤자원, 즉 resource를 access하려할때이러한 mapping 정보가사용됩니다.

Application 사용례

IBM Telephone Directory• WebSphere Express와함께공급됩니다.•사람에관계되는데이타를 directory에수록합니다.

Page 69: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Page 70: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

LDAP 용어정리

Page 71: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Namespace

Employees

IDS

Insurance Agents

Policyholders

Namespace는이름이부여된, 즉 named entry를수용하기위한공간입니다.

Page 72: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Root

InsuranceAgents Policyholders Employees

IDS

각각의 namespace를정의하기위한세개의 suffixes가 configure되어있습니다:

ou=Insurance Agentsou=Policyholdersou=Employees

Page 73: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

Directory에구체적인데이타를추가하기이전에제일먼저하여하할일은, suffix를 configure하는것입니다. 다른말로하면, hierarchy tree의맨뿌리되는부분, 즉맨윗부분의이름을정하는일입니다. 예에서는세개의 suffix가정해져있습니다. 보험대리점 respository를위한 Insurance Agents, 보험가입자를위한 Policyholders, 자사직원을위한 Employees가그예입니다.

Page 74: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

o=IBM Employees

ou=Software Development

cn=Beth Hoffman

Entry

혹은

Object

Hierarchy

혹은

DirectoryInformationTree (DIT)

Page 75: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

이제, 앞서보았던세개의 namespace 중하나를골라그수직적관계를살펴보도록하겠습니다. IBM의자사직원들을위한 namespace의예입니다.

• 직원들은부서, 즉 department 별로구분되어있음을알수있습니다. 예에서는 Software Development 부서가골라져있군요. 여기서예시되어있지는않지만같은레벨에마케팅, HW 개발등의부서가정해져있을수있겠지요. 부서밑으로는그부서에속한직원들이등재되어있습니다.

• IBM 전직원의데이타를다모아놓은것, 즉 IBM Employees tree를 hierarchy 혹은 DIT 라고부릅니다. 어느한hierarchy의개별 entry는, tree 상의상대적인위치, 즉레벨에관계없이모두 entry 혹은 object 라고불리웁니다.

• 처음 hierarchy를구축할때는위에서부터아래로구축해내려오게됩니다. 따라서예에서보자면, 먼저 IBM Employees라는 suffix를먼저작성하고그다음에는 Software Development라는부서, 그리고그다음으론 Beth 라는직원에대한 entry를작성합니다.

Hierarchy에새로운 entry가추가될때마다각 entry의 type을명시하여야합니다.• Type은 entry가속한레벨에따라각각다를수있습니다. 예에서보자면맨윗레벨은 type이 ‘organization’, 그다음은 type ‘organizational unit’, 그리고맨아래는 ‘inetorgperson’라는 special type으로되어있습니다.

• 이들각각의 type은 objectclass의이름에다름아닌데, 이들은 IDS에 preconfigure되어있습니다.• 모든 object class는각각에지원되는 attribute들을달고옵니다. 이들 attribute들이모여, 하나의 directory

server가지원하는전체 schema를구성하게됩니다.• 맨마지막 entry를보면 cn 이라고되어있습니다. Cn은 common name의약자인데, 그 entry를 search 하는데통상적으로쓰이는 attribute 입니다.

Page 76: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Directory Entry이름, 즉 name

• Distinguished Name (DN) 이라고불리웁니다.• Namespace 내에서유일한이름을가지고있어야합니다.

그렇지않으면 access가안됩니다.이를위하여 RDN, 즉 relative distinguished name 이라는개념이필요합니다.

유형, 즉 type• Entry의내용을정의합니다.• Object class로명시됩니다.

Attribute• Entry의데이타자체입니다.

Page 77: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

이제각각의 entry를살펴보도록하겠습니다.

• 각각의 entry는 (namespace 내에서) 유일한이름을가지고있어야합니다. 그렇지않으면 access가안됩니다. 이를위하여 RDN, 즉 relative distinguished name 이라는개념이필요합니다.

• Entry를작성할때는그 type을반드시명시하여야합니다. Object class를이용합니다. Object class는해당 entry에어떤 type의데이타가수록될수있는지를제어합니다.

• 하나의 entry에는여러데이타가함께수록될수있습니다. 이런각각의데이타를 attribute라고합니다. 새로운 entry가만들어질때는 object class가먼저명시되고, 그다음, attribute 및각각의구체적인 attribute 값이정해집니다.

Page 78: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Distinguished Name (DN)

Beth Hoffman의 Distinguished Name (DN)• cn=Beth Hoffman, ou=Software Development, o=IBM Employees

Beth Hoffman의 Relative Distinguished Name (RDN)• cn=Beth Hoffman

Beth Hoffman의 Parent Distinguished Name• ou=Software Development, o=IBM Employees

o=IBM Employees

ou=Software Development

cn=Beth HoffmanRDN

Parent DN

DN

Page 79: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

Distinguished Name (DN) 이라는개념은아주중요합니다. 도표에분홍색으로표시된바, Distinguished Name은어떤 entry를식별하는데결정적인역할을수행합니다. DN에는 entry 자체의이름뿐아니라 tree의맨윗부분까지의모든관련 entry의이름들이모두포함됩니다. 이들복수개의entry name들은 comma로구분됩니다.

하나의 DN은통상 RDN과 parent DN으로구성됩니다.

Page 80: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

SchemaDirectory에어떤데이타가수록될수있는지를결정합니다.

objectclass들과 attribute들이모여서하나의 schema를구성합니다.• 수록가능한 object들과 attribute들의 type을정의합니다.

각 entry 마다, object의 type을명시합니다.• 그렇게되면, 해당 entry에수록가능한 attribbute가정해집니다. Attribute는 object type에의해정해지기때문입니다.

• Attribute는형용사와같은것이라생각하시면됩니다.

Schema는 inheritance를사용합니다.

Page 81: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

Schema는 LDAP의구조를이해하는데있어서가장중요한개념이라할수있습니다. Schema는해당directory에어떤데이타가수록될수있는지를결정합니다.

Hierarchy에새로운 entry가추가될때마다, 서버는우선 schema definition을참조하여추가되려는entry의내용이 valid 한것인지를확인합니다. 만약 valid한내용이아닐경우는입력이불가하고 error message가나가게됩니다.

Page 82: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Schema Objectclass Inheritance

top

person . . .

organizationalPerson

inetOrgPerson

Page 83: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

Schema는 hierarchy 형태로표시될수있습니다. Schema는 LDAP search로접근됩니다. 예에서는, person에관계되는 object class들이어떻게정의되어있는지를볼수있습니다. Person 이라는 object class는상당히일반적인반면 inetOrgPerson 이라는 object class는상당히구체적입니다. Schema objectclass inheritance를좀더자세히이해하기위해서다음챠트를보겠습니다.

Page 84: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Schema의 objectclass예: inetOrgPersonUnique objectlcass ID: 2.16.840.1.113730.3.2.2Objectclass name: inetOrgPersonDescription: Organization의 enterprise network상에서, person에관계된제반entry를정의합니다.Superierclass: organizationalPerson

Optional attributes: audio businessCategory carLicensedepartmentNumber displayNameemployeeNumber employeeTypegivenName homePhonehomePostalAddress initials jpegPhotolabeledURI mail manager mobile o pager photo preferredLanguageroomNumber secretary uiduserCertificate userPKCS12 userSMIMECertificatex500UniqueIdentifier

Schema supports

inheritance

Page 85: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Schema의 objectclass예 : organizationalPerson

Unique objectlcass ID: 2.5.6.7Objectclass name: organzationalPersonDescription: Organization에서 person에관계된제반 entry를정의합니다.Superierclass: person

Optional attributes: destinationIndicatorfacsimileTelephoneNumberinternationalISDNNumber l ouphysicalDeliveryOfficeNamepostalAddress postalCodepostOfficeBox preferredDeliveryMethodregisteredAddress st street teletexTerminalIdentifier telexNumbertitle x121AddressSchem

a supportsinheritance

Page 86: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Schema의 objectclass예 : personUnique objectlcass ID: 2.5.6.6Objectclass name: personDescription: Person에관계된일반적인entry를정의합니다.Superierclass: top

Required attributes: cn snOptional attributes: description seeAlsotelephoneNumber userPassword

Page 87: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Object class: person

Required attributes:cn (common name)sn (surname)

Optional attributes:descriptiontelephoneNumberuserPassword...

Superior class:top

Inherited

Object class: organizationalPerson

Required attributes:cn (common name)sn (surname)

Optional attributes:descriptiontelephoneNumberuserPasswordstreettitle...

Superior class:person

Object class: inetOrgPerson

Required attributes:cn (common name)sn (surname)

Optional attributes:descriptiontelephoneNumberuserPasswordstreettitledepartmentNumber

Superior class:organizationalPerson

...

Object Classes - Inheritance

Page 88: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

여기서, schema의 inheritance가어떻게작동되는지를살펴보겠습니다.

표시는어떤 attribute들이 inherit 되었는지를나타냅니다. organizationalPerson class는 person objectclass로부터모든 attribute를 inherit 받은뒤, 자신의 attribute를추가함을볼수있습니다. 한편inetOrgPerson class는 organizationalPerson로부터모든 attribute를 inherit 받은뒤자신의 attribute를또추가합니다.

예를들어, 어느특정고객에대한 entry를새로만드는데있어서필요로하는모든 attribute를inetOrgPerson objectclass가지니고있기때문에그를이용하여 entry를작성하고자한다고하지요. 헌데여기에딱한가지 customernumber라는 attribute를추가하고싶을수있습니다. 이럴때, inetOrgPerson objectclass를 inherit하는 auxiliary objectclass를하나만들고이름을 customerperson 이라고붙이면됩니다. 그러면서 customernumber 라는새로운 attribute를추가하는것이지요.

Page 89: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

o=IBM Employees

ou=Software Development

cn=Beth Hoffman

cn is commonnamesn is surname

LDAP syntax는각각의 entry내용이정확하게될수있도록도와줍니다.

dn: cn=Beth Hoffman,ou=Software Development,o=IBM Employees

objectclass: topobjectclass: personobjectclass: organizationalPersonobjectclass: inetOrgPersoncn: Beth Hoffmansn: Hoffmandescription: IBM employee in RochestertelephoneNumber: 507 253-3627userPassword: NOT ASCIIstreet: Hwy 52 Northtitle: Software EngineerdepartmentNumber: T6UA

Attributes: values

Page 90: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

자, 이제모든개념정리가끝났으니실제 entry 하나를예로들어내용을살펴보겠습니다.• Beth Hoffman이라는 IBM 직원에대한 entry 입니다. • DN은모든 parent DN을포함하는 full name 임을주목하십시오.• Entry를정의하는 objectclass가명시되어있음에도주목하십시오. 서버의 configuration에따라 inetOrgPerson

objectclass만을명시하는것으로충분할수도있습니다. 나머지는 schema inheritance에따라연결되게됩니다.

Objectclass 다음에는이 entry 특유의 attribute와그값, 즉 value가표시되어있습니다.

Page 91: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

LDAP을이용한 web authentication사용례

1

HTTP서버

IDS

3

2

user: beth password: secret

dn: cn=beth hoffman,o=ibmobjectclass: iNetOrgPersonuid: bethvhsn: HoffmanuserPassword: secret

dn:cn=developers,0=ibmobjectclass: groupOfNamesmember: cn=Beth Hoffman,o=ibmmember: cn=John Miller,o=ibm

1. 클라이언트, 즉 user가 web page를요청합니다.2. HTTP 서버는 user/pwd입력을요청합니다.3. HTTP 서버는 IDS에게 user search를요청합니다.4. Password가검증됩니다.5. (선택사항) User가어느특정 group에

속해있는지를검증합니다.6. HTTP 서버는 web page를보여줍니다.

4

5

6

ldapsearch

Page 92: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

앞에서봤던 web authentication의예입니다. 다른모든부분이바뀐게없읍니다만단두가지만이다릅니다:

• 3번의과정이 ldapseach로수행됩니다.• 4번과 5번과정에서검증하는내용이 LDAP directory의 entry들로이루어져있습니다.

Page 93: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

i5/OS LDAP 소개

Page 94: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

LDAP QSHELL 명령어ldapsearch ldapaddldapmodify ldapmodrdnldapdelete

Input은 stdin이나 file로부터,Output은 screen 이나 file로갑니다.

CL명령어, 혹은프로그램으로도수행가능합니다.

PGMSQH CMD(‘ldapsearch –h myiseries -s sub -b 'o=ibm' 'cn=beth hoffman‘ > myfile.txt’)ENDPGM

CALL QSYS/QGLDSEARCH PARM(‘-h’ ‘myiseries’ ‘-s’ ‘sub’ ‘-b’ ‘o=ibm’ ‘cn=beth hoffman’)

Page 95: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

실제 directory에데이타작성은여러가지방법으로가능한데, 그중의한가지는i5/OS QSHELL 환경을이용하는것입니다.

화면의왼쪽에는가능한 QSHELL 명령어가나열되있습니다. 오른쪽화면은ldapsearch 명령어의 output 예입니다.

Page 96: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

iSeries Navigator

Page 97: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

IDS admin은 iSeries Navigator를이용합니다.

Page 98: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Setting up Web administrationV5R3 V5R3

Page 99: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

IBM Directory Server Web Administration Tool

V5R3

Page 100: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

V5R3 부터는Web admin tool에의해서도 IDS admin이가능합니다.

Page 101: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

IDS Web Administration Tool시작하기

1. HTTP Server가 system application instance (WebSphere Express)를 start 하도록 configure 합니다:

• IDS WebAdmin은WebSphere application 입니다. • 시스템이제공하는WebSphere instance를이용하면됩니다.• HTTP *ADMIN 서버에서 server instance를 autostart하여야합니다.

2. WebSphere Application Server form에서 Express 5.0을선택하고, *ADMIN 서버가 start 될때 SYSINST가 start 되도록선택합니다.

3. *ADMIN HTTP 서버를일단 stop 한뒤, 다시 start 합니다.

Page 102: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Page 103: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Web administration console로의 log in

1. Console Admin로 log in 합니다.

2. Username에 superadmin라고입력,

3. Password에 secret라고입력,

4. 그리고 Login을누릅니다.

Console login은다음과같은경우에사용합니다:- Console user나 password 변경시- 관리대상인 directory server list 변경시

Page 104: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Manage console servers

1

2

Add directory servers to be managed by the administration tool

3

Page 105: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Administer Directory Server

Page 106: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Projected User Profiles

objectclass: os400-rootos400-sys=SystemA.ibm.com

objectclass: os400-usrprfos400-profile=BETHVH

objectclass: os400-usrprfos400-profile=KARLA

Schema . . .

objectclass: containercn=accounts

objectclass: os400-usrprfos400-profile=MANAGERS

Directory Root

. . .

Non-projecteduser data . . .

Page 107: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

i5/OS user profile이 LDAP directory에중복되어존재하지는않습니다. 즉, duplication은없습니다. 대신에, 미리정의된 directory hierachy에의하여모든 user profile들이자동으로 LDAP 서버에의해관리되게할수있는데, 이를 projected user profile 이라고합니다.

i5/OS에 user profile이새로생성되거나혹은삭제되거나하면, 이 hierarchy가따라서갱신됩니다. User profile의자세한내용이 directory에저장되어있는것이아닙니다. 이들내용에대한조회가발생할때, i5/OS의 security API를이용하여 LDAP 서버가그내용을불러오는방식으로작동됩니다.

LDAP 클라이언트입장에서는보통의 directory 내용을 search 하는것과같은방법으로조회하면됩니다.

Page 108: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

os400-profile=BETHVH,CN=ACCOUNTS,OS400-SYS=SYSTEMA.IBM.COM

OBJECTCLASS=topOBJECTCLASS=os400-usrprfos400-profile=BETHVHos400-pwdexp=*NOos400-status=*ENABLEDos400-usrcls=*SECOFRos400-astlvl=*SYSVALos400-curlib=*CRTDFTos400-inlpgm=*LIBL/QCMDos400-inlmnu=*LIBL/MAINos400-lmtcpb=*NOos400-text=Beth Hoffman 3-3627os400-spcaut=*ALLOBJos400-spcaut=*SECADMos400-spcaut=*JOBCTLos400-spcaut=*SPLCTLos400-spcaut=*SAVSYSos400-spcaut=*SERVICEos400-spcaut=*AUDITos400-spcaut=*IOSYSCFGos400-spcenv=*SYSVALos400-owner=*USRPRFos400-dspsgninf=*SYSVALos400-pwdexpitv=*SYSVALos400-lmtdevssn=*SYSVALos400-kbdbuf=*SYSVALos400-maxstg=*NOMAXos400-ptylmt=3os400-jobd=QGPL/QDFTJOBD

os400-grpprf=*NONEos400-grpaut=*NONEos400-grpauttyp=*PRIVATEos400-supgrpprf=*NONEos400-acgcde=123456789os400-msgq=QUSRSYS/BETHVHos400-dlvry=*NOTIFYos400-sev=0os400-prtdev=*WRKSTNos400-outq=*WRKSTNos400-atnpgm=*SYSVALos400-srtseq=*SYSVALos400-langid=*SYSVALos400-cntryid=*SYSVALos400-ccsid=*SYSVALos400-chridctl=*SYSVALos400-setjobatr=*SYSVALos400-locale=*SYSVALos400-usropt=*NONEos400-uid=114os400-gid=*NONEos400-homedir=/home/BETHVHos400-objaud=*NONEos400-audlvl=*NONEos400-invalidsignoncount=0os400-storageused=61884os400-storageusedoniasp=*NOos400-passwordlastchanged=01/29/04os400-passwordexpirationdate=08/02/04os400-previoussignon=04/12/04 10:43:44os400-lclpwdmgt=*YES

Page 109: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

예를들어, LDAP 클라이언트가 SYSTEMA.IBM.COM에있는 BETHVH 라는 user profile에대한조회, 즉 ldapsearch를수행한다고하면, 앞의화면에있는것과같은내용이전달될것입니다. 보시는바와같이 i5/OS user profile의내용, 즉 attribute 들이 LDAP attibute로 mapping되어있음을알수있습니다.

Page 110: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

제 3 주제

i5/OS를 바탕으로 구축하는 SSO

Page 111: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

소목차

Single signon (SSO) 소개

Kerberos 소개

EIM 소개

Page 112: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

주제

SSO 소개

Kerberos 소개

EIM 소개

Page 113: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

SSO: Single signon

네트워크진입을위하여한번의 signon이면족한경우를말합니다:• 통상 user ID와 password 조합이이용됩니다.

모든 application 서비스, 혹은여타 resource 이용에대한authentication은추가 user/password 입력없이진행됩니다:

• Kerberos 등의 network authenticationprotocol이사용됩니다.

Vertical SSO

Horizontal SSO

Page 114: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설전통적인 5250 application에서는, 사용자는한번의 sign on으로모든업무를처리할수있습니다. 하지만 client-server 환경에서는개별서버에접속을시도할때마다매번 sing on이필요하게됩니다.

특히나 e-business 환경에서는더욱많은숫자의서버에접속하게되는데, 매번 sign on을해야하는번거로움은차치하고라도서버마다다른보안관리메카니즘하며일일이다른 user ID 및 password를다기억하고있는다는것도매우어렵습니다. 시스템및네트워크관리자입장에서보면서버및사용자의숫자가늘어날수록 user administration이점점더어려워지게마련입니다.

이론적으로는네트워크상의모든서버에대하여각각의유저는한개만의 user ID 및 password를갖게한다는것이가능할지몰라도실제로적용하기는거의불가능합니다. 모든것을새로시작하는경우라면몰라도이미어느정도규모의네트워크가갖추어져있는경우라면매우힘들지요. 설사한번은그렇게한다치더라도그후로 password는계속바뀔텐데, 각서버마다에존재하는 password들을어떻게동기화할것인가... 그것도보통문제가아니지요.

SSO에는다음의두가지경우가있습니다:• Vertical SSO ... 클라이언트는모든서버에각각 singon 됩니다.• Horizontal SSO ... 클라이언트는어느하나의서버에만 singon 하고, 그다음부터는 (이를테면 database

access를위하여 database 서버에 signon 한다든가하는경우는) 서버가대신역할을수행합니다.

Page 115: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

주제

SSO 소개

Kerberos 소개

EIM 소개

Page 116: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Kerberos작동원리

Telnet Server

Kerberoson i5/OSin PASE

Client

AS_RQSTGS

John Doe

AS_REPTGT

John Doe

TGS_RQSkrbsvr400/SysA

John Doe

SysA

TGS_REPkrbsvr400/SysA

John Doe

KRBDOM.COM

AP_RQSkrbsvr400/SysA

John Doe

Telnet

AP_RESkrbsvr400/SysA

John Doe

Telnet JDOE

• AS: Authentication Server• TGS: Ticket Granting Server• SS: Service Server

Page 117: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설1. 먼저 client user가 user ID와 password를입력합니다.

• Kerberos client는입력된 password를바탕으로 cleint의 secret key를생성합니다.

2. Kerberos client는 AS, 즉 Kerberos server의두주요서버중하나인 Authentication Server로다음과같은 clear-text message를보냅니다:

• User John Doe wants to request services. • 이과정은앞의도표에의하면 <AS_RQS ... TGS ... John Doe> 로표시되어있습니다.• 주의: 여기서 password는물론, client의 secret key도전송되지않음에유의하십시오.

3. AS는전송된 user, 즉 John Doe가 user database에존재하는지를확인합니다. 확인이되면 AS는다음과같은두개의 message를 client에게보냅니다:

• Message A: <Client/TGS session key>이 key는 client의 secret key에의하여 encrypt 됩니다.여기서사용되는 client의 secret key는 client의 password를바탕으로생성됩니다. 앞서과정 1에서생성된 secret key와같은key입니다. 하지만전송에의하여주고받는것이아니라각자 side에서따로생성됩니다.AS에는모든 client 및 server 들의 password가등재되어있기때문에이과정이가능해집니다.

• Message B: <Ticket-Granting Ticket: TGT>이 ticket은 TGS의 secret key를이용하여 encrypt 됩니다.이 TGT에는다음과같은내용들이들어있습니다:- User ID, Client network address, ticket validy time, <Client/TGS session key>

• 이과정은도표에서 <AS_REP ... TGT ... John Doe> 로표시되어있습니다.

Page 118: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설4. Client는 TGT ticket 및 <Client/TGS session key> 를추출합니다:

• Message A가 <Client/TGS session key> 입니다.• TGT ticket은 decrypt 할수없습니다. Client는 TGS의 secret key를모르기때문입니다. 하지만 ticket 자체를사용하는데는지장이없습니다.

• 만약어떤침입자 (해커등)가불법적으로잠입을시도했다면, 바로이과정에서 authentication이 fail 됩니다. 왜냐하면 client의password에근거한 client secret key를모르기때문에 <Client/TGS session key>를추출할수가없는데, 이 key가없이는 Kerberos realm에서아무런일도할수없습니다.

5. 실제필요한서비스를위해 TGS에서비스신청 message를보냅니다:

• 실제필요한서비스, 즉 mail 서버에의접속이라든가 file 서버, 프린터, 혹은여기에서의예와같이 Telnet 서버에의서비스를신청하는과정입니다.

• Message C: TGT ticket과신청서비스의 ID를담고있습니다.• Message D: Authenticator를생성하여보냅니다. Authenticator에는다음의정보가들어갑니다:

User ID, timestamp• 도표에서는 <TGS_RQS ... Krbsvr400/SysA ... John Doe> 로표시되어있습니다.

6. TGS는 Authenticator를추출한뒤 service ticket을보냅니다:

• TGS는 Authenticator, 즉 Message D를추출합니다.<Client/TGS session key> 를이용합니다.

• Message E: <Client-to-server ticket> ... 즉, service ticketService의 secret key를이용하여 encrypt 합니다.User ID, Client network address, validity epriod, <Client/server session key> 등이들어있습니다.

• Message F: <Client/server session key><Client/TGS session key> 로 encrypt 됩니다.

Page 119: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설7. 클라이언트는 service ticket을 SS에게보냅니다:

• Message E: 앞서 6번과정에서 TGS로부터전송받은 service ticket입니다.• Message G: 새로운 Authenticator

<Client/server session key> 로 encrypt 합니다.User ID, timestamp 등의내용이들어있습니다.

• 도표에는 <AP_RQS ... Krbsvr400/SysA ... John Doe> 로표시되어있습니다.

8. SS는클라이언트에게자신의 ID를확인시켜줍니다:• SS는클라이언트로부터전송되어온 service ticket을자신의 secret key를이용하여 decrypt 한뒤, 이를확인해주는 message를클라이언트에게보냅니다.

• Message H: 새로전송된 Authenticator의 timestamp에 1을더한뒤, <Client/server session key> 로 encrypt하여되돌려줍니다.

9. 클라이언트는 SS의 ID를확인한뒤서비스신청을합니다.

10. 서버는신청된서비스를클라이언트에게제공합니다.• 도표에는 <AP_RES ... Krbsvr400/SysA ... John Doe> 로표시되어있습니다.

Page 120: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

i5/OS에서지원되는 KDC, 즉 Kerberos 서버i5/OS Kerberos 서버 (Key Distribution Center – KDC)는 V5R3에추가된기능입니다

• PASE 환경에서작동됩니다V5R4에서는 Kerberos 서버가 Network Authentication Enablement (5722-NAE) 제품에포함되었습니다

• V5R3에서는 Kerberos 서버가 Cryptographic Access Provider (5722-AC3) 제품에포함되어있었습니다

• 5722-AC3는이제지원되지도않을뿐더러필요하지도않습니다

V5R4 업그레이드

OS/400 V5R25722-AC3

i5/OS V5R35722-AC3

i5/OS V5R4

5722-NAE가자동으로

설치됩니다

5722-NAE가자동으로설치되지않습니다

Page 121: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설:V5R3에서는 Kerberos 서버가 5722-AC3 제품에포함되어있었습니다. V5R4에서는 5722-AC3 제품이더이상지원되지않습니다 (기능이 OS에모두내장되게되어별도제품의필요가없기때문입니다). 따라서 Kerberos 서버는 Network Authentication Enablement (5722-NAE)제품에포함되어공급됩니다. (5722-AC3제품이설치되어있는) V5R3로부터 V5R4로업그레이드하시는경우에는 5722-NAE제품이자동으로설치되어 Kerberos 서버작동에이상이없도록처리됩니다. 반면 (5722-AC3제품이설치되어있는) V5R2로부터 V5R4로업그레이드하시는경우에는 5722-NAE제품이자동으로설치되지않습니다. V5R2에는 Kerberos 서버가 5722-AC3의일부로되어있지않기때문입니다.

Page 122: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

i5/OS에서지원되는 KDC

i5/OS는 V5R3부터 KDC를지원합니다.• i5/OS의 PASE 환경에서지원됩니다.• MIT Kerberos distribution 버젼입니다.• PASE terminal session으로 configuration 합니다.

GUI 인터페이스는없습니다.

IBM에서공급되는 configuration script가있어서 setup이용이합니다.

1. PASE shell 들어가기 Call QP2TERM2. Set path PATH=$PATH:/usr/krb5/sbin3. Run configuration script config.krb54. KDC개시 start.krb55. KDC에 principal 추가하기 kadmin –p admin/admin

Page 123: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설i5/OS는 V5R3부터 PASE 환경에서 Kerberos 서버를지원합니다.

Kerberos 서버 configuration은 PASE terminal session에서수행하시면됩니다.• PASE terminal session을개시하시려면 CALL QP2TERM 명령어를입력하시면됩니다.

다음의제품들이필요합니다:• OS/400 Host Servers (5722-SS1 Option 12) • OS/400 PASE (5722-SS1 Option 33) • Qshell Interpreter (5722-SS1 Option 30) • Cryptographic Access Provider (5722-AC3)

V5R4에서는필요하지않습니다. OS에필요기능들이내장되어있습니다.• iSeries Access for Windows (5722-XE1)

Page 124: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

i5/OS에서지원되는 KDCWindows 및 Linux 클라이언트를지원하는복수개의 i5/OS Kerberos 서버를구축할수있습니다.

Windows 2000/XP

Linux

V5R3 Kerberos Master

V5R3 Kerberos Secondary

• Master server를구성합니다.• Secondary server를구성합니다.• kdc.conf의Windows클라이언트용

encryption setting을변경합니다.• Windows에 Support Tool을설치한후, ksetup명령어를수행,양쪽 KDC 서버에등록합니다.

• Linux에대하여 Kerberosauthentication을 setup 합니다.

어느한 KDC 서버가작동중지되더라도클라이언트는다른 KDC 서버를이용하여

네트워크에들어올수있습니다.

Page 125: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

i5/OS에서지원되는 KDC복수개의 Kerberos realm을통합

V5R3 KDCIKERB.COM

Windows KDCXKERB1.COM Cross-realm trust

Windows KDCXKERB2.COM

Cross-realm trust

장점:

- Windows KDC가작동중단되더라도다른 realm의클라이언트들은 i5/OS의KDC를이용할수있습니다.

Page 126: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설복수개의 Kerberos서버를운용하심으로써가용성을높이실수있습니다. 이경우에는한대의 master server와한대, 혹은여러대의 secondary server가있게됩니다. Configuration에의변경은 master server에만하면되고나머지서버에는자동으로 replicate되게됩니다.

Page 127: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Time synchronization enhancementsSNTP 클라이언트

• V5R3 이전의 OS/400에서는 softwareclock이사용되었었지만, V5R3부터는SNTP 클라이언트가 system clock을조정합니다.

• 만약 software clock을계속사용하여야할경우는별도의 data area를만드시면됩니다. System clock을자동으로갱신할수없는경우에도 data area를이용하면됩니다.

SNTP 서버• V5R3 부터는 SNTP 서버가지원됩니다.• 클라이언트에게시스템시간값을알려줍니다.

V5R3 부터는 Time zone 및 daylight savings time도지원됩니다.

• QTIMZON 라는새로운 system value를이용하여 time zone을정의합니다.

Page 128: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설SNTP를 client로구성해놓으면, i5/OS가외부로부터시간값을취해옵니다. 어디서시간값을취해올것인가하는 source를최대 3개까지지정해놓을수있습니다. 이렇게외부에서가져온시간값은 i5/OS 자체의시간값과비교됩니다. 만약오차가있을경우, 시간조절기능 (time adjustment) 이작동됩니다. 정해진범위내에들어올때까지 i5/OS의시간값이조절됩니다.

또한 SNTP client configuration을통해서 i5/OS가 Network Time Protocol (NTP) 서버나 SNTP 서버로시간값찾기 polling을하도록구성할수있습니다. SNTP client가시스템시간값을갱신하도록할수도있습니다. 대부분의 application은시스템시간값을쓰도록되어있습니다. 따라서, 시스템시간값을외부 source (즉, NTP 서버나 SNTP 서버로부터취해진) 시간값으로갱신함으로써모든 application이동일한시간값으로작동되게됩니다.

• 만약 software clock을변경하려한다거나사용중인 iSeries가 system clock adjustment를지원하지않는모델이거나한다면, 다음의예와같이 *DTAARA를생성하여야합니다:

CRTDTAARA DTAARA(QUSRSYS/QTOTSNTP) TYPE(*CHAR) LEN(9) VALUE(*SOFTWARE) AUT(*USE)

다시 SNTP client를 system clock 모드로바꾸려고할때는다음의명령어를수행하시면됩니다:

DLTDTAARA DTAARA(QUSRSYS/QTOTSNTP)

Page 129: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설Time 서비스를제공하는 NTP 서버리스트는다음의링크에서얻으실수있습니다:

http://ntp.isc.org/bin/view/Servers/WebHome

귀하의 i5/OS 서버자체를 SNTP서버로사용하실수도있습니다. 이렇게하면 i5/OS의 SNTP 서버가다른컴퓨터들에게 time 서버의역할을수행합니다. Kerberos authentication이일어나는네트워크를구축하는데아주유용합니다.

Page 130: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

주제

SSO 소개

Kerberos 소개

EIM 소개

Page 131: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Enterprise Identity Mapping (EIM) 개요EIM은네트워크전체에걸쳐모든 registry에존재하는 person 및 entity, 즉 resource을고유의identity와연관 (즉 map 혹은associate) 시켜주는메카니즘입니다.

EIM은 SSO 솔루션구축에필요한인프라를제공합니다.

Windows 2000 Server

kdc1.itso.myco.com

EIM Domain ControllerJsmith

Sjones

realm = itso.myco.com

iSeriesB.itso.myco.com

iSeriesA.itso.myco.com

zSeriesC.itso.myco.com

EIM IdentifiersJohn Smith Sharon Jones

SjonesSharonjJonesshJoness2

JsmithJohnsSmithjoSmithj

Kerberos principaliSeries A user nameiSeries B user namezSeries C user name

The IBM autonomic computing initiative

Page 132: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설EIM은 SSO 솔루션구축에소요되는제반비용및수고를현저히낮출수있는인프라를제공합니다. i5/OS는 EIM과 Kerberos 및기타 IBM SW를적절히활용함으로써사용자, 관리자및 application 개발자의수고를덜어주면서복수개의플랫폼에걸쳐서 user ID 및 password 관리를일원화해줍니다.

EIM은 independent software vendors (ISVs)들로하여금어떤특정제품벤더의지원을기다릴필요없이독자적으로 SSO 환경을구축할수있게해줍니다.

Page 133: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

EIM과 Kerberos를이용한 SSO 환경

Telnet Server

Kerberoson i5/OSin PASE

Client

AS_RQSTGS

John Doe

AS_REPTGT

John Doe

TGS_RQSkrbsvr400/SysA

John Doe

SysA

EIM domaincontroller

TGS_REPkrbsvr400/SysA

John Doe

Verify Ticketextract client

principalJohn Doe

EIM Identifier: John C. DoeRegistry Type Local userKRBDOM.COM Kerberos John DoeSYSA OS/400 JDOE

KRBDOM.COM

AP_RQSkrbsvr400/SysA

John Doe

Telnet

EIM lookup:Source: John Doe

KRBDOM.COMTarget for SYSA ?

EIM lookup:Source: John Doe

KRBDOM.COMTarget for SYSA is JDOE

AP_RESkrbsvr400/SysA

John Doe

Telnet JDOE

Page 134: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설Kerberos를 authentication protocol로사용하는 SSO 환경에서는 KDC, 즉 Key Distribution Center가핵심요소입니다. KDC는, Kerberos realm에포함된모든 user 및 system service에대하여각각의password를포함한정보를알고있어야합니다. 이들 user 및 system service는 Kerberos 용어로는principal 이라고불리웁니다. Kerberos는 ticket-based authentication system 입니다.

어느 user가 Kerberos에대하여 authenticate 될때, 각 person은 user principal 이라고식별됩니다. SSO 구축에있어서가장빈번한문제는, 한사람, 즉하나의 person이각각의시스템마다다른identity (ID) 를가지고있다는점입니다. 앞의예를가지고설명하자면, John Smith라는사람이(하나의 person이) System A에서는 Johns로, System B에서는 Smithjo로, System C에서는 Smithj로각각 ID 된다는점이지요. 이를해결하기위해서 EIM은이모든각각의 ID를하나의 ID로연관시켜줍니다. 이러한연관행위를 map, 혹은 associate라는용어로설명합니다.

Page 135: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설자, 그러면 Kerberos와 EIM이 SSO 환경을구축하기위해서어떻게어울리는지를자세히살펴보도록하겠습니다:

1.먼저 user가자신의 user ID (여기서는 John Doe)와 password를이용하여자신의 workstation에signon 합니다. 이 workstation은 (물론 Kerberos client가작동중인 workstation입니다) Authentication Service Request (AS_RQS)를 KDC로보냅니다. KDC는 KRBDOM.COM 라는Kerberos realm을관리하고있습니다.

2. KDC는 workstation으로부터전송되어온 pre-authentication data를검증한뒤 Ticket Granting Ticket (TGT) 을발부합니다. 이 ticket은 Authentication Service Reply (AS_REP)에의하여workstation으로전달됩니다.

3.예에서, John Doe는 SysA로 Telnet session을구축하고자합니다. 다시말해서 John Doe가지금앉아서작업하고있는 workstation이 Telnet client가되는것입니다. 이 Telnet client는 TGT를이용하여 SysA의 Telent service의사용신청을 KDC로보냅니다. Ticket Granting Service (TGS) Request (TGS_RQS) 형태로보내게됩니다.

4. KDC는 service ticket을발부하여 TGS Reply (TGS_REP) 형태로 workstation에전달합니다.

Page 136: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

5. Telnet client는 SysA의 Telnet server로접속시도하는데, 이때 service ticket을보여줘야합니다. Application Request (AP_RQS) 형태의 message로전달됩니다. 서비스서버, 즉 SysA는 service ticket을검증하고, 이때 user principal (즉, client principal)이 extract, 즉추출됩니다.

6. Telnet server 입장에서보자면, local user ID가필요합니다. 예에서, SysA는 i5/OS 서버이지요? 따라서, i5/OS user profile이필요한것입니다. 다른말로하자면, i5/OS user ID를추출할필요가있는것이지요. 이를위해서 Telnet server (즉 SysA)는 EIM domain controller를찾아갑니다. 앞의과정에서추출한 user principal, 즉 KRBDOM.COM이라는 Kerberos realm에 John Doe 라는 source로 (즉, user principal로) 존재하는 entity가 SysA에는어떤 ID로 mapping (혹은associating) 되어있는지를 lookup 하는것입니다.

7. EIM domain controlle는해당 source를검색하여 SysA에는 JDOE라는 target ID로존재한다는것을발견, 알려줍니다.

8. Telnet server는 JDOE를 user ID로사용하여 signon 하고이와함께필요한 authentication 절차는종결됩니다.

Page 137: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Kerberos 및 EIM-enabled applicationsHost servers (iSeries Access for Windows 제품이사용)Telnet server used by PC5250 from iSeries Access, WebSphere Host On-Demand V8QFileSrv.400Distributed Relational Database Architecture (DRDA), Open Database Connectivity (ODBC), Java Database Connectivity (JDBC)HTTP Server for iSeries (powered by Apache)Management CentralLightweight Directory Access Protocol (LDAP) Server (Kerberos authentication only)Windows IntegrationFTP Server (EIM only when using client authentication with certificates or with an FTP logon exit point program)NetServer

PTFV5R2

V5R3

V5R3

V5R3

Page 138: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Single Signon – Enterprise Identity Mapping (EIM)V5R4에서는 group policy mapping이가능합니다.관리가대폭간편해졌습니다.

ITSO.IBM.COMiSeriesSystemsRCHASM27.RCHLAND.IBM.COMTARHEELS.BARLEN.NETRCHAS08.RCHLAND.IBM.COM

User Registries

EIM IdentifierIdentifier: Tom Barlen

ITSO.IBM.COM TOM SOURCEiSeriesSystems TB1 TARGET

Identifier: Marion BarlenITSO.IBM.COM MB SOURCEiSeriesSystems MBA TARGET

Group

Members

V5R4ITSO.IBM.COMRCHASM27.RCHLAND.IBM.COMTARHEELS.BARLEN.NETRCHAS08.RCHLAND.IBM.COM

User Registries

EIM IdentifierIdentifier: Tom Barlen

ITSO.IBM.COM TOM SOURCERCHASM27.RCHLAND.IBM.COM TB1 TARGETTARHEELS.BARLEN.NET TB1 TARGETRCHAS08.RCHLAND.IBM.COM TB1 TARGET

Identifier: Marion BarlenITSO.IBM.COM MB SOURCERCHASM27.RCHLAND.IBM.COM MBA TARGETTARHEELS.BARLEN.NET MBA TARGETRCHAS08.RCHLAND.IBM.COM MBA TARGET

V5R3ITSO.IBM.COMRCHASM27.RCHLAND.IBM.COMTARHEELS.BARLEN.NETRCHAS08.RCHLAND.IBM.COM

User Registries

EIM IdentifierIdentifier: Tom Barlen

ITSO.IBM.COM TOM SOURCERCHASM27.RCHLAND.IBM.COM TB1 TARGETTARHEELS.BARLEN.NET TB1 TARGETRCHAS08.RCHLAND.IBM.COM TB1 TARGET

Identifier: Marion BarlenITSO.IBM.COM MB SOURCERCHASM27.RCHLAND.IBM.COM MBA TARGETTARHEELS.BARLEN.NET MBA TARGETRCHAS08.RCHLAND.IBM.COM MBA TARGET

V5R3

Page 139: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

참고자료

Kerberos: The Definitive Guide, ISBN 0-596-00403-6RFC 1510: The Kerberos Network Authentication Service (V5)Windows-based Single Signon and the EIM Framework, SG24-6975 (IBM Redbook)IBM EIM portal: http://www.ibm.com/servers/eserver/security/eim/

Page 140: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

제 4 주제

새로운 i5/OS의보안유틸리티

OpenSSL및 OpenSSH

Page 141: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

개요

IP protocol은 1960년대부터개발되기시작하였습니다.당시에는아무도 data traffic을 encrypt, 즉암호화해야한다는생각을하지않았습니다.따라서모든 application, 즉 Telnet, FTP 등은기본적으로모두 clear text 상태로data를전송합니다.

• User ID, password 등보안에지극히중요한 data도예외가아닙니다!

25 R 88 23:29:33.252584 00096BAEABDC 00D0D32BFF44 ETHV2 Type: 0800 Frame Type : IP DSCP: 0 ECN: 00-NECT Length: 88 Protocol: TCP Datagram ID: 82C8

Src Addr: 172.17.1.5 Dest Addr: 172.17.17.40 Fragment Flags: DON'T,LAST IP Header : 4500005882C840003F064E88AC110105AC111128 IP Options : NONE TCP . . . : Src Port: 53358,Unassigned Dest Port: 23,TELNET

SEQ Number: 1717623935 ('6660DC7F'X) ACK Number: 2957957869 ('B04EDAED'X) Code Bits: ACK PSH Window: 7496 TCP Option: NO OP

TCP Header : D06E00176660DC7FB04EDAED80181D486FA100000101080A40479A7B5943F784 Data:002212A000000 -…….. -1D9D3C5D5F2110735C2C1D5F5D5C1*............1...BARLEN2...BAN5NA*

D5C5FFEF *NA.. *

Page 142: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

IP network의가장큰장점이라면역시 open communication standard라고할수있겠습니다. 이러한개방된 standard를통하여다른장비및벤더들간의상호소통이용이해지는것입니다. IP protocol은1960년대부터개발되기시작하였습니다. 이때만하더라도 data traffic을 encrypt, 즉암호화해야된다는생각은 (필요는) 아무도하지않았습니다. 따라서기본적으로모든 IP network service는모든 data를clear text로전송합니다. 심지어 user ID나 password같이보안상극히중요한정보도모두 clear text로전송되는것입니다.

Secure Sockets Layer (SSL) protocol은이와같은심각한문제를해결하기위하여탄생하였습니다. SSL을사용하게되면 Telnet, FTP 등의 application들의 IP datagram을, 즉 data traffic을 encrypt하여보안상안전한전송이가능하게됩니다.

Page 143: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

개요

기존에 iSeries가지원하는 data encryption technology는다음과같습니다:• Secure Sockets Layer (SSL), Transport Layer Security (TLS)• IPSec protocol framework에의한 Virtual Private Networking (VPN)

이경우, 다음과같은문제점이있을수있습니다:• SSL / TLS의경우는 SSL socket을지원하기위하여각각의 application이모두변경되어야합니다• 이종의 SSL sockets API가존재합니다 –코드호환성의문제가따릅니다.• VPN의적용이어려운경우가있습니다:

NAT의경우라든지클라이언트나서버중어느한쪽이 VPN implementation이지원안된다는지등의경우입니다.

Internet

CorporateNetwork

Branch Office

Supplier

VPN tunnel

VPN tunnel

SSL

Page 144: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

새로운솔루션

이에따라새로운솔류션이요망되게되었습니다:• 플랫폼에관계없이공통으로사용될수있는 Open source SSL implementation• 개별 application을손보거나 OS 레벨의 VPN을사용하지않고도 data traffic을보호할수있는솔루션

Open source솔류션:• OpenSSL는 SSL및 TLS protocol과 tool을제공합니다.• OpenSSH는네트워크상의 data traffic을보호하기위한 secure shell및 secure tunneling service를제공합니다.

OpenSSL OpenSSH

Page 145: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

OpenSSL

OpenSSL은완벽한 SSL을지원하기위한Open Source프로젝트입니다:

• Secure Sockets Layer v2 and v3• Transport Layer Security v1 • A general purpose cryptographic library

OpenSSL이지원되는모든플랫폼에서공히사용가능한 SSL/TLS sockets application을작성한수있습니다.openssl명령어를이용하여:

• RSA, DH, DSA key parameter 생성• X.509 certificates, Certificate Signing Requests (CSRs), Certificate Revocation Lists (RCLs) 등생성

• Message digest 계산• Cipher를이용, encryption 및 decryption 수행• SSL/TLS 클라이언트및서버테스트• S/MIME signed 혹은 encrypted mail 관리등의작업을할수있습니다.자세한내용은 http://www.openssl.org링크를이용하십시오.

Application layer

Transport Layer

Network Layer

Data Link Layer

Physical Layer

SSL / TLS

Page 146: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

zlibZlib은 public compression algorithm입니다:

• 특허물을사용하지않습니다.• 이미많은 compression 제품에사용되고있습니다.• 개인적인용도이든상업적인용도이든누구나무료로 download 받아사용할수있습니다.

• 속도가가장빠른 algorithm은아닙니다.

http://www.gzip.org/zlib/에서좀더자세한내용을찾으실수있습니다.

Page 147: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

zlib compression library는 data compression을제공합니다. zlib 또한 open source 제품이므로 zlib의홈페이지인 http://www.gzip.org/zlib로부터그 source를 download 받으실수있습니다. 그외에도 Linux, Windows, Unix 등다양한제품의 binary file이같은사이트에서제공되고있습니다.

License에의해서개인용이든상업적인용도이든무료로사용하는것이가능합니다.

이미많은제품에서 zlib이사용되고있습니다. 예를들어, HTTP 1.1의 deflate compression option은compression algorithm으로 zlib을사용합니다.

Page 148: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

OpenSSHSecure Shell (SSH)은네트워크로연결된원격지컴퓨터에서명령어를수행하거나컴퓨터간 file copy 등을위하여 login하게해주는프로그램입니다.모든 data traffic이 encrypt됩니다. 물론 user ID 및 password도이에포함됩니다.Licensing requirement가있습니다.OpenSSH는 SSH protocol suite의무료버전입니다.

•특허물, 예를들어 IDEA encryption algorithm 등은사용하지않습니다.OpenSSH에들어있는 tool은다음과같습니다:

• ssh –보안처리된 command shell 입니다.• sftp –보안처리된 ftp 입니다.• scp –보안처리된 file copy 프로그램입니다.• ssh-keygen – public/private key pair 생성및관리 tool 입니다.• ssh-agent – private key를보관할수있는 authentication agent 입니다.• ssh-add – ssh-agent 수행을위해서필요한 private key를추가하는데쓰입니다.• sshd – incoming ssh connection을처리하는 daemon, 즉서버프로그램입니다.두가지의 protocol이있습니다: SSH1 및 SSH2

Page 149: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

원래 Secure Shell (SSH)은원격지컴퓨터간에 file 전송을위해서 secure remote login 목적으로개발되었습니다. 통신 protocol은 TCP 상에서운용되는 SSH protocol입니다.

현재두가지의 protocol이사용되고있습니다. SSH1과 SSH2 입니다. 이두가지의protocol은전혀다른 protocol일뿐만아니라호환성도없습니다. SSH Communications Security라는회사에서이두가지 protocol을관리하고있습니다. 이회사는 SSH의원개발자이기도합니다. SSH transport layer protocol에대한자세한내용은, 다음의링크를이용하시면됩니다:

• http://www.ietf.org/internet-drafts/draft-ietf-secsh-transport-24.txt

Page 150: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

한편, OpenSSH는 SSH의 open source version 입니다. SSH protocol을이용하여원격지파트너간의보안조처된통신채널을구축하기는마찬가지입니다. OpenSSH에의해제공되는구체적인 tool은다음과같습니다:

• ssh –기본적인 rlogin/rsh류의클라이언트프로그램입니다.• sshd – Login을가능하게해주는 daemon 입니다.• ssh_config –클라이언트 configuration file 입니다.• sshd_config – daemon configuration file 입니다.• ssh-agent – Private key를보관할수있는 authentication agent 입니다.• ssh-add – ssh-agent에 key를추가하는 tool 입니다.• sftp – SSH1 및 SSH2 protocol을사용하여 FTP와같은기능을수행할수있습니다.• scp – rcp(1)과유사한, file copy 프로그램입니다.• ssh-keygen – key generation tool 입니다.• sftp-server - SFTP server subsystem 입니다 (sshd에의하여자동으로시작됩니다).• ssh-keyscan –복수개의호스트로부터 public host key를수집하는유틸리티입니다.• ssh-keysign - hostbased authentication을위한 helper 프로그램입니다.

Page 151: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

OpenSSH또한, OpenSSH는다음의기능도제공합니다:

• X11 ForwardingX11 forwarding은 remote X windows network traffic에 encryption을제공합니다.

• Port ForwardingPort forwarding은 encrypted channel을통하여연결된원격지시스템에 TCP/IP connection이작동되도록해줍니다.

• Data CompressionOpenSSH는 data를 encrypt하기에앞서, zlib을이용하여 data compression을합니다.

• Kerberos and AFS Ticket Passing Kerberos나 AFS의 ticket을원격지시스템에넘겨줍니다.

• Cryptographic기능OpenSSL의 cryptographic library를이용합니다.

http://www.openssh.org을참조하십시오.

Secure SSH channel

ssh clientport 2200

to Server1port 23

Telnet clientDst addr: localhostDst port: 2200

Client Server

Port Forwarding to port23

sshdport 22

Telnetserver

Page 152: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

ssh, sftp등의유틸리티를제공하는것이외에도 OpenSSH는다음과같은기능을제공합니다:• X11 Forwarding

X11 forwarding은 remote X windows network traffic에 encryption을제공합니다.• Port Forwarding

Port forwarding은 encrypted channel을통하여연결된원격지시스템에 TCP/IP connection이작동되도록해줍니다. SSL encryption이지원되지않는 application, 예를들어 POP이나 SNMP의경우, 특히유용합니다.

• Data CompressionOpenSSH는 data를 encrypt하기에앞서, zlib을이용하여 data compression을합니다. 이로써전체performance가향상될수있습니다.

• Kerberos 및 AFS Ticket Passing Kerberos나 AFS의 ticket을원격지시스템에넘겨줍니다. 이로써사용자는 password를재입력하지않고도Kerberos나 AFS 서비스를받을수있게됩니다.

• Cryptographic기능OpenSSL의 cryptographic library를이용합니다.

Page 153: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

OpenSSH유틸리티 - ssh

ssh는 SSH daemon (sshd)이수행되고있는서버에접속하여명령어를수행할수있게해주는클라이언트유틸리티입니다:

• basic syntax:ssh [user@]hostname [command]

또한, secure channel 상으로임의의 TCP/IP port를 forward하는데도사용될수있습니다.ssh client를이용하여, System i 플랫폼의Hardware Management Console (HMC)접속을프로그래밍할수도있습니다.ssh client로는 PuTTY가간편합니다:

• Windows용및 Unix클라이언트가있습니다.

Page 154: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

OpenSSH유틸리티 – sftp

sftp는 SSH daemon (sshd)이수행되고있는서버에접속하여 file을주고받게해주는클라이언트유틸리티입니다:

• basic syntax:sftp [user@]hostname [:file filename]

일반 FTP와는전혀별개의 protocol입니다:• 따라서, FTP 서버에접속하여 sftp를수행하려한다거나, 그반대의경우등은불가능합니다.

sftp는 i5/OS FTP와유사하지만다음과같은중요한차이점이있습니다:• sftp의 file transfer는 binary format으로만가능합니다.• QSYS.LIB (database) file system에속한 file 들의 file transfer의경우가능한추가기능들이

sftp에서는수행될수없습니다.• sftp는 CCSID data conversion 옵션을제공하지않습니다.• sftp에서는 compression (-C flag) 기능이제공됩니다.

Page 155: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

OpenSSH유틸리티 – scp

scp는 SSH daemon (sshd)이수행되고있는서버에접속하여한개의 file을주고받게해주는클라이언트유틸리티입니다:

• basic syntax:scp [[user@]hostname] file1 file2

scp는 sftp와거의유사한데, 한개의 file 만을전송하고자할때사용됩니다.

Page 156: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

OpenSSH유틸리티 – ssh-keygen

ssh-keygen유틸리티는 public/private key pair를생성합니다:• basic syntax:

ssh-keygen –t type

• ssh가지원하는 authentication mechanism 중의하나는 password 대신에 public/private key pair를이용합니다. ssh-keygen는이 key pair 들을생성합니다. 이렇게생성된 key pair는 passphrase에의하여한차례더보강될수있습니다.

key pair는두개의 file로구성됩니다:• public key file은접속하고자하는서버에위치되거나혹은클라이언트시스템의서버 key에위치될수있습니다.

• private key file은클라이언트시스템에위치되거나 (이경우, 철저한보호가요망됩니다) 혹은 sshd daemon의경우서버시스템에위치됩니다.

Page 157: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

해설

ssh-keygen은 public/private key 생성및관리 tool 입니다. 개별 OS에 signon 하려할경우, password가필요하게마련인데, ssh의경우는이 password 대신 public/private key를이용하여authenticate 되는것을가능하게해줍니다. 이름에서알수있듯이, public key는자유자재로distribute되는반면, private key는안전하게보호되어야합니다.

클라이언트:• 클라이언트가접속하고자하는서버로 public key가 distribute될수있습니다. 이에상응하는 private key는클라이언트쪽에남게되고통상 encrypt된상태로보관되어 pass phrase key를통하게끔구성됩니다. 사용자가 authentication을위하여 private key를사용할필요가있을때마다, 이 pass phrase를이용하여 key를 unlock 하게됩니다.

서버:• 해당서버에접속하고자하는모든클라이언트에 public key가 distribute될수있습니다. Private key의 private key file은서버에저장됩니다. 이 file은 object authorities 기작에의하여보호되어야합니다. 통상, 서버의 private key file을 pass phrase를이용하여encrypt하지는않습니다. 만약이럴경우는, 서버 daemon을 start 할때마다누군가가 pass phrase를넣어주지않으면안됩니다.

i5/OS에서는모든 key가 Integrated File System의 file에저장됩니다.

Page 158: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

OpenSSH유틸리티 – ssh-agent및 ssh-add

ssh-agent is a background utility that can store your private key pass phrase into memory to avoid needing to retype the pass phrase each time an SSH connection is started

• basic syntax:eval `ssh-agent`

SSH communicates with ssh-agent via environment variables• “eval” syntax necessary to set these environment variables in the current shell process

After ssh-agent has been started, the ssh-add utility is used to add private keys to the agent’s memory

ssh-add is used to add a private keys to the ssh-agent• basic syntax:

ssh-add

• If entered without parameter, it adds rsa, dsa, and identity files out of the .ssh directory

Page 159: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Portable Utilities for i5/OSPortable Utilities for i5/OS는 license program option (LPO)입니다:

• LPO number는 5733-SC1입니다.• US English (2924)버전만있습니다.

그러나메시지는한글을포함한다른언어로번역됩니다.• LPO는 *BASE와 1의두옵션으로존재합니다:

두옵션모두설치되어야합니다.다음의기능들을포함합니다:

• OpenSSH connectivity tools (ssh, sftp, scp, ssh-keygen, ssh-agent, ssh-add, sshd) version 3.5p1• OpenSSL toolkit, version 0.9.7d• zlib compression library, version 1.1.4

i5/OS Portable Application Solution Environment (PASE)에서작동됩니다:• 5722-SS1 Option 33무료 LPO입니다:

• e-config의새로운 configuration일경우, 자동으로 configure 됩니다.• 기존 V5R3 i5/OS 고객의경우, 무료로별도주문하시면됩니다.

5733-SC1 Portable Utilities for i5/OS 1 N/C2924 English U/L SBCS Primary 1 N/C5809 CD-ROM 1 N/C

V2V18G BOTC Portable Utilities 1 N/C

Page 160: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Portable Utilities for i5/OS – OpenSSH Implementation

제품을설치합니다:• RSTLICPGM LICPGM(5733SC1) DEV(OPTxx) OPTION(*BASE) RSTOBJ(*ALL) LNG(2924)

• RSTLICPGM LICPGM(5733SC1) DEV(OPTxx) OPTION(1) RSTOBJ(*PGM)

제품은위치는 ... /QOpenSys/QIBM/ProdData/SC1 • OpenSSL, OpenSSH, zlib등이위치하고있습니다.• 각각의 subdirectory가존재합니다:

예: /QOpenSys/QIBM/ProdData/SC1/OpenSSH/openssh-3.5p1

sshd daemon의 configuration file위위치는다음과같습니다:• /QOpenSys/QIBM/UserData/SC1/OpenSSH/openssh-3.5p1/etc

OpenSSL및 zlib을위한별도의 setup은필요하지않습니다.

Page 161: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

secure ssh channel 을이용한 Telnet traffic보안Tunneling혹은 forwarding을이용하여다음과같은예의 application의 data traffic을보안할수있습니다:

• SMTP, POP, IMAP, SNMP, 등등.예: 두대의 System i 플랫폼사이에 ssh tunnel을설치하여 Telnet traffic을보안합니다:

TelnetServer

sshd

TelnetClient

ssh-L

SystemA SystemBSystemA (manual tunnel setup)1. ssh -L5251:localhost:23 systemb

(이 session을 open상태로유지합니다)2. TELNET RMTSYS(LOCALHOST) PORT(5251)

SystemA (automatic tunnel setup)1. passphrase없이 private key file을생성합니다.2. SBMJOB CMD(CALL PGM(QP2SHELL) PARM('/QOpenSys/usr/bin/ssh' '-T' '-N''-L5251:localhost:23' 'systemb')) JOB(SSHTUN23) JOBQ(SSHTUNQ)

3. TELNET RMTSYS(LOCALHOST) PORT(5251)

Page 162: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

보안고려사항

ssh가보안을향상시킬목적으로고안되었지만또다른보안고려사항이생길수있습니다:• ssh, scp, sftp는모두같은 port를사용합니다.• Port forwarding (ssh tunnel) 는기본적으로모든 IP traffic을 tunnel로보내게됩니다.

FTP 등, 예외의 application은제외됩니다.

ssh를쓰시려면기존의방화벽, 즉 firewall에새로운 port를 open하여야할필요가있습니다:• ssh를위해서 port 22가아닌다른 port를쓰실수도있습니다:

이경우, ssh_config및 sshd_config file들을 configure하시면됩니다.

방화벽, 혹은 i5/OS의 IP packet filtering은각각의 tunneled application을구별할수없습니다:

• ssh가아닐경우는, application 마다고유의 port가있으므로방화벽이쉽게식별할수있습니다:Telnet의경우는 port 23, SMTP의경우는 port 25, 등등.

• 반면, ssh의경우는모든 tunneled traffic이 port 22라는같은 port를씁니다.• 외부로부터접속되어서는안되는 application에대해 tunnel을설치해놓을수있습니다.

Tunneling을쓰시는경우는, –g ssh option을쓰시지않는것이좋습니다:• -g 옵션을쓰시게되면, 원격지시스템이 tunnel이설치되어있는시스템으로부터 forward된 port를쓸수있게됩니다.

Page 163: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

참고자료

OpenSSH home pagehttp://www.openssh.orgOpenSSL home pagehttp://www.openssl.orgzlib home pagehttp://www.gzip.org/zlibInformation on Portable Utilities for i5/OShttp://www-1.ibm.com/servers/enable/site/porting/tools/openssh.htmlPage with links to several SSH implementations for Windows (including Windows ports of OpenSSH)http://www.jpsdomain.org/infosec/sec-tools.html#sshSSH, the Secure Shell: The Definitive Guide by Daniel J. Barrett & Richard Silverman; published by O'Reilly

Page 164: i5/OS 보안기능및안전한통신을위한 i5/OS 유틸리티 · 2006-09-19 · 2가충족되면조치2가수행됩니다. 조건3이충족되면조치1이수행됩니다. 여기서사용자가원하는데따라,

© 2006 IBM Corporation

ibm.com/redbooks

IBM Confidential until announced.

International Technical Support Organization

Trademarks

The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both:

The following terms are trademarks of other companies:

Intel, Intel Inside (logos), MMX, and Pentium are trademarks of Intel Corporation in the United States, other countries, or both.

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.

Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

UNIX is a registered trademark of The Open Group in the United States and other countries.

SET, SET Secure Electronic Transaction, and the SET Logo are trademarks owned by SET Secure Electronic Transaction LLC.

Other company, product, and service names may be trademarks or service marks of others.

Redbooks (logo)™IBM eServer™

IBM® IBM.COM

iSeries OS/400®