이 기사는 기업 인트라넷 외부에서 액세스할 필요가 있는 PDA(Personal Digital Assistant), 랩탑 또는 워크스테이션과 같은 장치에서 엔터프라이즈 Lotus iNotes 서버에 원격으로 보안 액세스하려는 IBM Lotus iNotes 고객을 위한 것이다. 이러한 목표는 Lotus Mobile Connect를 사용하여 두 가지 방법으로 달성할 수 있다.
Lotus Mobile Connect는 지원되는 다양한 사용자 플랫폼에 Lotus Mobile Connect 클라이언트가 설치되어 있는 환경을 위한 전체 클라이언트/서버 기반 VPN(Virtual Private Network) 솔루션을 제공한다. 또한 Lotus Mobile Connect는 HTTP 기반 애플리케이션(예: Lotus iNotes)을 위해 클라이언트리스 옵션을 제공하므로 사용자의 장치에 추가 소프트웨어를 설치하지 않아도 되며 대신, 브라우저 기반 로그온을 통해 보안 인증을 제공한다(그림 1 참조).
이 기사에서는 Lotus Mobile Connect 클라이언트리스 옵션을 Lotus iNotes와 함께 사용하는 방법에 대해 설명한다.
그림 1. Lotus Mobile Connect 클라이언트리스 옵션과 Lotus iNotes
Lotus Mobile Connect를 사용해야 하는 이유
Lotus Mobile Connect는 최신 SSL(Secure Sockets Layer)/TLS(Transport-Level Security) 암호 및 산업 표준 인증 메커니즘이 포함된 FIPS(Federal Information Processing Standards) 140-2 인증 플랫폼을 제공한다. Lotus Mobile Connect HTTP 액세스 서비스인 Lotus Mobile Connect 클라이언트리스 옵션은 전체 VPN 클라이언트와 동일한 수준의 강력한 인증 및 암호화 알고리즘을 사용한다. HTTP 액세스 서비스는 전체 VPN 세션과 동시에 실행하도록 구성하여 설치 공간이 작은 다기능 원격 액세스 솔루션을 제공할 수 있다. 또한 IT 관리자는 이러한 솔루션을 통해 사용자별로 폭 넓은 액세스를 제어할 수 있다.
Lotus Mobile Connect 관리 콘솔인 Gatekeeper에서는 모든 구성 옵션, 암호와 관련된 모든 제어 기능, 인증 메소드, 보안 제한 및 엔터프라이즈 대상에 액세스할 수 있다.
Lotus Mobile Connect HTTP 액세스를 사용하면 원격 HTTP 기반 애플리케이션에서 산업 표준 SSL/TLS 기술을 통해 연결하는 방식으로 보안 통신이 수행된다. SSL/TLS 암호는 구성 가능하며 FIPS 140-2 인증 알고리즘으로 제한될 수 있다. 또한 양방향 인증서 검증이 사용 가능하므로 세션에 대한 추가 신뢰 계층을 추가할 수 있다.
보안 통신이 설정되면 Connection Manager가 양식 기반 요청을 원격 애플리케이션에 보내서 사용자 신임 정보를 요청한다. 신임 정보는 x-www-url 형식으로 인코딩되며 HTTP POST 작업을 사용하여 보안 연결을 통해 전송된다. HTTP 액세스 서비스는 이 정보를 디코딩한 후 구성 가능한 인증 메소드를 사용하여 정보의 유효성을 검증한다.
유효성 검증이 성공하면 HTTP 액세스 서비스가 토큰을 작성한 후 HTTP Set-Cookie 작업 모델을 사용하여 원격 애플리케이션에 토큰을 전송한다. 이 쿠키는 Lotus Mobile Connect와 관련된 암호화된 토큰을 포함하며 보안 및 세션 비트를 설정한다. 그런 다음 원격 클라이언트에서는 이후 모든 연결 요청에 이 토큰이 포함된 쿠키를 포함시켜야 한다.
이제 토큰이 HTTP 플로우에 존재하며 HTTP 액세스 서비스가 엔터프라이즈 호스트에 대한 연결을 연 후 SSL/TLS 게이트웨이처럼 트래픽을 앞뒤로 전달한다.
Lotus Mobile Connect Connection Manager의 클라이언트리스 지원은 HTTP 프록시가 아니다. 컨텐츠를 캐시하지도 않고 HTTP 데이터 플로우에 포함된 다른 정보도 저장하지 않는다. 옵티마이저, 압축기 또는 토큰 제거기가 아니며 브라우저의 캐시를 지울 수도 없다. 보안 세션 쿠키가 사용되므로 사용자는 애플리케이션 세션을 종료할 때 브라우저 세션도 종료해야 한다.
Lotus iNotes는 표준 웹 브라우저를 사용하여 Lotus Notes 메일 및 PIM(Personal Information Management) 정보에 액세스하는 기능을 제공하는 웹 기반 애플리케이션이다. 브라우저의 기본 전송 프로토콜이 HTTP이므로 이 애플리케이션에서는 Lotus Mobile Connect의 클라이언트리스 옵션을 사용하여 인터넷으로 연결된 지원되는 브라우저를 통해 기업 인트라넷에 있는 메일 데이터베이스에 액세스할 수 있다.
Lotus iNotes(이전에는 IBM Lotus Domino® Web Access)에는 세 가지 사용 모드가 있다. Full 모드는 다양한 기능 세트를 제공하며 대역폭을 고려하지 않아도 될 때 사용하기에 적합한 모드로 메일 서버에 대한 고속 네트워크 연결이 갖춰진 전용 워크스테이션에서 주로 사용된다. 버전 8.0.1 이전의 Lotus Domino 릴리스에는 Full 모드만 있었다. 이 모드의 주요 기능 영역은 다음과 같다.
- 시작 페이지(사용자 정의 가능한 홈 페이지)
- Calendar
- Contacts
- To-do
- Notebook
또한 Lotus iNotes는 특정 브라우저에서 Lotus Notes 스타일 및 S/MIME 암호화 기능과 캐시 삭제 기능을 제공하며, Lotus Sametime® 서버와 함께 사용할 경우 통합 인스턴트 메시징 및 현재 상태 표시 기능을 제공한다. 또한 Lotus iNotes는 DOLS(Domino Off-Line Services)를 사용하여 거의 모든 기능이 지원되는 오프라인 기능과 로컬 아카이브 기능을 제공한다. Lotus Domino Unified Communications 오퍼링과 함께 전개할 경우에는 다양한 통합 통신 기능도 활용할 수 있다.
Lotus Domino 8.0.1부터 도입된 Lite 모드는 대역폭이 제한되어 있는 환경에 최적화된 기능 축소형 버전이다. 초기 릴리스에서는 Mail 기능만 지원되며 사이드바를 통해 Calendar 데이터에 제한적으로만 액세스할 수 있다. Full 모드와 마찬가지로 최신 AJAX(Asynchronous JavaScript™ and XML) 기술을 활용한 다양한 기능이 지원된다. Lotus Notes 리치 클라이언트 오퍼링과의 일관성이 향상된 UI(User Interface)를 제공한다.
Ultralite 모드는 Lotus Domino 8.0.2부터 도입되었으며 화면이 작은 최신 모바일 장치의 브라우저를 위해 설계되었다. 초기 릴리스에서는 Apple iPhone 및 iPod Touch 장치를 지원한다. iPhone 애플리케이션에 대한 Apple의 권장 지침을 충실히 따른 UI가 지원된다. Ultralite 모드는 최소한의 스크립트를 활용하며 스크립트를 사용할 수 없는 브라우저에서 작동하도록 설계되었다.
이제 이 기사에서 다루는 두 제품 구성 요소 즉, Lotus Mobile Connect와 Lotus iNotes의 아키텍처를 살펴보자.
Lotus Mobile Connect HTTP 액세스 서비스
Connection Manager HTTP 액세스 서비스는 웹 브라우저와 같은 HTTP 버전 1.1 클라이언트 데이터 스트림의 HTTP 통신을 위한 SSL/TLS 게이트웨이 기능을 제공한다. 이 연결을 사용하면 VPN 클라이언트가 없어도 기업 내의 웹 기반 서비스와 컨텐츠에 액세스할 수 있다. SSL/TLS를 통해 세션의 보안을 설정하여 지정된 호스트 또는 주소 범위에서만 세션에 연결할 수 있도록 제한할 수 있다.
HTTP 액세스 서비스는 Lotus Mobile Connect 내의 서비스 시스템으로 세트 구성 옵션을 모든 연결 요청 및 데이터 트래픽에 적용하는 기능을 수행한다. 이 서브시스템은 보안을 적용하고, 액세스의 유효성을 검증하며, 감사 정보를 생성하고, 원하는 엔터프라이즈 서버로 트래픽을 전달한다.
Connection Manager의 HTTP 액세스 서비스는 SSL이나 TLS를 사용하여 브라우저 또는 클라이언트 애플리케이션과 통신한다. 버전 2와 버전 3의 SSL 프로토콜이 모두 지원되며 다음과 같은 알고리즘이 지원된다.
- 공개키 알고리즘
- RSA(1024비트, 768비트 또는 512비트 키)
- 대칭키 알고리즘
- DES(56비트 키)
- Triple DES(168비트 키)
- RC4(40비트, 56비트 또는 128비트 키)
- 메시지 인증 코드
- SHA-1
- MD5
X.509 인증서는 SSL/TLS 통신에 대한 인증 기능을 제공할 수 있다. 이러한 인증서는 타사 인증서의 유효성을 검증하는 루트 인증서와 함께 Connection Manager와 함께 설치되는 키 데이터베이스에 저장된다. Connection Manager 관리자는 Gatekeeper 관리 콘솔을 사용하여 이 데이터베이스의 소스를 구성할 수 있으며 SSL 툴킷인 IBM Key Management의 관리 인터페이스를 사용하여 원하는 루트 인증서와 클라이언트 측 인증서를 구성할 수도 있다.
Lotus Mobile Connect는 SSL/TLS 암호를 FIPS 140-2 승인 암호로 제한하는 기능과 SSL/TLS 버전 2 암호만 지원하는 연결 요청을 거부하는 기능을 지원한다.
HTTP 액세스 서비스는 유효한 사용자 신임 정보에 대한 데이터 스트림을 검사하여 각 보안 HTTP 연결을 인증한다. 신임 정보가 없을 경우에는 유효한 사용자 ID 및 암호를 입력하도록 하는 구성 가능한 양식 기반 요청이 발행된다. 이 기능은 Lotus Mobile Connect의 모든 구성 요소에 사용할 수 있는 인증 메소드 및 알고리즘을 사용한다.
인증 메소드는 Lotus Mobile Connect가 원격 사용자 신임 정보를 요청하고 유효성 검증하는 방법을 정의하는 리소스 컨테이너이다. Lotus Mobile Connect는 다음과 같은 항목을 사용하여 신임 정보를 유효성 검증하는 메소드를 지원한다.
- LDAP V3 호환 디렉토리 서버
- RADIUS 프로토콜 서버
- next-token 지원을 포함한 RSA Secure ID
- X.509 인증서 교환
- Lotus Mobile Connect 시스템 사용자 계정
인증 메소드에 대한 자세한 정보는 Lotus Mobile Connect Information Center의 Administrator's guide에서 확인할 수 있다.
HTTP 액세스 서비스는 LTPA(Lightweight Third Party Authentication)를 통해 SSO를 사용할 수 있다. LTPA는 사용자가 Connection Manager에 성공적으로 인증될 때 생성되는 토큰에 사용자 인증 정보를 저장할 수 있는 메커니즘을 제공한다. 토큰은 암호와 공개/개인 키 쌍을 사용하여 암호화 및 서명되고, HTTP 쿠키에 저장되며, 구성된 SSO 도메인에 대한 모든 요청에 포함된다.
LTPA 키는 같은 도메인 내에 있는 다른 LTPA 사용 서버와 함께 공유되므로 서버에서는 사용자의 신임 정보를 요청하지 않고도 토큰을 유효성 검증하여 사용자 요청을 인증할 수 있다. LTPA 토큰에는 구성 가능한 만기 시간 소인이 포함되어 있으므로 토큰이 만료된 후에는 새 인증 요청이 발행된다.
LTPA 토큰은 Lotus Mobile Connect 관련 토큰 대신 사용되며 Set-Cookie 지시문을 통해 HTTP 쿠키의 형태로 HTTP 클라이언트 애플리케이션에 전송된다. HTTP 클라이언트는 이후의 모든 HTTP 요청에 이 토큰을 포함시킨다.
HTTP 액세스 서비스 리소스에는 Lotus Mobile Connect에게 사용자 인증 방법과 백엔드 서버로 트래픽을 전달할 위치를 알려 주는 정보가 들어 있다. 각 HTTP 액세스 서비스 리소스는 트래픽을 단일 애플리케이션 서버 또는 프록시에 전송할 수 있다. 여러 백엔드 애플리케이션 서버에 대한 액세스를 구성할 수 있는 세 가지 옵션이 있다.
- Lotus iNotes Redirector. Lotus Mobile Connect는 Lotus iNotes Redirector와 밀접하게 통합되어 있으므로 단일 HTTP 액세스 서비스 정의를 여러 백엔드 Lotus iNotes 메일 서버에서 사용할 수 있다.
- 코드 변환 역방향 프록시를 사용한다. 이 옵션을 사용하면 역방향 프록시에서 대상 URL에 포함된 정보를 기반으로 트래픽을 해당 대상에게 라우트할 수 있다.
- 각 HTTP 액세스 서비스 리소스 정의에 서로 다른 수신 포트를 할당한다. 각 HTTP 액세스 서비스 리소스는 트래픽을 각기 다른 백엔드 서버 또는 프록시로 전송하도록 구성할 수 있으므로 각 서비스를 각기 다른 포트에서 수신하도록 구성한다. 이 경우 사용자는 해당 포트를 알고 있어야 하며 URL 요청에 해당 포트를 추가해야 한다(예: https://inotes.xyz.com:123450.
- 여러 인터넷 프로토콜 주소를 사용한다. HTTP 액세스 서비스 구성에는 서비스를 특정 IP 주소에 바인딩할 수 있는 기능이 있다. 이 방법을 따르면 여러 HTTP 액세스 서비스 리소스가 동일한 포트 세트로 들어오는 트래픽을 대기할 수 있다. 표준 HTTP 포트 80 및 443을 사용하려는 애플리케이션의 경우 이 옵션을 사용해야 한다. 사용자에 대한 URL은 다른 호스트 이름과 유사하다(예: https://inotes1.example.com, https://inotes2.example.com).
Lotus Mobile Connect는 HTTP 헤더의 토큰을 분석한 후 브라우저 유형과 기본 설정 로케일을 결정하기 위해 요청 양식을 생성한다(그림 2 참조). 이 양식에 사용되는 템플리트 파일은 제품이 설치될 때 로케일 관련 서브디렉토리에 설치된다. 이러한 템플리트는 기본 속성 구조 및 함수가 변경되지 않은 경우 사용자 정의가 가능하도록 설계되었다.
그림 2. 양식 기반 요청 화면
관리자는 배경. 이미지, 텍스트 등을 자유롭게 변경할 수 있으며 리소스 파일은 다음과 같은 설치 경로의 로케일 관련 서브디렉토리에 있다.
- AIX: /opt/IBM/ConnectionManager/http/msg/<locale>/
- Linux/Solaris: /opt/ibm/ConnectionManager/http/msg/<locale>/
- Windows Server: C:\Program Files\IBM\Connection Manager\http\msg\<locale> 브라우저에 전달되는 리소스 파일에는 standard_ 접두어가 사용되는 반면 모바일 장치를 위한 리소스 파일에는 mobile_ 접두어가 사용된다. 이러한 파일은 요청 시에 로드되며 모든 변경 사항은 다음에 액세스할 때 표시된다. 이 경우 서버를 다시 시작하지 않아도 된다. 모바일 버전의 요청 양식은 iPhone/iPod 화면을 위해 설계되었다(그림 3 참조).
그림 3. 모바일 버전의 요청 화면
사용자 ID와 암호를 입력하고 Login 단추를 클릭하면 브라우저에서 세션에 대한 정보가 포함된 숨겨진 필드와 함께 입력된 필드가 포함된 URL 인코딩 POST 작업이 생성된다.
HTTP 기반 애플리케이션에서 사용자에게 페이지를 표시하지 않고도 요청에 응답할 수 있다. HTTP 헤더의 Server 토큰을 쿼리하여 Lotus Mobile Connect 요청을 고유하게 식별할 수 있다.
Lotus iNotes는 사용자 설치를 수행할 때 Lotus iNotes 옵션의 선택을 취소하지 않는 한 Lotus Domino 서버 설치의 일부로 설치된다. Lotus iNotes의 설치 및 구성에 대한 자세한 정보는 Lotus Domino Administrator Help에서 확인할 수 있다.
HTTP 액세스 서비스를 사용하여 Lotus iNotes에 액세스할 수 있도록 하려면 두 구성 요소에 대한 아키텍처 결정 및 구성 단계가 필요하다. 이 섹션에서는 각 구성 요소에 대한 옵션과 요구 사항에 대해 설명한다.
Lotus Mobile Connect HTTP 액세스 서비스를 적절하게 구성하려면 Lotus Mobile Connect에서 액세스하는 각 Lotus iNotes 서버에 대한 내부 네트워크 주소 또는 호스트 이름과 TCP 포트가 필요하다. Lotus iNotes 서버와 Lotus Mobile Connect 서버를 암호화된 파이프로 연결하려면 각 Lotus iNotes 서버에 대한 PKCS12 형식의 인증서를 Lotus Mobile Connect에 대한 키 데이터베이스로 가져와야 한다.
Lotus Mobile Connect를 구성하려면 인증 메소드를 설정하고 HTTP 액세스 서비스 리소스의 인스턴스를 하나 이상 정의해야 한다. 이 섹션에서는 Lotus Mobile Connect 관리 콘솔인 Gatekeeper의 화면 캡처를 보여 준다.
Lotus Domino LDAP 디렉토리 서버에 대해 사용자를 인증한 후 인증된 트래픽을 Lotus iNotes Redirector 노드로 전달하도록 구성된 단일 HTTP 액세스 서비스가 포함된 샘플 아키텍처를 고려해 보자.
다음 단계에서는 Lotus Mobile Connect Gatekeeper 관리 인터페이스를 사용하고 있는 것으로 가정한다.
먼저 다음과 같은 단계를 수행하여 디렉토리 서버 리소스를 작성한다.
- 최상위 레벨 폴더를 마우스 오른쪽 단추로 클릭하거나 구성 정보를 포함할 새 폴더를 작성한 후 Add resource - Directory server를 선택한다.
- Add a Directory Server 창(그림 4 참조)에서 Common name(리소스를 설명하는 자유 형식의 텍스트)을 입력한다.
- 디렉토리 서버의 IP 주소 또는 호스트 이름을 입력한다.
- 모든 사용자에게 공통으로 적용되는 접미어인 기본 식별 이름을 입력한다. 이 이름은
사용자 계정을 해석하기 위한 디렉토리 트리의 시작 지점이다. Next를 클릭한다.
그림 4. Add a Directory Server 창
- 다음 화면(그림 5 참조)에서 서비스의 포트 번호를 입력한다.
- 익명 검색이 허용되지 않을 경우에는 관리자의 식별 이름과 암호를 입력한다.
- 디렉토리 서버에 보안 연결이 필요한 경우에는 Use secure connection 옵션을 선택하고 키 데이터베이스 및 stash 파일을 입력한다. 디렉토리 서버에서 자체 서명 인증서를 사용하고 있을 경우에는 해당 인증서를 키 데이터베이스로 가져와야 한다.
- Next를 클릭한다. 그런 다음 Primary OU를 선택하고 Finish를 클릭한다.
그림 5. 두 번째 Add a Directory Server 창
다음 단계는 이전 단계의 디렉토리 서버 리소스를 사용하는 인증 프로파일을 정의하는 것이다. 인증 프로파일은 HTTP 액세스 서비스가 사용자 신임 정보를 요청하고 유효성 검증하는 방법을 정의하는 컨테이너이다.
Lotus Mobile Connect는 LDAP, RADIUS/RSA Secure ID, 양방향 인증서 유효성 검증 및 시스템별 인증 메소드를 지원한다. 이 예제에서는 Lotus Domino 디렉토리 서버에 대해 LDAP 인증을 사용한다.
- System 컨테이너를 다시 마우스 오른쪽 단추로 클릭한 후 이번에는 Add Resource - Authentication Profile - LDAP-bind Authentication을 선택한다.
- Add a New Authentication Profile 창(그림 6 참조)에서 Common name과 선택적 Description(프로파일을 설명하는 자유 형식의 텍스트)을 입력한다.
- Password policy를 선택한다. 정책은 계정을 잠그기 전까지 시도할 수 있는 로그인 횟수를 결정하는 데 사용된다. Default Resources - Wireless Password Policy 컨테이너에서 암호 정책을 보고 편집할 수 있다.
- 선택적으로 프로파일이 외부 서버에 연결되지 않을 때 사용할 Backup authentication profile을 선택한다. Next를 클릭한다.
그림 6. Add a New Authentication Profile 창
- 다음 창(그림 7 참조)에서 앞에서 정의한 Directory Server를 선택한다.
- User key field는 Lotus Mobile Connect가 디렉토리 서버에서 신임 정보 요청을 통해 제공된 사용자
ID를 검색할 때 사용되는 속성이다. 기본값은 mail이며 LDAP에 있는 사용자 레코드의 일부인 속성으로 설정할
수 있다.
그림 7. 두 번째 Add a New Authentication Profile 창
- 선택적으로 특정 그룹이나 직원 유형에 대한 액세스를 제한하려면 그룹 정보나 직원 트리와 같은 Additional search criteria를 입력한다. 이 필드에는 X.500 표기법에 따라 입력해야 한다(예: (&(employeeType=active)(group=remoteAccess)).
- Maximum number of processing threads를 설정한다. 각 활성 세션에 스레드에 할당되어 처리된다. 스레드는 클라이언트 브라우저와 백엔드 애플리케이션 서버 사이의 모든 데이터 교환 작업을 처리한다. 최적 수준의 스레드 수를 찾기 위해서는 약간의 시행착오를 겪어야 하겠지만 일반적으로 100개의 동시 세션당 하나의 스레드가 적당한 수준이다. Next를 클릭한다.
- SSO(Single Sign-On)를 사용하려면, 다음 창(그림 8 참조)에서 Enable LTPA 옵션을 선택한다. 이 기사의 뒷부분에서
SSO를 구성하는 데 필요한 단계에 대해 자세히 설명한다. 지금은 이 설정을 선택하지 않은 채로 두어도 된다. Next를 클릭한다.
그림 8. 세 번째 Add a New Authentication Profile 창
- 다음 창에서 Primary OU를 선택하고 Finish를 클릭한다.
리소스가 작성된 후에는 Properties 분할창에 추가 구성 옵션이 표시된다. 이러한 옵션에 대한 자세한 정보는 System's administrator guide에서 찾아볼 수 있으며, 또한 Properties 분할창에서 "Tip on a specific option"을 선택하여 볼 수 있다.
이제 HTTP 액세스 서비스 리소스를 작성해야 한다. HTTP 액세스 서비스는 인증된 트래픽을 단일 백엔드 애플리케이션 서버 또는 프록시에 전송하기 위해 설계되었다. 여러 백엔드 애플리케이션 서버가 있을 경우에는 HTTP 액세스 서비스 정의도 여러 개 있어야 한다.
Lotus iNotes의 경우, Lotus Mobile Connect에 iNotes Redirector 기능과 함께 작동하기 위한 통합 코드가 포함되어 있으므로 단일 HTTP 액세스 서비스에서 트래픽을 여러 Lotus iNotes 메일 서버로 전달할 수 있다.
HTTP 액세스 서비스를 사용하려면 공용 인증서를 사용하여 통신에 보안을 설정해야 한다. Lotus Mobile Connect에는 키 데이터베이스 작업을 수행하고, 지정한 시스템 이름에 대한 인증서를 요청하는 데 사용되는 CRM(Certificate Request Message)을 생성하고, 자체 서명 인증서를 생성하는 등의 기능을 제공하는 유틸리티가 있다. wg_keyman이라는 이 유틸리티는 설치 디렉토리의 bin 서브디렉토리에 있다.
다음 단계를 수행하여 HTTP 액세스 서비스 요청을 추가한다.
- HTTP 액세스 서비스 리소스를 추가하려면 Connection Manager 리소스를 마우스 오른쪽 단추로 클릭하고
Add - HTTP Access Service를 선택한다. 그림 9와 같은 창이 표시된다.
그림 9. HTTP 액세스 서비스 추가하기
- Service URL 필드에 연결의 보안을 설정하는 데 사용되는 인증서에 포함된 URL과 일치하는 텍스트 문자열을 입력한다.
- TCP Port to listen on 필드에 서비스가 액세스 요청을 대기하고 있는 TCP 포트를 입력한다. 기본값은 SSL을 의미하는 443이다.
- Description 필드에 자유 형식의 텍스트로 서비스에 대한 설명을 입력한다.
- Current state 필드에서 서비스의 상태를 선택한다. Active 상태는 Connection Manager가 서비스를 활성화하고 있음을 의미한다. Defined 상태는 작동 중지(down)와 마찬가지로, Connection Manager가 서비스를 시작하지 않아서 연결할 수 없음을 의미한다.
- Next를 클릭한다. 그러면 그림 10과 같은 창이 표시된다.
그림 10. HTTP 액세스 서비스의 작동 모드 지정하기
- HTTP Proxy address 필드에 인증된 트래픽을 전달할 역방향 프록시 또는 애플리케이션 서버의 호스트 이름이나 IP 주소를 입력한다.
- HTTP Proxy port 필드에 인증된 트래픽을 전달할 TCP 포트 프록시 또는 애플리케이션 서버를 입력한다.
- Lotus Mobile Connect 서버와 프록시 또는 애플리케이션 사이에서 SSL/TLS를 사용하기 위해 Require SSL을 선택한다.
- Authentication Profile 필드에 원격 사용자 신임 정보를 유효성 검증하는 데 사용할 인증 메소드를 입력한다.
- SSO Domain 옵션을 설정한 경우 이 값은 인증 메소드에 설정된 값을 재정의한다. 이 옵션을 설정하지 않은 경우에는 인증 메소드 특성이 사용된다.
- Next를 클릭한다. 그러면 그림 11과 같은 창이 표시된다.
그림 11. 최대 스레드 수 및 유휴 시간 지정하기
- Maximum number of processing threads 필드에 동시 처리 스레드 수를 입력한다. 이 값을 설정할 때는 동시 세션 수와 프로세서 수를 고려해야 한다. 동시 세션의 수가 1,000개이고 두 개의 프로세서를 사용하는 시스템의 경우에는 이 값을 5로 설정하는 것이 좋다.
- Maximum idle time 필드에는 Connection Manager가 세션의 인증 토큰을 삭제하고 클라이언트에게 재인증을 요청하기 전까지 세션이 유휴 상태로 유지될 수 있는 최대 시간을 입력한다.
- 서비스를 특정 인터넷 주소로 바인딩되도록 구성하기 위해 Bind port to a specific address 옵션을 선택한다. 이 바인딩을 수행하면 여러 HTTP 액세스 서비스 리소스가 동일한 포트를 대기하도록 구성할 수 있으며, 결과적으로 초기 요청의 인터넷 주소를 기반으로 다양한 백엔드 서버를 사용할 수 있다. IP 별명을 사용하여 여러 주소를 단일 네트워크 인터페이스에 할당할 수 있다.
- Address to bind to 필드에 서비스를 바인딩할 인터넷 주소 또는 호스트 이름을 입력한다.
HTTP 액세스 서비스와 관련된 통신에 보안을 설정하기 위해 SSL(Secure Sockets Layer)/TLS(Transport Layer Security)가 사용된다. 이를 위해서는 외부에 표시되는 호스트 이름에 대한 인증서를 CMS(Cryptographic Message Syntax) 키 데이터베이스 파일에 저장해야 한다.
Lotus Mobile Connect에는 키 데이터베이스 파일을 관리하기 위한 wg_ikeyman 유틸리티가 있다. 이 유틸리티는 자체 서명 인증서와 CRM을 생성하여 인증 기관으로부터 공용 인증서를 가져온다.
자체 서명 인증서를 사용할 경우에는 사용자가 HTTP 액세스 서비스에 처음 연결할 때 해당 인증서를 승인하고 가져와야 한다. 따라서 이러한 불편을 피하려면 유효한 공용 인증서를 사용하는 것이 좋다. 자체 서명 인증서를 생성하고 사용하려면 다음 단계를 수행한다.
- 명령행에서 wg_ikeyman을 입력한다.
- 다음과 같이 새 키 데이터베이스 파일 작업을 수행하거나 Lotus Mobile Connect에 의해 설치된
키 데이터베이스 파일 중 하나를 사용한다.
- 기존 파일을 사용하려면 Key Database File > Open을 선택한다. Key database type을 CMS로 설정한 후 Browse 단추를 사용하여 Lotus Mobile Connect 설치 디렉토리로 이동한 다음 http.trusted.kdb 파일을 선택한다.
- 새 키 데이터베이스 파일을 작성하려면 "Stash the password to a file" 옵션을 선택한다.
- 암호를 입력한다. 기본값은 "trusted"이다.
- 자체 서명 인증서를 작성하려면 Create - New Self-Signed Certificate를 선택한다. 최소한 키 레이블과 공통 이름을 입력한다. 공통 이름은 Lotus Mobile Connect 서버의 완전한 외부 호스트 이름과 일치해야 한다.
- OK를 클릭하고 IBM Key Management 애플리케이션을 종료한다.
- Gatekeeper를 사용하여 HTTP access service properties 분할창을 열고 SSL 탭을 선택한 다음 File name of key database 및 File name of stash password 필드가 올바르게 설정되었는지 확인한다. 가능한 경우 전체 경로를 사용한다.
- 선택적으로 SSL Ciphers 탭을 선택하고 적합한 암호를 선택한다. 기본 설정은 V2 및 V3 암호를 모두 허용하는 것이다. OK를 클릭한다.
Lotus Mobile Connect와 Lotus iNotes에 SSO를 사용하려면 Lotus Mobile Connect에서 공통 키 파일을 생성한 후 Lotus iNotes Redirector 및 mail server 노드에서 이 파일을 가져와야 한다.
Lotus Mobile Connect에서 SSO 구성 및 사용하기
다음과 같이 Gatekeeper에서 HTTP 액세스 서비스에 사용되는 인증 메소드로 이동한 후 Properties 분할창에서 LTPA/SSO 탭(그림 12 참조)을 수정하여 Lotus Mobile Connect에 대해 SSO를 사용할 수 있다.
- Enable LTPA 선택란을 선택한다.
- LTPA token realm/domain 필드에 적합한 값을 입력한다. 이 값은 일반적으로 인증에 사용되는 LDAP 또는 RADIUS 서버의 완전한 호스트 이름으로 설정된다.
- LTPA token user identification field를 선택한다. LDAP에 대한 인증을 수행할 경우에는 식별 이름을 사용하고 RADIUS 또는 Secure ID에 대한 인증을 수행할 경우에는 uid를 사용한다.
- Enable SSO 선택란을 선택하고 SSO Domain을 설정한다. SSO 도메인은 LTPA 토큰을 HTTP 헤더 플로우의 쿠키로 포함시킬
시기를 브라우저에 알려주는 데 사용된다.
HTTP 액세스 서비스의 경우 이 값은 브라우저에서 HTTP 액세스 서비스에 액세스하는 데 사용되는 완전한 외부 호스트 이름으로 설정해야 한다. 두 개 이상의 호스트 이름을 사용하는 경우에는 외부 도메인으로 설정할 수 있다. 이 값은 HTTP 액세스 서비스 정의에도 설정할 수 있으며, 이 방법으로 설정한 값은 인증 프로파일의 설정을 재정의한다.
- Enable SSO over SSL connections only를 선택한다. LTPA 토큰은 중요한 정보이므로 보안 연결을 통해 Lotus Mobile
Connect와 통신할 경우에만 브라우저에서 포함시켜야 한다.
그림 12. LTPA/SSO 탭
- LTPA key action 섹션에서 Generate new keys 단일 선택 단추를 선택하고 6자에서 32자 사이의 암호를 입력한다. 이 암호는 iNotes 서버에서 키 파일을 가져올 때 필요하므로 기억하고 있어야 한다.
- Apply 단추를 클릭하여 LTPA 토큰을 생성하는 데 사용되는 암호화 키를 생성한다. 이러한 키는 Lotus Mobile Connect에 의해 내부적으로 저장되며 이제 내보내야 한다.
이전 단계에서는 LTPA 토큰 생성에 사용되는 암호화 키와 암호를 생성했다. SSO가 올바르게 작동하려면 이 토큰을 기반으로 액세스 권한을 부여하는 다른 애플리케이션 서버에서 인식할 수 있는 형식으로 이 데이터를 내보내야 한다. Lotus Mobile Connect에서 키 및 구성 데이터를 내보내려면 다음 단계를 수행한다.
- LTPA/SSO 탭의 LTPA key action 섹션(그림 12 참조)에서 Export to keyfile 단일 선택 단추를 선택하고 파일 이름을 입력한다. 이 경우 파일의 절대 경로를 입력해야 한다.
- Apply를 클릭하여 파일을 내보낸다. 키 파일은 사용자가 읽을 수 있는 ASCII 파일이며 iNotes 애플리케이션 서버로 전송할 수 있다.
Lotus iNotes 서버의 LTPA 키 파일 가져오기
SSO가 올바르게 작동하려면 모든 서버가 암호화 키, 사용자 정보 및 기타 구성 데이터에 대해 동의해야 한다. Lotus Mobile Connect가 키 파일을 생성하며 참여하는 모든 iNotes 서버에서는 이 파일을 가져와야 한다. 다음 단계를 수행한다.
- Lotus Domino Administration 클라이언트를 시작하고 File - Open Server를 선택한다.
- 작업 중인 서버의 이름을 입력하고 Configuration 탭에서 Server를 펼친 다음 왼쪽 탐색창에서 All Server Documents를 선택한다.
- Server 문서의 메뉴에서 Create - Web SSO Configuration을 선택한다.
- Web SSO Configuration 창(그림 13 참조)에서 고유한 Configuration Name(예: LtpaTokenLOTUSMOBILECONNECT)과
애플리케이션 서버가 있는 DNS Domain(예: .xyz.com)을 입력한다. 그런 다음 Participating Servers 섹션에서 SSO
구성에 참여하는 Lotus Domino 서버의 이름을 추가한다.
그림 13. Web SSO Configuration 창
- Web SSS Configuration 창의 맨 위 메뉴 막대에 있는 Keys를 클릭하고 Import WebSphere LTPA Keys를 선택한다.
- Enter Import File Name 프롬프트(그림 14 참조)에서 Lotus Mobile Connect Export Key file 단계에서 가져온 키 파일의 위치를 입력하고 OK를 클릭한다.
그림 14. Enter Import File Name 프롬프트
- 키 파일 암호를 입력하고 OK를 클릭한다.
- LTPA 토큰 구성 정보를 보여 주는 창이 표시된다. Save & Close를 클릭한다.
- Server 문서의 Configuration 탭으로 돌아가서 All Server Documents를 선택한 후 키 파일을 가져올 서버를 다시 선택한다.
- Server 문서에서 Internet Protocols 탭을 선택한 다음 Domino Web Engine 탭(그림 15 참조)을 선택한다.
- Session authentication 필드를 Multiple Servers (SSO)로 설정하고 Web SSO Configuration 필드를 위의 단계 4에서 설정한 구성 이름으로 설정한다.
- 문서를 저장하고 닫은 다음 서버를 다시 시작한다.
그림 15. Domino Server 문서
오늘날에는 모바일 작업자가 늘어나고 있는 추세이기 때문에 기업에서는 회사에서 제공하거나 공용으로 사용할 수 있는 모바일 장치, 랩탑 및 워크스테이션을 통해 브라우저로 액세스할 수 있는 이메일 및 PIM 애플리케이션을 사용자에게 제공할 필요성을 절감하고 있다. 웹 기반 애플리케이션으로서의 Lotus iNotes와 원격 보안 액세스를 위한 Lotus Mobile Connect를 함께 사용하면 Lotus Notes 고객에게 이 중요한 비즈니스 요구 사항을 충족할 수 있을 정도로 기능과 보안이 강화된 솔루션을 제공할 수 있다.
- 포럼에 참여하기.
-
Lotus Domino eMail on your Apple iPhone 웹 페이지를 읽어보자.
-
IBM Lotus Mobile Connect 웹 페이지를 읽어보자.
-
IBM Lotus Mobile Connect documentation을 읽어보자.
-
developerWorks®의 WebSphere 기사, "Securing
wireless communications with the WebSphere Everyplace Connection Manager"를 읽어보자.
-
IBM Lotus Domino and IBM Lotus Domino Administrator Help를 참조하자.
-
IBM Redbooks® 서적, "iNotes Web Access: Deployment and Administration"을 참조하자.
-
IBM Redbooks 서적, "Domino Web Access 6.5 on Linux"를 참조하자.
-
IBM Support Techdoc, "Key Content Resources for Lotus Mobile Connect"를 참조하자.