이 섹션은 다음 항목을 포함하고 있습니다.
authxapi_RegisterExitFunction 함수
authxapi_UnregisterExitFunction 함수
authxapi_IsThereExitFunction 함수
authxapi_GetObjectListValue 함수
UserDefinedPrefix_RegisterExit 함수
종료 API를 사용하면 CA ControlMinder가 요청된 작업에 대한 권한을 부여하기 직전이나 직후에 실행할 고유 함수를 삽입할 수 있습니다. seosd 데몬/서비스는 모든 시스템, 프로그램 및 사용자 작업을 모니터링합니다. 또한 모든 작업을 차단하여 요청된 작업에 대한 권한을 부여할지 여부를 결정합니다. CA ControlMinder가 이러한 결정을 내리기 직전(사전)이나 직후(사후)에 등록된 고유 함수를 삽입할 수 있습니다.
예를 들어 CA ControlMinder가 각 로그인 요청을 고려하기 전에 실행할 사전 종료 함수를 등록할 수 있습니다. 그러면 종료 함수는 CA ControlMinder가 로그인 요청에 대한 권한을 부여하기 직전에 제어권을 같습니다. 해당 작업을 완료한 후 종료 함수는 함수의 권한 부여 결정을 나타내는 코드와 함께 제어권을 CA ControlMinder에 반환합니다. 이 함수는 다음 반환 코드 중 하나를 반환해야 합니다.
CA ControlMinder가 고유한 표준 권한 부여 검사를 수행하도록 지시합니다.
CA ControlMinder에 요청을 허용하도록 지시합니다. CA ControlMinder는 고유한 표준 권한 부여 검사를 수행하지 않습니다.
CA ControlMinder에 요청을 거부하도록 지시합니다. CA ControlMinder는 고유한 표준 권한 부여 검사를 수행하지 않습니다.
결정이 SEOS_EXITR_PASS 또는 SEOS_EXITR_DENY인 경우 CA ControlMinder는 요청을 즉시 승인하거나 거부합니다. 결정이 SEOS_EXITR_CHECK인 경우 CA ControlMinder는 고유한 표준 권한 부여 검사를 계속합니다. CA ControlMinder의 권한 부여가 필요한 시스템, 프로그램 및 사용자 작업을 이벤트라고 합니다. CA ControlMinder는 다음 다섯 개의 이벤트 범주를 허가합니다.
컴파일 후 공유 라이브러리에 연결할 수 있는 C 언어 함수를 작성하여 seosd 및 sepass 프로그램에 새 종료 함수를 추가할 수 있습니다. 이 새 공유 라이브러리를 포함하도록 seos.ext 및 sepass.ext 파일을 변경해야 합니다.
종료 API 함수는 다음 세 부분으로 구성됩니다.
등록 함수는 종료 API 함수를 초기화한 후 CA ControlMinder 프로그램에 등록합니다. 구현 함수는 사용자 작업을 표준 CA ControlMinder 처리에 추가합니다. 종료 함수는 CA ControlMinder 프로그램이 종료될 때 사용자 프로그램을 올바르게 등록 취소하고 종료합니다.
다음 다이어그램에서는 UNIX에서 종료 API의 초기화, 구현 및 종료 함수 흐름을 보여 줍니다.

종료 API의 종료 함수는 CA ControlMinder가 제공하는 함수 및 헤더 파일을 활용합니다. seosd에 연결하든 아니면 sepass에 연결하든 관계없이 모든 종료 함수에 대해 동일한 등록, 초기화 및 종료 함수를 사용하십시오.
종료 API 함수가 준비된 경우 새 API를 CA ControlMinder 데몬에 연결해야 합니다.
컴파일 후 공유 라이브러리에 연결할 수 있는 C 언어 함수를 작성하여 sesudo 및 sesu 프로그램에 새 종료 함수를 추가하십시오. 이 새 공유 라이브러리를 포함하도록 *.ext 파일을 변경해야 합니다.
종료 API 함수는 다음 세 부분으로 구성됩니다.
등록 함수는 종료 API 함수를 초기화한 후 유틸리티에 등록합니다. 구현 함수는 사용자 작업을 표준 유틸리티의 일반 작업에 추가합니다. 종료 함수는 유틸리티가 종료될 때 사용자 프로그램을 올바르게 등록 취소하고 종료합니다.
참고: 다음 디렉터리에는 유틸리티 종료 API에 대한 예제가 있습니다.
ACDir/apisamples
컴파일 후 DLL(동적 연결 라이브러리)에 연결할 수 있는 C 언어 함수를 작성하여 seosd 서비스 및 pwdchange.dll에 새 종료 함수를 추가하십시오. 새 종료 함수를 설치하려면 새 하위 키를 다음 레지스트리 키 아래에 추가해야 합니다.
HKEY_LOCAL_MACHINE\Software\ComputerAssociates\AccessControl\Exits\Engine
종료 API는 다음 범주 중 하나에 속할 수 있습니다.
등록 함수는 종료 API 함수를 초기화한 후 CA ControlMinder 프로그램에 등록합니다. 구현 함수는 사용자 작업을 표준 CA ControlMinder 처리에 추가합니다.
다음 다이어그램에서는 종료 API의 초기화 및 구현 흐름을 보여 줍니다.

