9.3. 발신 연결 보안
라우터가 외부 AMQP 컨테이너(예: 메시지 브로커)에 대한 연결을 생성하도록 구성된 경우 다음 방법을 사용하여 연결을 보호할 수 있습니다.
9.3.1. 단방향 SSL/TLS 인증을 사용하여 연결 링크 복사링크가 클립보드에 복사되었습니다!
단방향 SSL/TLS를 사용하여 외부 AMQP 컨테이너(예: 브로커)에 연결할 수 있습니다. 이 방법을 사용하면 라우터에서 외부 AMQP 컨테이너의 서버 인증서를 확인하여 ID를 확인합니다.
절차
-
/etc/qpid-dispatch/qdrouterd.conf구성 파일을 엽니다. 라우터에 외부 AMQP 컨테이너의 ID를 확인하는 데 사용할 수 있는 인증서를 정의하는
sslProfile이 포함되어 있지 않은 경우 이를 추가합니다.sslProfile { name: broker-tls caCertFile: /etc/qpid-dispatch-certs/ca.crt ... }name-
이
sslProfile을 참조하는 데 사용할 수 있는 고유한 이름입니다. caCertFile- 외부 AMQP 컨테이너의 ID를 확인하는 데 사용되는 CA 인증서의 절대 경로입니다.
SSL/TLS를 사용하도록 이 연결에 대한
커넥터를 구성하여 SSL 핸드셰이크 중에 브로커가 수신한 서버 인증서의 유효성을 검사합니다.이 예제에서는 브로커에 대한
커넥터를 구성합니다. 라우터가 브로커에 연결하면broker-tlssslProfile에 정의된 CA 인증서를 사용하여 브로커에서 수신한 서버 인증서의 유효성을 검사합니다.connector { host: 192.0.2.1 port: 5672 role: route-container sslProfile: broker-tls ... }sslProfile-
외부 AMQP 컨테이너의 ID를 확인하는 데 사용할 인증서를 정의하는
sslProfile의 이름입니다.
9.3.2. 상호 SSL/TLS 인증을 사용하여 연결 링크 복사링크가 클립보드에 복사되었습니다!
상호 SSL/TLS 인증을 사용하여 외부 AMQP 컨테이너(예: 브로커)에 연결할 수 있습니다. 이 방법을 사용하면 라우터에서 클라이언트 역할을 하며 외부 AMQP 컨테이너에 인증서를 제공하므로 라우터의 ID를 확인할 수 있습니다.
사전 요구 사항
- 라우터에는 X.509 인증 기관(CA)이 있어야 합니다.
- 라우터용 보안 인증서를 생성해야 하며 CA에서 서명해야 합니다.
절차
-
/etc/qpid-dispatch/qdrouterd.conf구성 파일을 엽니다. 라우터에 외부 AMQP 컨테이너에 연결할 개인 키와 인증서를 정의하는
sslProfile이 포함되어 있지 않은 경우 하나를 추가합니다.이
sslProfile에는 개인 키의 위치와 라우터에서 피어로 인증하는 데 사용해야 하는 인증서가 포함되어 있습니다.sslProfile { name: broker-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: 5672 role: route-container sslProfile: broker-tls saslMechanisms: EXTERNAL ... }sslProfile-
라우터 간 네트워크의 SSL/TLS 개인 키 및 인증서를 정의하는
sslProfile의 이름입니다.
9.3.3. 사용자 이름 및 암호 인증을 사용하여 연결 링크 복사링크가 클립보드에 복사되었습니다!
SASL PLAIN 메커니즘을 사용하여 사용자 이름과 암호가 필요한 외부 AMQP 컨테이너에 연결할 수 있습니다. 이 방법을 자체적으로 사용하거나 SSL/TLS 암호화와 결합할 수 있습니다.
사전 요구 사항
cyrus-sasl-plain플러그인이 설치됩니다.Cyrus SASL은 플러그인을 사용하여 특정 SASL 메커니즘을 지원합니다. 특정 SASL 메커니즘을 사용하려면 먼저 관련 플러그인을 설치해야 합니다.
Red Hat Enterprise Linux의 Cyrus SASL 플러그인 목록을 보려면
yum search cyrus-sasl명령을 사용합니다. Cyrus SASL 플러그인을 설치하려면yum install < plugin> 명령을사용합니다.
절차
-
/etc/qpid-dispatch/qdrouterd.conf구성 파일을 엽니다. 외부 AMQP 컨테이너에 사용자 이름 및 암호 자격 증명을 제공하도록 이 연결에 대한
커넥터를 구성합니다.connector { host: 192.0.2.1 port: 5672 role: route-container saslMechanisms: PLAIN saslUsername: user saslPassword: file:/path/to/file/password.txt }saslPassword피어에 연결할 암호입니다. 다른 접두사를 사용하여 보안 요구 사항에 따라 암호를 여러 가지 방법으로 지정할 수 있습니다.
암호가 포함된 파일의 절대 경로를 지정합니다. 암호가 포함된 파일에 대한 권한을 설정할 수 있으므로 가장 안전한 옵션입니다. 예를 들면 다음과 같습니다.
password: file:/path/to/file/password.txt암호를 저장하는 환경 변수를 지정합니다. 다른 프로세스의 환경이 특정 플랫폼에 표시되므로 이 옵션을 신중하게 사용합니다. 예를 들면 다음과 같습니다.
password: env:PASSWORD암호를 일반 텍스트로 지정합니다. 이 옵션은 안전하지 않으므로 보안이 우려되지 않은 경우에만 사용해야 합니다. 예를 들면 다음과 같습니다.
password: pass:mypassword