SharePlex는 모든 네트워크 트래픽에 대해 SSL/TLS 연결을 활성화하는 기능을 제공합니다. 이는 SharePlex 인스턴스 간, SharePlex와 명령줄 인터페이스 간 네트워크의 데이터를 암호화합니다.
SSL/TLS가 활성화된 경우 SharePlex는 SSL/TLS 연결만 허용합니다. 서로 복제되는 모든 SharePlex 인스턴스의 경우 모두 SSL/TLS를 활성화하거나 모두 SSL/TLS를 비활성화해야 합니다. SSL/TLS 구성에는 네트워크 비밀번호가 포함됩니다. 이 비밀번호는 모든 SharePlex 인스턴스에서 동일해야 합니다.
참고: TLS 연결의 경우 SharePlex는 TLS 1.2(또는 그 이상)를 지원합니다.
SSL/TLS 구성을 변경하려면 다음을 수행합니다.
- 모든 노드에서 sp_cop 종료
- 모든 노드에서 "sp_security --setup" 실행
- 모든 노드에서 sp_cop 시작
sp_security 유틸리티를 사용하여 SharePlex 네트워크 통신에 대한 SSL/TLS 설정을 활성화, 비활성화하거나 확인합니다.
SSL/TLS 활성화
중요! SSL/TLS는 공통 네트워크 비밀번호를 사용하여 활성화하거나 모든 SharePlex 설치에서 비활성화해야 합니다.
SSL/TLS를 활성화하려면 다음을 수행합니다.
sp_security --setup을 실행하고 SSL/TLS 옵션을 선택한 후 네트워크 비밀번호를 입력합니다.
% sp_security --setup
Security Setup Wizard
---------------------
This wizard will walk you through setting up the SharePlex network security.
Setup configuration for '/home/shareplex/var110/' and Port 2100 [N]: Y
Choose your network security model. Please note the following:
* Cop must be down when the security model is changed, or when the network password is changed
* The same model must be used among all SharePlex nodes replicating to each other
* For security model [1], the same network password must be set on all SharePlex nodes replicating to each other
[1] Use basic SSL/TLS connections
[2] Use non-SSL/TLS connections (default prior to SharePlex 9.1.3)
Security model: 1
Please enter a network password that will be used for authentication
among the SharePlex nodes. All SharePlex nodes that replicate data to each
other must have the same network password.
Network password:
Please re-enter the network password
Network password:
Security settings:
Configuration for '/home/shareplex/var110/' and Port 2100:
Security model : SSL/TLS
Network password : stored for unattended startup
SSL key file password : stored for unattended startup
SSL key file : key.pem
SSL cert file : cert.pem
Setup complete!
SSL/TLS 비활성화
중요! SSL/TLS는 공통 네트워크 비밀번호를 사용하여 활성화하거나 모든 SharePlex 설치에서 비활성화해야 합니다.
SSL/TLS를 비활성화하려면 다음을 수행합니다.
Run “sp_security --setup” and select non-SSL/TLS connections.
% sp_security --setup
Security Setup Wizard
---------------------
This wizard will walk you through setting up the SharePlex network security.
Setup configuration for '/home/shareplex/var110/' and Port 2100 [N]: Y
Choose your network security model. Please note the following:
* Cop must be down when the security model is changed, or when the network password is changed
* The same model must be used among all SharePlex nodes replicating to each other
* For security model [1], the same network password must be set on all SharePlex nodes replicating to each other
[1] Use basic SSL/TLS connections
[2] Use non-SSL/TLS connections (default prior to SharePlex 9.1.3)
Security model: 2
Security settings:
Configuration for '/home/shareplex/var110/' and Port 2100:
Security model : Un-encrypted
Setup complete!
현재 SSL/TLS 구성 보기
현재 SSL/TLS 구성을 보려면 다음을 수행합니다.
Run “sp_security --show”.
% sp_security --show
Security settings:
Configuration for '/home/shareplex/var110/' and Port 210:
Security model : Un-encrypted
SharePlex는 특정 원격 시스템의 SharePlex 프로세스가 서비스 및 명령 요청을 위해 로컬 시스템에 연결하도록 인증되었는지 여부를 확인하는 호스트 인증 보안을 제공합니다. 호스트 인증을 구현하려면 SharePlex variable-data 디렉토리의 data 하위 디렉토리에 auth_hosts라는 ASCII 텍스트 파일을 생성한 다음, 연결 권한이 부여된 시스템 이름으로 채웁니다.
요구 사항
- 사용하는 경우 auth_hosts 파일에 유효한 항목이 포함되어야 합니다. 이 파일이 있지만 비어 있거나 잘못된 항목이 포함된 경우 SharePlex는 다음 예와 유사한 오류 메시지를 이벤트 로그에 보냅니다. unauthorized connection attempt.
- auth_hosts 파일이 시스템에 없으면 SharePlex는 sp_cop에 연결을 시도하는 모든 시스템의 모든 요청을 수락합니다.
- 로컬 시스템의 이름은 이 파일의 주석 처리되지 않은 첫 번째 줄이어야 합니다. 그렇지 않으면 호스트 인증이 작동하지 않습니다.
- 주석을 포함한 모든 항목은 반환으로 끝나야 합니다.
auth_hosts 파일을 구성하려면 다음을 수행합니다.
참고: 주석 줄은 파운드 문자(#)로 시작합니다.
- vi(Unix 및 Linux)와 같은 ASCII 텍스트 편집기를 실행하여 빈 파일을 엽니다. Unix 및 Linux 텍스트 편집기를 사용하는 경우 편집기를 실행하기 전에 디렉토리를 SharePlex variable-data 디렉토리의 data 하위 디렉토리로 변경합니다.
- 주석 처리되지 않은 첫 번째 줄에 로컬 시스템의 전체 시스템 이름을 입력합니다(예: Localhost.mycorp.com).
-
주석 처리되지 않은 다음 줄에 다음 중 하나를 입력합니다.
all |
모든 원격 시스템의 프로세스에 대한 연결 권한을 부여합니다. |
hostname |
지정된 호스트에 대한 연결 권한을 부여합니다. 정규화된 시스템 이름을 입력합니다(예: Remotehost.mycorp.com). 필요한 만큼 호스트 이름을 한 줄에 하나씩 지정합니다. |
- 파일을 SharePlex variable-data 디렉토리의 data 하위 디렉토리에 auth_hosts로 저장합니다. sp_cop의 여러 인스턴스를 실행하는 경우 파일을 올바른 variable-data 디렉토리에 저장해야 합니다.
예
로컬 호스트의 이름은 주석 처리되지 않은 첫 번째 줄에 있습니다.
#Comment: first line is local host name.
Localhost.mycorp.com
#Comment: remaining lines are remote hosts.
remotehost.mycorp.com
remotehost2.mycorp.com
remotehost3.mycorp.com |
SharePlex는 SSH® Secure ShellTM 유틸리티를 사용하여 보안 원격 로그인과 같은 네트워크 서비스 및 안전하지 않은 네트워크를 통한 기타 서비스에 대한 암호화를 제공합니다.
요구 사항
- SSH 소프트웨어를 구입하고 설치합니다. SSH는 SharePlex에 포함되어 있지 않습니다.
- SharePlex와 함께 SSH를 사용하려면 SSH 구성 내에서 로컬 포트 전달(터널링이라고도 함)을 사용해야 합니다. 포트 전달을 사용하면 보안 SSH 세션을 설정한 후 이를 통해 TCP 연결을 터널링할 수 있습니다.
- SharePlex는 하나의 소스 시스템과 하나의 타겟 시스템 사이에서 SSH 소프트웨어와 작동하도록 구성할 수 있습니다. 소스가 여러 타겟에 복제되는 경우 경로 중 하나만 SSH로 구성할 수 있습니다.
- 이 기능은 Unix 및 Linux에서 지원됩니다.
SSH를 사용하도록 SharePlex를 설정하려면 다음을 수행합니다.
- 소스 및 타겟 시스템에서 터널 포트로 사용할 수 있는 로컬 포트를 선택합니다. 피어-투-피어 및 고가용성 복제의 경우 포트는 두 시스템 모두에서 동일한 번호여야 합니다. 다른 복제 전략의 경우 각 시스템에서 다른 포트를 선택합니다.
-
소스 시스템의 명령 프롬프트에서 다음 명령을 실행합니다. 이 명령은 타겟 시스템에 연결하여 터널을 설정합니다.
$ ssh -L source_port:target_host:target_port userid@target_host -N -f
여기서,
- -L은 로컬 호스트(클라이언트 역할을 함)의 지정된 포트가 원격 호스트 및 포트로 전달되도록 지정합니다.
- source_port는 소스 시스템의 포트 번호입니다.
- target_host는 타겟 시스템의 이름입니다.
- target_port는 타겟 시스템의 포트입니다.
- userid는 Unix 및 Linux 사용자 ID입니다. 비밀번호를 묻는 메시지가 표시됩니다.
- -N은 원격 명령을 실행하지 않도록 지정합니다. 이 명령은 포트를 전달하는 데만 사용됩니다(프로토콜 버전 2에만 해당).
- -f는 명령 실행 직전에 SSH 셸이 백그라운드에서 강제로 작동하도록 합니다. 이 인수를 생략하면 사용 중인 터미널 창을 열어 두어야 합니다. SSH는 nohup으로 시작할 수 없습니다.
이러한 명령에 대한 자세한 내용은 SSH 문서를 참조하십시오.
-
(여러 SharePlex 인스턴스를 사용하는 경우) 소스 시스템에서 SSH를 설정하려는 sp_cop 인스턴스에 대한 올바른 variable-data 디렉토리를 내보냅니다.
ksh 셸:
export SP_SYS_VARDIR=/full_path_of_variable-data_directory
csh 셸:
setenv SP_SYS_VARDIR=/full_path_of_variable-data_directory
- 소스 시스템에서 sp_cop을 시작합니다.
- 소스 시스템에서 product 디렉토리의 bin 하위 디렉토리에서 sp_ctrl을 실행합니다.
-
sp_ctrl에서 다음 방법 중 하나로 SP_XPT_USE_LOCALHOST 매개변수를 설정합니다.
여기서, host는 터널을 사용할 타겟 시스템의 이름입니다.
-
sp_ctrl에서 modified 옵션과 함께 list param 명령을 사용하여 매개변수 설정을 확인합니다. 설정이 올바르면 이 시점에서 구성을 활성화할 수 있습니다.
sp_ctrl> list param modified
-
활성 구성이 있는 경우 sp_cop을 중지했다가 시작하여 새 매개변수 설정을 활성화합니다.
sp_cop을 중지하려면 다음을 수행합니다.
sp_ctrl> shutdown /productdir/bin/sp_cop &
sp_cop을 시작하려면 다음을 수행합니다.
$ /productdir/bin/sp_cop &
SSL/TLS를 사용하고 싶지 않지만 Export와 Import 간에 데이터를 암호화하려는 경우 이 기능을 사용하여 암호화할 수 있습니다.
SharePlex는 네트워크를 통해 복제된 데이터를 암호화하도록 구성할 수 있습니다. SharePlex는 AES(Advanced Encryption Standard) 암호화를 사용합니다.
암호화 가이드라인
소스 및 타겟 시스템에서 암호화를 활성화해야 합니다. Export 프로세스를 통해 암호화를 활성화하고 키 크기를 설정합니다. 소스에서 암호화가 활성화되어 데이터가 암호화되지 않으면 네트워크를 통해 전송되지 않도록 Import 프로세스를 구성합니다.
암호화를 구성할 때에는 다음 가이드라인을 따릅니다.
- SharePlex 인스턴스의 모든 Export 프로세스에 대해 하나의 암호화 키를 사용합니다.
- 암호화를 사용하려면 SharePlex 버전이 9.1 이상이어야 합니다.
암호화 프로시저
소스 시스템에서 다음을 수행합니다.
-
Export 매개변수 SP_XPT_ENABLE_AES를 1로 설정합니다. 그러면 암호화가 활성화됩니다.
sp_ctrl> set param sp_xpt_enable_aes 1
-
create encryption key 명령을 실행하여 키를 생성합니다.
sp_ctrl> create encryption key
다음은 키의 예입니다.
E5F5D4CBA329D2C86B5D7ABA096C18600595490129F55A1422AAB0248B28D0E4
-
(선택 사항) SP_XPT_AES_KEY_LENGTH 매개변수를 설정하여 키 크기를 늘립니다.
create encryption key 명령은 무작위로 생성된 256비트 AES 키를 반환합니다. 기본적으로 SharePlex는 해당 길이의 128비트를 사용하여 데이터를 암호화합니다.
SharePlex가 사용하는 키 길이를 늘리려면 SP_XPT_AES_KEY_LENGTH 매개변수를 192비트 또는 256비트로 설정합니다. 길이를 늘리면 키를 해킹하기가 더 어려워지는 반면 더 많은 CPU 성능이 필요합니다.
sp_ctrl> set param sp_xpt_aes_key_length {192 | 256}
예: set param sp_xpt_aes_key_length 256
-
set encryption key 명령을 실행합니다. 그러면 Export 구성에 키가 추가됩니다.
sp_ctrl> set encryption key key_value
예: set encryption key E5F5D4CBA329D2C86B5D7ABA096C18600595490129F55A1422AAB0248B28D0E4
-
설정을 활성화하려면 Export를 재시작합니다.
sp_ctrl> stop export
sp_ctrl> start export
타겟 시스템에서 다음을 수행합니다.
-
SP_IMP_ENABLE_AES 매개변수를 1로 설정합니다. 이렇게 하면 타겟의 SharePlex가 암호화되지 않은 데이터를 수락하는 것을 방지할 수 있습니다.
-
Export에 설정한 것과 동일한 키 값을 사용하여 set encryption key 명령을 실행합니다. 소스와 타겟의 키 값이 일치해야 합니다.
sp_ctrl>set encryption key key_value
예: set encryption key E5F5D4CBA329D2C86B5D7ABA096C18600595490129F55A1422AAB0248B28D0E4
-
설정을 활성화하려면 Import를 재시작합니다.
sp_ctrl> stop import
sp_ctrl> start import
암호화 키 보기
두 키 값이 일치하는지 확인하려면 소스 및 타겟 시스템에서 이 명령을 실행합니다.
sp_ctrl> show encryption key