종료 API의 종료 함수는 CA ControlMinder가 제공하는 함수 및 헤더 파일을 활용합니다. seosd에 연결하든 아니면 pwdchange에 연결하든 관계없이 모든 종료 함수에 대해 동일한 등록 및 구현 함수를 사용하십시오.
종료 API 함수가 준비된 경우 새 API를 CA ControlMinder 서비스에 연결해야 합니다.
모든 종료 API 함수는 함수 간에 정보를 전달하는 데 CA ControlMinder가 제공하는 특수 데이터 구조를 사용합니다. 프로그래머는 이러한 구조가 고유한 프로그램에 올바르게 액세스하는 데 사용하는 특정 형식과 데이터 형식을 알고 있어야 합니다. 종료 함수가 사용하는 입력 데이터 구조는 해당 함수가 차단하는 이벤트에 따라 달라집니다. 모든 함수는 동일한 출력 데이터 구조를 사용합니다. 다음 표에는 종료 API 함수가 사용하는 데이터 구조가 나열되어 있습니다.
|
이벤트 |
데이터 구조 |
유형 |
|---|---|---|
|
로그인 |
SEOS_EXITLOGIN |
입력 |
|
일반 리소스 검사 |
SEOS_EXITGENR |
입력 |
|
TCP/IP 요청(UNIX만 해당) |
SEOS_EXITINET |
입력 |
|
암호 품질 검사 |
SEOS_EXITPASS |
입력 |
|
모든 이벤트 |
SEOS_EXITRES |
출력 |
종료 API 함수가 성공한 경우 SEOS_EXITRES 구조를 채우고 0을 반환해야 합니다. CA ControlMinder가 오류 코드 0을 받은 경우 CA ControlMinder는 SEOS_EXITRES 구조의 결과 필드를 검사합니다. SEOS_EXITRES 값이 "Pass" 또는 "Deny" 경우 해당 값이 즉시 적용되고 CA ControlMinder는 고유한 권한 부여 검사를 실행하지 않습니다. 결과가 "Check"인 경우 CA ControlMinder는 고유한 권한 부여 검사를 계속합니다.
종료 API 함수가 실패한 경우 SEOS_EXITRES 구조를 채우고 0이 아닌 오류 코드를 반환해야 합니다. CA ControlMinder가 0이 아닌 오류 코드를 받은 경우에는 SEOS_EXITRES 구조에 나타나는 대로 원본 파일 이름 및 행 번호와 함께 항목을 오류 로그 파일에 추가합니다. SEOS_EXITRES의 다른 값 집합은 무시됩니다. 그런 다음 CA ControlMinder는 고유한 권한 부여 검사를 계속합니다.
이 장에서는 두 개의 예제 종료 API 함수를 제공합니다. 이러한 예제는 사용자 고유의 프로그램을 작성하는 데 기초로 사용할 수 있습니다. 첫 번째 예제는 모든 CA ControlMinder 권한 부여 호출을 차단하고 이러한 호출이 발생하는 빈도에 대한 통계를 유지하는 간단한 카운터입니다. 두 번째 예제는 CA ControlMinder의 암호 권한 부여 알고리즘에 새 제한을 추가합니다. 이 종료 함수는 사용자가 password 단어를 새 암호로 선택하지 못하도록 합니다.
CA ControlMinder의 권한 부여가 필요한 시스템, 프로그램 및 사용자 작업을 이벤트라고 합니다. 이벤트는 다음 다섯 가지 범주로 그룹화됩니다.
암호 품질 검사 및 암호 변경 이벤트에 대한 종료 함수는 암호 유틸리티 sepass(UNIX의 경우) 및 암호 dll pwdchange(Windows의 경우)에 연결됩니다. 로그인, 일반 리소스 검사 및 TCP/IP 요청 이벤트에 대한 종료 함수는 seosd에 연결됩니다.
다음 이벤트는 seosd에 등록됩니다.
로그인 이벤트는 사용자가 시스템에 로그인할 때마다 발생합니다. 로그인 시도와 관련된 모든 정보가 API 함수에 전달됩니다. 이 정보에는 다음이 포함됩니다.
이 정보가 SEOS_EXITLOGIN 구조의 종료 함수에 전달됩니다.
참고: 로그인 권한 부여 프로세스의 일부에는 사용자가 로그인 요청을 받은 터미널에서 로그인할 수 있도록 허용되는지 여부를 확인하는 작업이 포함됩니다. 일반 리소스 종료 함수가 등록된 경우에는 종료 함수가 로그인 검사의 일부로 호출됩니다.
일반 리소스 검사 이벤트는 CA ControlMinder가 로그인 및 TCP/IP 요청을 제외하고 시스템 요청에 대한 권한 부여를 검사할 때마다 발생합니다. 시스템 요청과 관련된 모든 정보가 API 함수에 전달됩니다. 이 정보에는 다음이 포함됩니다.
이 정보가 SEOS_EXITGENR 구조의 함수에 전달됩니다.
UNIX의 경우 TCP/IP 요청 이벤트는 원격 호스트가 로컬 호스트에 연결하려고 할 때마다 발생합니다. 이 경우 특정 사용자의 정보를 사용할 수 없습니다. 연결 시도와 관련된 모든 정보가 API 함수에 전달됩니다. 이 정보에는 호스트 주소 및 이름, 요청된 액세스 유형, 관련 프로그램 이름, 포트 번호 및 프로토콜 코드가 포함됩니다. 이 정보가 SEOS_EXITINET 구조의 함수에 전달됩니다.
암호 품질 검사 및 암호 변경 이벤트는 암호 유틸리티 sepass에 등록됩니다. 종료 API 데이터 구조 SEOS_EXITPASS는 이러한 이벤트에 대한 정보를 함수 간에 전달하는 데 사용됩니다.
암호 품질 검사 이벤트는 사용자가 새 사용자 암호를 입력할 때마다 발생합니다. CA ControlMinder는 항상 종료 확인(사전 및 사후)을 호출합니다. CA ControlMinder는 사용자가 해당 암호를 대체하는 경우에만 기본 제공 기능을 사용하여 암호를 확인합니다. 새 암호를 입력하는 시도와 관련된 모든 정보가 API 함수에 전달됩니다. 이 정보에는 암호 유틸리티를 호출하는 사용자의 이름, 암호를 변경하는 대상 사용자의 이름, 사용자의 이전 암호(있는 경우), 사용자의 새 암호 및 CA ControlMinder 결과가 포함됩니다. 결과는 0(정상) 또는 1(오류)일 수 있습니다. 모든 정보가 SEOS_EXITPASS 구조의 함수에 전달됩니다.
암호 변경 이벤트는 사용자가 기존 사용자 암호를 업데이트할 때마다 발생합니다. 업데이트 시도와 관련된 모든 정보가 API 함수에 전달됩니다. 이 정보에는 암호 유틸리티를 호출하는 사용자의 이름, 암호를 변경하는 대상 사용자의 이름, 사용자의 새 암호, CA ControlMinder 및 시스템 결과가 모두 포함됩니다. 이 정보가 SEOS_EXITPASS 구조의 함수에 전달됩니다.
암호 품질 검사 및 암호 변경 이벤트는 암호 dll pwdchange에 등록됩니다. 이러한 이벤트를 레지스트리에 설치한 후 올바르게 등록하려면 다시 부팅해야 합니다. 종료 API 데이터 구조 SEOS_EXITPASS는 이러한 이벤트에 대한 정보를 함수 간에 전달하는 데 사용됩니다.
|
Copyright © 2013 CA.
All rights reserved.
|
|