검색

9.3. 발신 연결 보안

download PDF

라우터가 외부 AMQP 컨테이너(예: 메시지 브로커)에 대한 연결을 생성하도록 구성된 경우 다음 방법을 사용하여 연결을 보호할 수 있습니다.

9.3.1. 단방향 SSL/TLS 인증을 사용하여 연결

단방향 SSL/TLS를 사용하여 외부 AMQP 컨테이너(예: 브로커)에 연결할 수 있습니다. 이 방법을 사용하면 라우터에서 외부 AMQP 컨테이너의 서버 인증서를 확인하여 ID를 확인합니다.

절차

  1. /etc/qpid-dispatch/qdrouterd.conf 구성 파일을 엽니다.
  2. 라우터에 외부 AMQP 컨테이너의 ID를 확인하는 데 사용할 수 있는 인증서를 정의하는 sslProfile 이 포함되어 있지 않은 경우 이를 추가합니다.

    sslProfile {
        name: broker-tls
        caCertFile: /etc/qpid-dispatch-certs/ca.crt
        ...
    }
    name
    sslProfile 을 참조하는 데 사용할 수 있는 고유한 이름입니다.
    caCertFile
    외부 AMQP 컨테이너의 ID를 확인하는 데 사용되는 CA 인증서의 절대 경로입니다.
  3. SSL/TLS를 사용하도록 이 연결에 대한 커넥터 를 구성하여 SSL 핸드셰이크 중에 브로커가 수신한 서버 인증서의 유효성을 검사합니다.

    이 예제에서는 브로커에 대한 커넥터 를 구성합니다. 라우터가 브로커에 연결하면 broker-tls sslProfile 에 정의된 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에서 서명해야 합니다.

절차

  1. /etc/qpid-dispatch/qdrouterd.conf 구성 파일을 엽니다.
  2. 라우터에 외부 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
  3. 생성한 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> 명령을 사용합니다.

절차

  1. /etc/qpid-dispatch/qdrouterd.conf 구성 파일을 엽니다.
  2. 외부 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
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.