9장. 네트워크 연결 보안
라우터 연결을 인증하고 암호화하여 안전한 방식으로 클라이언트, 라우터 및 브로커와 통신하도록 AMQ Interconnect를 구성할 수 있습니다. AMQ Interconnect는 다음 보안 프로토콜을 지원합니다.
- 인증서 기반 암호화 및 상호 인증을 위한 SSL/TLS
- 메커니즘을 사용한 인증을 위한 SASL
다음 중 하나를 보호하도록 SSL/TLS, SASL(또는 두 가지의 조합)을 구성합니다.
9.1. 라우터 간 연결 보안
내부 라우터 간 연결은 인증되지 않은 라우터(또는 라우터라고 함)가 네트워크에 참여하지 못하도록 SSL/TLS 암호화 및 인증(mutual authentication이라고도 함)으로 보호되어야 합니다.
SSL/TLS 상호 인증에는 각 내부 라우터에 대해 생성된 개별 인증서가 있는 X.509 인증 기관(CA)이 필요합니다. 내부 라우터 간 연결은 암호화되며 CA는 들어오는 각 라우터 간 연결을 인증합니다.
이 절차에서는 SSL/TLS 상호 인증을 사용하여 두 개의 내부 라우터 간 연결을 보호하는 방법을 설명합니다.
사전 요구 사항
- 내부 라우터에는 X.509 인증 기관이 있어야 합니다.
- 각 라우터에 대해 보안 인증서를 생성하고 CA에서 서명해야 합니다.
라우터 간에 라우터 간 연결이 있어야 합니다.
자세한 내용은 8.1절. “라우터 연결”의 내용을 참조하십시오.
절차
연결을 설정하는 라우터에서 다음을 수행합니다.
-
/etc/qpid-dispatch/qdrouterd.conf
를 엽니다. 라우터에 라우터 간 네트워크의 개인 키와 인증서를 정의하는
sslProfile
이 포함되어 있지 않은 경우 하나를 추가합니다.이
sslProfile
에는 개인 키의 위치와 라우터가 피어로 인증하는 데 사용하는 인증서가 포함되어 있습니다.sslProfile { name: inter-router-tls certFile: /etc/pki/tls/certs/tls.crt caCertFile: /etc/pki/tls/certs/ca.crt privateKeyFile: /etc/pki/tls/private/tls.key password: file:/etc/pki/tls/private/password.txt ... }
name
-
이
sslProfile
을 참조하는 데 사용할 수 있는 고유한 이름입니다. certFile
- 이 라우터의 공용 인증서가 포함된 파일의 절대 경로입니다.
caCertFile
- 라우터가 들어오는 클라이언트를 인증하는 데 사용하는 CA 인증서의 절대 경로입니다.
privateKeyFile
이 라우터의 공용 인증서에 대한 개인 키가 포함된 파일의 절대 경로입니다.
참고qdrouterd
또는 root 사용자가 개인 키에 액세스할 수 있는지 확인합니다. 예를 들면 다음과 같습니다.chmod 0600 /etc/pki/tls/private/tls.key chown qdrouterd /etc/pki/tls/private/tls.key
암호
인증서 키의 잠금을 해제하는 암호입니다. 인증서 키에 암호가 없는 경우 이를 지정할 필요가 없습니다. 다른 접두사를 사용하여 보안 요구 사항에 따라 암호를 여러 가지 방법으로 지정할 수 있습니다.
암호가 포함된 파일의 절대 경로를 지정합니다. 암호가 포함된 파일에 대한 권한을 설정할 수 있으므로 가장 안전한 옵션입니다. 예를 들면 다음과 같습니다.
password: file:/etc/qpid-dispatch-certs/inter-router/password.txt
암호를 저장하는 환경 변수를 지정합니다. 다른 프로세스의 환경이 특정 플랫폼에 표시되므로 이 옵션을 신중하게 사용합니다. 예를 들면 다음과 같습니다.
password: env:CERT_PASSWORD
암호를 일반 텍스트로 지정합니다. 이 옵션은 안전하지 않으므로 보안이 우려되지 않은 경우에만 사용해야 합니다. 예를 들면 다음과 같습니다.
password: pass:mycertpassword
생성한
sslProfile
을 사용하도록 이 연결에 대한 라우터 간커넥터
를 구성합니다.connector { host: 192.0.2.1 port: 5001 role: inter-router sslProfile: inter-router-tls ... }
sslProfile
-
라우터 간 네트워크의 SSL/TLS 개인 키 및 인증서를 정의하는
sslProfile
의 이름입니다.
-
연결을 수신 대기하는 라우터에서 다음을 수행합니다.
-
/etc/qpid-dispatch/qdrouterd.conf
를 엽니다. -
라우터에 라우터 간 네트워크의 개인 키와 인증서를 정의하는
sslProfile
이 포함되어 있지 않은 경우 하나를 추가합니다. 연결을 보호하도록 이 연결에 대한 라우터 간
리스너
를 SSL/TLS를 사용합니다.listener { host: 0.0.0.0 port: 5001 role: inter-router sslProfile: inter_router_tls authenticatePeer: yes requireSsl: yes saslMechanisms: EXTERNAL ... }
sslProfile
-
라우터 간 네트워크의 SSL/TLS 개인 키 및 인증서를 정의하는
sslProfile
의 이름입니다. authenticatePeer
-
피어 내부 라우터의 ID를 인증하려면
yes
를 지정합니다. requireSsl
-
SSL/TLS를 통한 연결을 암호화하려면
yes
를 지정합니다. saslMechanisms
-
X.509 클라이언트 인증서 인증을 활성화하려면
EXTERNAL
을 지정합니다.
-