DB2용 데이터 공급자 보안 및 보호
Data Provider for DB2(데이터 공급자)를 사용하여 Windows 데이터 소비자 애플리케이션을 원격 IBM DB2 관계형 데이터베이스 관리 서버에 연결할 수 있습니다. 데이터 공급자는 DRDA 애플리케이션 서버로 작동하는 IBM DB2 서버 제품과 호환되는 형식 및 DRDA 프로토콜을 지원하는 DRDA(분산 관계형 데이터베이스 아키텍처) 애플리케이션 요청자 클라이언트로 기능합니다.
구조적 쿼리 언어 문을 실행하여 데이터 공급자를 사용할 수 있습니다. 이러한 문에는 관리를 위한 DDL(데이터 정의 언어) 문과 읽기 및 쓰기 작업을 위한 데이터 조작 관리 문이 포함됩니다. 데이터 공급자는 하나 이상의 선택적 보안 기능(이 문서에서 나중에 설명됨)을 사용하는 SNA(Systems Network Architecture) HPR/IP(인터넷 프로토콜을 통한 고성능 라우팅) 또는 TCP/IP(인터넷 프로토콜을 통한 전송 제어 프로토콜) 네트워크에서 Windows 클라이언트 애플리케이션을 DB2 서버 데이터베이스에 연결합니다.
보안
사용자 계정
데이터 공급자 도구, 데이터 액세스 도구 및 데이터 링크는 사용자 계정의 컨텍스트에서 실행됩니다. 사용자 계정은 HIS 관리자 및 HIS 런타임 사용자 로컬 그룹의 멤버여야 합니다.
폴더 액세스 제어 목록
사용자 계정에는 HIS 관리자 로컬 그룹 및 HIS 런타임 사용자 로컬 그룹과 관련된 폴더 액세스 제어 목록 설정이 필요합니다.
Program Files\Microsoft Host Integration Server 2020
Program Files\Microsoft Host Integration Server 2020\system
Program Files\Microsoft Host Integration Server 2020\ SysWOW64
Program Files\Microsoft Host Integration Server 2020\traces
Documents\Host Integration Server\Data Sources
보호
데이터 공급자는 DB2 패키지의 실행 권한을 DB2 퍼블릭 그룹에 부여
DB2 패키지를 만들 때 데이터 액세스 도구 및 데이터 공급자가 DB2 패키지의 실행 권한을 퍼블릭으로 설정하면 모든 DB2 사용자가 실행 권한을 가지게 됩니다. DB2 서버의 보안을 강화하려면 패키지에서 퍼블릭에 대한 실행 권한 부여를 취소하고 선택한 DB2 사용자 또는 그룹에만 실행 권한을 부여하는 것이 좋습니다.
데이터 도구가 UDL(유니버설 데이터 링크) 또는 TXT(연결 문자열) 파일의 일반 텍스트에 인증 자격 증명을 저장
데이터 원본 마법사와 데이터 연결은 인증 자격 증명(사용자 이름 및 암호) 을 유니버설 데이터 링크(UDL) 또는 연결 문자열(TXT) 파일에 일반 텍스트로 저장합니다. Windows Active Directory 계정에서 IBM DB2 자격 증명에 대한 매핑을 안전하게 저장하는 ESSO(Enterprise Single Sign-On)를 사용하도록 데이터 공급자를 구성하는 것이 좋습니다. 데이터 공급자는 런타임에 이러한 매핑을 검색하여 Windows 사용자를 원격 IBM DB2 데이터베이스 서버에 안전하게 인증할 수 있습니다. 데이터 소비자 및 데이터 도구와 함께 데이터 공급자 In-Process를 실행해야 합니다.
DRDA는 DES 기반 약한 기본 제공 암호화를 지원
DRDA는 약한 56비트 DES(데이터 암호화 표준) 기술을 사용하는 기본 제공 인증 및 데이터 암호화를 지원합니다. SSL(Secure Sockets Layer) V3.0 또는 TLS(전송 계층 보안) V2.0을 사용하여 강력한 데이터 암호화를 사용하도록 데이터 공급자를 구성하는 것이 좋습니다. 인증만 암호화하는 경우, AES(고급 암호화 표준)를 사용하여 강력한 256비트 암호화를 지원할 수 있습니다.
데이터 공급자가 암호화되지 않은 일반 텍스트 형식의 사용자 이름과 암호를 사용하여 연결
데이터 공급자는 사용자 이름 및 암호가 암호화되지 않고 일반 텍스트로 제출되는 경우 기본 인증을 사용하여 TCP/IP 또는 SNA 네트워크를 통해 원격 DB2 서버 컴퓨터에 연결합니다. 데이터 공급자를 Kerberos, SSL(Secure Sockets Layer) V3.0 또는 TLS(전송 계층 보안) V1.0을 사용하는 인증 암호화 또는 AES를 사용하는 인증 암호화를 사용하도록 구성하는 것이 좋습니다.
데이터 공급자가 암호화되지 않은 데이터를 보내고 받음
데이터 공급자가 암호화되지 않은 데이터를 보내고 받습니다. SSL(Secure Sockets Layer) V3.0 또는 TLS(Transport Layer Security) V1.0을 사용하는 데이터 암호화를 사용하도록 데이터 공급자를 구성하는 것이 좋습니다.
DB2의 암호화 표준
다음 표에서는 DB2에 대해 지원되는 암호화 표준에 대해 설명합니다.
암호화 | 인증 | 데이터 |
---|---|---|
Kerberos | 예 | 예 |
SSL V3 | 예 | Yes |
TLS V2 | Yes | 예 |
AES | 예 | 예 |
소비자 및 데이터 도구가보안 되지 않은 폴더에서 연결 파일을 읽거나 이 폴더에 씀
데이터 소비자 및 데이터 도구가 안전하지 않은 폴더에서(폴더로) 연결 파일을 읽고 쓸 수 있습니다. 데이터 도구가 UDL(유니버설 데이터 링크) 또는 TXT(연결 문자열) 파일을 Host Integration Server\Data Sources 또는 프로그램 디렉터리에 저장한 다음 로컬 관리자 권한이 있는 폴더를 보호해야 합니다. 데이터 소비자 및 데이터 도구 안전한 저장소 내에 연결 정보를 유지한 다음, 데이터 소비자 및 데이터 도구로 데이터 공급자 In-Process를 실행해야 합니다.
데이터 소비자 및 데이터 도구는 잘못된 속성을 가진 연결 요청 가능
데이터 소비자 및 데이터 도구는 잘못된 연결 속성 값을 사용하여 연결을 요청할 수 있습니다. 확인되지 않은 연결 문자열 인수 이름 값 쌍을 전달하는 대신 데이터 공급자 연결 개체를 사용하여 연결하는 데이터 소비자를 사용해야 합니다. 잘못된 연결 시도를 취소하는 연결 제한 시간 값을 설정해야 합니다.
데이터 소비자 및 데이터 도구는 잘못된 데이터를 사용하여 명령을 요청할 수 있음
데이터 소비자 및 데이터 도구는 잘못된 데이터를 사용하여 명령을 요청할 수 있습니다. 매개 변수 형식의 유효성을 검사하기 위해 인라인 데이터 값을 가진 확인되지 않은 명령 문자열을 전달하는 대신, 매개 변수 개체가 있는 데이터 공급자 명령을 사용하는 명령을 생성하는 데이터 소비자를 사용해야 합니다. 잘못된 명령 시도를 취소하려면 명령 시간 제한 값을 설정해야 합니다. 2단계 커밋 트랜잭션을 사용하여 데이터 소비자를 보호하기 위해 원격 작업 단위(RUW) 대신 DRDA 분산 작업 단위(DUW)를 사용해야 합니다.