이 절에서는 실행 제어 목록, ID 및 SSL을 포함한 보안 기능에 대해 설명합니다.
모든 .NSF 데이터베이스에는 해당 데이터베이스에 대한 사용자와 서버의 액세스 레벨을 지정하는 ACL이 있습니다. 사용자와 서버에 대한 액세스 레벨 이름이 동일하더라도 사용자에게 할당된 레벨은 사용자가 데이터베이스에서 수행할 수 있는 태스크를 결정하는 반면, 서버에 할당된 레벨은 데이터베이스 내에서 서버가 어떤 정보를 복제할 수 있는지 결정합니다. 관리자 권한을 가지는 사용자만 ACL을 작성하거나 수정할 수 있습니다.
데이터베이스 액세스를 설정할 때, 인터넷 사용자의 경우에는 별도의 준비 작업이 필요합니다. 자세한 정보는 관련 항목을 참조하십시오.
조직의 보안 설정은 아주 중요한 태스크입니다. 조직의 IT 자원 및 자산 보호를 위해 보안 하부 구조가 반드시 필요하며 관리자는 서버 또는 사용자를 설정하기 전에 조직의 보안 요구사항에 대해 신중히 고려해야 합니다. 사전 보안 계획으로 절충안을 채택한 보안상의 위험을 최소화할 수 있습니다.
다른 서버에 대한 사용자 및 서버의 액세스를 제어하기 위해, Domino®는 유효성 검증 및 인증 규칙과 서버 문서의 보안 탭에서 지정하는 설정을 사용합니다. 서버가 Notes® 사용자, 인터넷 사용자 또는 서버의 유효성을 검증하고 인증하며 서버 문서의 설정이 액세스를 허용하는 경우, 사용자 또는 서버는 서버에 액세스할 수 있습니다.
기본 액세스 제어 목록에는 기본 항목 세트가 포함됩니다.
ACL(액세스 제어 목록)에 작성한 항목에 대한 세부사항은 이 주제를 참조하십시오.
데이터베이스 ACL에 사용자, 그룹, 또는 서버를 추가하기 전에, 먼저 애플리케이션에 대한 데이터베이스 액세스를 계획하십시오. ACL에 이름을 추가한 후, 이름에 액세스 레벨을 할당하십시오. 사용자 유형을 할당하는 것은 선택사항이지만, 할당하면 보안 레벨이 추가됩니다. 애플리케이션에서 요구하는 경우, 권한 및 역할을 권한 레벨에 추가하십시오.
데이터베이스 ACL에서 사용자에게 할당된 액세스 레벨은 사용자가 데이터베이스에서 어떤 태스크를 수행할지 제어합니다. 액세스 수준 권한은 ACL에서 각 이름에 할당된 액세스 수준을 허용하거나 제한합니다. ACL에 나열된 사용자, 그룹, 또는 서버 각각에 대해 기본 액세스 레벨 및 사용자 유형을 선택합니다. 액세스 권한을 세분화하려면 일련의 액세스 권한을 선택합니다. 애플리케이션 설계자가 역할을 작성한 경우, 적합한 사용자, 그룹, 또는 서버에 역할을 할당하십시오.
사용자, 그룹 및 서버 각각에게 액세스 레벨을 할당한 후, 액세스 레벨 내에 권한을 선택하거나 선택을 취소할 수 있습니다.
사용자 유형은 ACL에 있는 이름이 사용자, 서버, 또는 그룹 이름인지 식별합니다. 이름에 사용자 유형을 할당하는 경우, 해당 이름으로 데이터베이스에 액세스하는데 필요한 ID 유형을 지정하십시오. 사용자 유형에는 "사용자", "서버", "혼합 그룹", "사용자 그룹", "서버 그룹" 및 "지정되지 않음"이 있습니다. ACL에 있는 -Default- 그룹의 사용자 유형은 항상 "지정되지 않음"으로 지정됩니다. ACL에 "Anonymous"를 추가한 경우, 사용자 유형은 "지정되지 않음"이어야 합니다.
데이터베이스 설계자는 역할을 작성함으로써 데이터베이스 설계 컴포넌트 및 데이터베이스 기능에 대한 특별한 액세스를 할당할 수 있습니다. 역할은 사용자 및/또는 서버를 정의하며, Domino® 디렉토리에서 설정할 수 있는 그룹과 유사합니다. 그러나 그룹과는 달리 역할이 작성된 데이터베이스에 대해서만 적용됩니다.
Domino® 관리자는 다음 방법 중 하나를 사용하여 데이터베이스 ACL을 관리할 수 있습니다.
데이터베이스 보안을 최대로 유지하려면 ACL을 항상 최신으로 유지해야 합니다. 이를 수행하는데 서버 관리 프로세스를 사용할 수 있습니다. 관리 프로세스는 그룹, 서버, 사용자, 개인 보기, 개인 폴더 및 개인 에이전트를 자동으로 삭제하거나 이름을 변경한 후 관리 프로세스를 관리 서버로 실행 중인 서버의 이름을 지정한 데이터베이스 ACL 및 Domino® 디렉토리를 업데이트하는 서버 프로그램입니다. 또한 이 프로그램은 데이터베이스의 모든 문서에 대한 독자 및 작성자 필드를 업데이트합니다.
관리 프로세스를 사용하여 ACL, 독자 필드 및 작성자 필드에서 이름을 업데이트하고 관리하려면, 데이터베이스에 관리 서버를 지정하십시오. 다중 데이터베이스의 관리 서버를 지정하려면 다음 방법을 사용하십시오.
웹 관리자는 Notes® 데이터베이스(WEBADMIN.NSF)와 함께 제공되는 유틸리티 프로그램입니다. 웹 관리자를 통해 사용자는 데이터베이스 ACL 항목을 추가, 삭제 및 수정하고 역할을 변경하며 서버의 모든 데이터베이스에 대한 ACL 로그를 볼 수 있습니다.
Domino® 관리자는 여러 데이터베이스 ACL에 있는 항목을 변경할 수 있습니다. 데이터베이스 ACL의 항목을 편집하려면, ACL에 대해 관리자 권한이 있어야 합니다. 데이터베이스 ACL을 관리하는데 웹 관리자도 사용할 수 있습니다.
사용자 이름, 액세스 레벨 또는 데이터베이스별로 서버의 모든 데이터베이스 ACL을 볼 수 있습니다.
데이터베이스 ACL의 모든 변경사항에 대한 로그를 표시할 수 있습니다. 목록의 각 항목은 변경 시간, 변경한 사용자 및 변경된 내용을 보여줍니다. 로그는 변경사항의 전체 히스토리를 저장하지 않고 20개 행만 저장합니다.
ACL은 워크스테이션 또는 랩탑에서 작성한 모든 로컬 복제본뿐만 아니라, 서버의 모든 데이터베이스 복제본에서 일치시킬 수 있습니다.
기본적으로, 관리 프로세스는 데이터베이스의 모든 문서를 확인하여 독자 및 작성자 필드를 찾아 업데이트하고 사용자 폴더 및 보기와 개인 에이전트를 업데이트합니다. 관리 프로세스는 "사용자 이름 변경" 또는 "사용자 삭제" 요청을 수행할 때, 모든 독자 및 작성자 필드, 사용자 폴더 및 보기, 개인 에이전트에서 이름을 편집하거나 삭제합니다. 선택된 문서에서 독자 및 작성자 필드를 업데이트하려면, 데이터베이스에 특수 보기를 작성한 후 보기를 업데이트하십시오.
브라우저를 사용하여 액세스할 데이터베이스 애플리케이션을 디자인할 경우 브라우저 사용자가 애플리케이션에서 양식 및 보기를 여는 URL 명령을 사용하는 것을 제한하려고 할 수 있습니다. 예를 들어 양식 또는 보기를 사용하는 서블릿이 URL 명령을 통해 양식 및 보기만 사용하도록 애플리케이션을 디자인할 수 있습니다. URL 열기를 허용하지 않음 특성이 설정되면, 브라우저 사용자는 Domino® URL 명령을 사용하여 해당 애플리케이션 컴포넌트를 조작할 수 있습니다.
데이터베이스에 대한 인터넷 또는 인트라넷 브라우저 액세스 권한을 가지고 있는 사용자는 Notes® 사용자가 식별되는 방법과 동일한 방법으로 Notes에 의해 식별될 수 없습니다. 인터넷 또는 인트라넷 브라우저 사용자가 데이터베이스에 대해 가지는 최대 액세스 권한 유형을 제어하려면 인터넷 이름과 비밀번호 최대 액세스 권한 설정을 사용하십시오. 목록은 Notes 사용자에 대한 표준 액세스 레벨을 포함합니다.
SSL(Secure Sockets Layer)은 TCP/IP에서 작동하는 Domino® 서버 태스크의 통신 개인정보 보호 및 인증을 제공하는 보안 프로토콜입니다. 안전한 SSL 연결을 사용하여 데이터베이스에 연결하도록 사용자에게 요구할 수 있습니다. 또한 단일 데이터베이스 또는 서버의 모든 데이터베이스에 대해 SSL 연결을 요구하도록 선택할 수 있습니다.
Domino® 는 ID 파일을 사용하여 사용자를 식별하고 서버에 대한 액세스를 제어합니다. 모든 Domino 서버, Notes® 인증자 및 Notes 사용자는 ID를 갖고 있어야 합니다.
ECL(실행 제어 목록)을 사용하여 워크스테이션 데이터 보안을 설정합니다. ECL은 출처를 알 수 없거나 의심되는 사용 중인 내용으로부터 사용자 워크스테이션을 보호하며, 워크스테이션에서 실행되는 내용 수행을 제한하도록 설정될 수 있습니다.
CA 프로세스 서버 태스크를 사용하는 Domino® 인증자를 설정하여 인증서 요청을 관리하고 처리할 수 있습니다. 인증 기관 프로세스는 인증서를 발행하는 데 사용되는 Domino 서버에서 프로세스로 실행됩니다. Notes® 또는 인터넷 인증자를 설정할 때 CA 프로세스 활동을 이용하기 위해 서버의 CA 프로세스에 링크합니다. CA 프로세스는 한 번만 서버에서 실행되지만 여러 인증자에 연결할 수 있습니다.
SSL(Secure Sockets Layer)은 TCP/IP에서 작동하는 Domino® 서버 태스크의 통신 개인정보 보호 및 인증을 제공하는 보안 프로토콜입니다.
클라이언트는 Domino® 인증 기관 애플리케이션 또는 써드파티 인증 기관을 사용하여 보안 SSL 및 S/MIME 통신용 인증서를 가져올 수 있습니다.
암호화는 인증되지 않은 액세스로부터 데이터를 보호합니다.
이름과 비밀번호 인증 확인(또는 기본 비밀번호 인증 확인)은 사용자에게 이름과 비밀번호를 묻기 위한 기본 질문/응답 프로토콜을 사용한 후, Domino® 디렉토리의 사용자 문서에 저장된 비밀번호의 보안 해시와 비교하여 비밀번호의 정확성을 확인합니다.
다중 서버 세션 기반 인증(SSO라고도 함)을 통해 웹 사용자는 Domino® 또는 WebSphere® 서버에 한 번 로그인한 후 다시 로그인하지 않고도 SSO에 대해 사용으로 설정된 동일한 DNS 도메인 내의 다른 Domino 또는 WebSphere 서버에 액세스할 수 있습니다.
연합 ID는 싱글 사인온을 실현하여 사용자에게 편의를 제공하고 관리 비용을 줄이는 데 도움이 되는 방법입니다. Domino® 및 Notes®에서 사용자 인증을 위한 연합 ID는 OASIS의 SAML(Security Assertion Markup Language) 표준을 사용합니다.
이 릴리스에서는 사내 구축형 Domino® 서버에서 신임 정보 저장소 애플리케이션(credstore.nsf)을 사용할 수 있습니다. 신임 정보 저장소는 Notes® 클라이언트 사용자가 OAuth(open authorization) 프로토콜을 사용하는 애플리케이션에 액세스를 부여하는 데 필요한 문서 암호화 키 및 기타 토큰의 안전한 저장소입니다. OAuth를 통해 호환 가능한 애플리케이션 간에 사용자 신임 정보를 공유할 수 있으며 이로 인해 사용자에게 추가로 비밀번호 프롬프트가 표시되지 않습니다.