[ Index ]
1. ISVA 관련 용어
2. ISVA 란 ?
3. ISVA 인증
4. ISVA 인가
1. ISVA 관련 용어
1) 인증 / 인가
인증 :
사용자, 시스템 등 접근 하는 주체가 누구인지를 확인 하는 것을 뜻함.
즉, 자격 증명을 확인하고 사용자의 신원을 확인하는 작업 이다.
인가 :
사용자가 인증된 이후 사용자가 수행할 수 있는 작업을 결정하는 프로세스.
즉, 권한이 있는 사용자만 해당 리소스에 접근할 수 있도록 액세스 제어를 하는 것이다.
https://hwanii96.tistory.com/503
2) 세션 / 쿠키
세션과 쿠키는 웹 프로그래밍에서 사용되는 기술 이다.
클라이언트와 서버간의 상태 정보를 유지하고 관리하기 위해 사용 한다.
세션 :
서버 측에서 유지되는 사용자의 상태 정보.
사용자가 인증을 통과 하면 인증 정보를 서버에서 저장 한다.
쿠키 :
클라이언트 측에서 (브라우저 == 개인 PC) 유지되는 사용자의 상태 정보.
웹 사이트를 방문해서 인증을 통과 하면 서버에는 세션이,
클라이언트 측에는 쿠키가 발급 된다.
이후, 웹 사이트를 재 방문 할 경우, 해당 쿠키를 서버로 전송 하고 사용자의 신원을 확인하는데 사용 된다고 보면 된다.
https://hwanii96.tistory.com/499
3) WebSEAL
WebSEAL은 ISVA (IBM Security Verify Access) 에서 Reverse Proxy 역할을 한다.
* verify : 확인 하다.
ISVA의 핵심 구성 요소 이다.
클라이언트로 부터 들어오는 HTTP Request를 가로채고,
WebSEAL에 연동 되어 있는 응용 프로그램 또는 자원으로 요청을 전달 한다.
이때, 사용자 인증, 권한 부여 및 세션 관리를 비롯한 여러 보안 기능을 수행 한다.
* Reverse Proxy :
Reverse Proxy는 클라이언트와 백엔드 서버 사이에 위치 한다.
클라이언트의 요청을 가로채서 적절한 서버로 전달하고, 서버의 응답을 클라이언트로 반환하는 서버 이다.
https://hwanii96.tistory.com/501
4) Junction
Junction은 WebSEAL로 들어온 사용자의 Request 요청을 적절한 백엔드 시스템으로 매핑을 해주는 역할을 한다.
Junction을 SSO (Single Sign-On)의 대상 시스템으로 생각 해도 된다. 일반적으로 1 : 1 관계를 가진다.
Junction에는 2가지 종류가 존재 한다.
- Standard Junction
- Virtual Junction
Standard Junction은 WebSEAL에 연동된 백엔드 시스템이 모두 같은 도메인을 사용 하는 경우 사용 가능 하다.
예)
A라는 WebSEAL에 연동된 abc와 def가 있다고 가정 하고,
A라는 WebSEAL은 www.naver.com 이라는 도메인을 가지고 있다고 가정.
위와 같은 구조 일 때,
사용자가 abc라는 백엔드 시스템에 접근 하기 위해서는 www.naver.com/abc라는 URL로 Request를 요청 해야 한다.
만약, def라는 백엔드 시스템에 접근 하기 위해서는 www.naver.com/def 라는 URL로 Request를 요청 하면 된다.
반면 Virtual Junction의 경우, Junction이 가상의 호스트를 가질 수 있다.
사용자는 abc 시스템에 접근 하기 위해서 abc.hwaniiCompany.co.kr 이라는 URL 그대로 사용이 가능 하다.
또한 def 시스템에 접근 하기 위해서 def.hwaniiCompany.co.kr 이라는 URL 그대로 사용이 가능 하다.
이렇게 Virtual Junction은 Junction이 가상의 호스트를 가질 수 있다.
호스트라는 용어는 DNS (Domain Name System) 을 의미하는데,
이렇게 Virtual Junction을 사용 해서, 하나의 WebSEAL 서버로 여러개의 가상 DNS (URL) 을 설정 해서,
다양한 서비스 및 데이터를 라우팅 할 수 있는 장점을 가지게 된다.
즉, 하나의 WebSEAL 서버로 여러 개의 가상 호스트 덕분에 다중 도메인의 효과를 얻을 수 있다.
현재 ISVA (IBM Security Verify Access)를 이용 하고 있는 사이트들은, Virtual Junction만 이용 하고 있다.
Standard Junction을 이용한 Case는 없다.
5) Domain & Object Space & Object
ISVA (IBM Security Verify Access) 에서 정책을 관리 하기 위해서는 아래의 3가지 개념들이 사용 된다.
- Domain
- Object Space
- Object
Domain은 보호가 필요한 모든 리소스 (자원) 와 해당 리소스를 보호하는 데 사용 되는 보안 정책으로 구성.
참고 : 도메인 - IBM 문서
정리하면, 도메인은 정책 관리 영역 이라 할 수 있다.
조금 더 현실적인 개념으로 정리하자면 아래와 같다.
하나의 고객 사이트 (HwaniiCompany, GoodCompany, ..) 와 같은 하나의 고객사이트가 도메인이 된다.
이것과 비슷하게 SSO (Single Sign-On) 에서 사용되는 개념으로는 REALM, TENANT 와 같은 용어가 있다.
Object Space & Object
참고 : 보호된 오브젝트 공간 - IBM Documentation
IBM Security Verify Access (ISVA) 에서는 Object Space와 Object라는 개념을 사용 한다.
이는, 도메인에 속하는 자원을 관리하는 것을 의미 한다.
ISVA는 아래와 같이 자원들을 트리 구조로 관리 한다.
이때, 사용되는 논리적 개념 요소가 Object Space와 Object 이다.
Object는 2개의 타입으로 구성 되어 있다.
- Resource Object
이미지 파일, 웹 페이지, 로그 등과 같은 실제적인 물리적 Resource에 대한 논리적인 표현 요소 이다.
- Container Object
Resource 개체를 계층적으로 그룹화 하는 구조적인 구성 요소를 의미 한다.
예) /management, /WebSEAL, /User
Object Space
Object Space는 Object들의 묶음 이라고 생각 하면 된다.
2. ISVA 란 ?
ISVA (IBM Security Verify Access) 는 인증 및 권한 부여 기능을 제공 하여 리소스를 보호 한다.
여기에 SSO (Single Sign-On) 기능과 액세스 제어 기능을 함께 제공 하는 솔루션 이라고 볼 수 있다.
[ 참고 ]
기존 TAM (Tivoli Access Management) 의 이름으로 불리다가 SAM (Security Access Management) 를 거쳐서,
현재 최종적으로 ISVA (IBM Security Verify Access) 이름으로 사용 되고 있다.
참고 : IBM 문서
ISVA (IBM Security Verify Access) 아키텍쳐
ISVA 구성 요소를 간단하게 위와 같이 3가지 구성 요소로 표현 할 수 있다.
1) ISVA Appliance (WebSEAL 전용)
WebSEAL이 구성 되고, 실제 사용자의 Request를 받아 백엔드 서버로 요청을 전달 한다.
서버는 다시 Response 응답을 WebSEAL에게 전달 하고,
최종적으로 사용자에게 서버의 응답이 전달 되게 해주는 역할을 하는 서버 이다.
* appliance : 기기
2) Policy Server
Policy Server는 ISVA (IBM Security Verify Access) 하고 같이 설치도 가능 하고 혹은 따로 구성도 가능 하다.
서버에 장애가 발생 했을 때, 영향을 최소화 하기 위해서 보통은 따로 구성 한다.
Policy Server는 ISVA에서 사용되는 정책을 관리하는 역할을 한다.
즉, 사용자로부터 들어오는 Request에 대해서 액세스 권한을 부여 하는 역할을 한다.
>> 정책 관리 및 처리 서버.
ISVA Appliance와 Policy Server는 같은 ISO 파일을 사용 해서 구성 된다.
여기서, Runtime Component 라는 구성을 진행 하는지 여부에 따라서 역할이 정해지는 개념 이다.
3) LDAP (SDS 6.4 or SVD 10.0)
LDAP == Lightweight Directory Access Protocol
SSO (Single Sign-On) 사용자 정보 및 ISVA (IBM Security Verify Access) 의 경우,
실제 Directory Data는 DB2 테이블에 저장 된다.
즉, 실질적인 Data는 DB2에 저장 된다.
3. ISVA 인증
ISVA (IBM Security Verify Access) 에서 지원하는 인증 방식은 매우 다양 하다.
가장 기본이 되는 Form을 사용 해서 인증 처리를 하는 방식이 있고,
OAuth (Open Authentication), SAML (Security Assertion Markup Language), LTPA Token, Kerberos 등
다양한 인증 처리 방법을 지원 하고 있다.
1) Form Authentication Process
가장 기본이 되는 인증 방식 이다.
사용자가 ID / PW 를 Login 페이지를 통해 입력하여 인증 처리가 진행 되는 방식 이다.
상세 과정
1. 사용자가 보호된 Resource (자원 == SSO (Single Sign-On) 연동 시스템) 에 접근 한다.
2. 인증된 정보가 아직 없기 때문에, WebSEAL은 사용자를 LoginPage로 Redirect 한다.
3. 사용자는 ID와 PW를 입력 한다.
4. WebSEAL은 사용자로부터 받은 인증 정보 (ID / PW)가 유효한지 확인 한다.
(내부적으로는 Policy Server와 LDAP 에서 사용자 인증 정보가 유효한지 확인하는 절차가 이루어진다)
5. 인증 정보가 유효하면 Junction 매핑 정보를 이용 해서, Web Application으로 사용자의 Request가 전달 된다.
여기서 인증 정보는 HTTP Header로 전송되는 User ID 값 등등 이다.
6. Web Application 에서는 인증 데이터를 추출 하고 자체 인증 처리 (세션 생성) 또는 권한 체크를 수행 한다.
수행 이후, 다시 Request를 WebSEAL로 Response (응답) 를 전달 한다.
7. WebSEAL은 Web Application이 전달 해준 Response를 사용자에게 전달 한다. (쿠키와 함께)
8. 여기서부터는 이미 인증을 수행한 클라이언트가 다시 다른 Request를 발생 시킨 상황 이다.
브라우저에 이미 존재하는 쿠키와 함께 새로운 Request를 WebSEAL로 전달 한다.
9. WebSEAL은 Request와 함께 온 쿠키와 ISVA 에서 관리 하고 있는 세션을 비교 해서 인증을 처리 한다.
10. 11, 12 는 5, 6, 7 과정과 동일 하다.
2) EAI Authentication Process
ISVA는 WebSEAL에 대한 인증 프로세스를 확장할 수 있는 외부 인증 인터페이스를 제공 한다.
외부 인증이란 ISVA가 인증 주체가 되어서 인증을 수행 하는게 아니고,
독립적인 인증 어플리케이션을 통해서,
사용자 인증을 하고 인증된 사용자 ID 정보를 WebSEAL에게 반환 한 후,
ISVA는 해당 사용자에 대해 신원 정보를 수락 하는 프로세스 이다.
외부 인증 인터페이스 프로세스 플로우 - IBM Documentation
자세한 프로세스 흐름은 다음에 다시 정리.
4. ISVA 인가
ISVA (IBM Security Verify Access) 에서는 관리 하고 있는 리소스 (자원) 보호를 위해서,
ACL (Access Control List) 과, POP (Protected Object Policy), Authz Rule (Authorization Rule) 기능을 제공.
ACL, POP, Authz Rule은 Object에 적용이 되고, 적용된 정책 요소는 하위 Object에 상속 된다.
주로 ISVA는 인증을 위해 사용 되고, 인가에 대해서는 제한적으로 기능을 사용 하고 있다.
1) ACL (Access Control List)
ISVA에서 관리 하고 있는 Resource == Object 들에 대해서 액세스 제어를 하는 정책.
특정 사용자 또는 그룹 별로 가질 수 있는 권한을 지정해서 액세스 제어를 할 때 사용 되는 기능 이다.
참고 : 액세스 제어 관리 - IBM Documentation
2) POP (Protected Object Policy)
POP 또한 액세스 제어를 위해 사용 되는 정책 요소 이다.
주로 IP (Internet Protocol) 에 따른 액세스 제어를 할 때 사용 된다.
참고 : 보호 오브젝트 정책 관리 - IBM Documentation
3) Authz Rule (Authorization Rule)
XSL (Extensible Style Language) 를 이용해서 규칙을 만들고,
정의된 규칙을 사용 해서 액세스 제어를 하는 기능.
참고 : IBM 문서
'개념 > Study' 카테고리의 다른 글
ISVD (LDAP) GSkit 개념 및 GSkit 설치 방법 (0) | 2023.11.29 |
---|---|
Linux 환경의 IP / 이더넷 / 서브넷마스크 / 브로드캐스트 (1) | 2023.11.29 |
IP 와 Port (5) | 2023.11.26 |
내부망 / 외부망 / DMZ 이란 ? (0) | 2023.11.25 |
SAML (Security Assertion Markup Language) (0) | 2023.11.20 |