관리 UI에 TLS 구성

기본적으로 관리 서버 노드의 IP 주소와 포트 9000을 사용하여 HTTP를 통해 Edge UI에 액세스합니다. 예를 들면 다음과 같습니다.

http://ms_IP:9000

또는 다음 위치에서 액세스할 수 있도록 Edge UI에 대한 TLS 액세스를 구성할 수 있습니다. 양식:

https://ms_IP:9443

이 예에서는 포트 9443을 사용하도록 TLS 액세스를 구성합니다. 그러나 해당 포트 번호는 다른 포트 값을 사용하도록 관리 서버를 구성할 수 있습니다. 유일한 요구사항은 방화벽에서 지정된 포트를 통한 트래픽을 허용해야 한다는 점입니다.

TLS 포트가 열려 있는지 확인

이 섹션의 절차는 관리 서버에서 포트 9443을 사용하도록 TLS를 구성합니다. 사용하는 포트와 관계없이 관리에서 포트가 열려 있는지 확인해야 합니다. 서버. 예를 들어 다음 명령어를 사용하여 열 수 있습니다.

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose

TLS 구성

관리 UI에 대한 TLS 액세스를 구성하려면 다음 절차를 따르세요.

  1. TLS 인증서와 비공개 키가 포함된 키 저장소 JKS 파일을 생성하고 사본을 관리 서버 노드로 보냅니다 자세한 내용은 Edge 온프레미스용 TLS/SSL 구성을 참고하세요.
  2. 다음 명령어를 실행하여 TLS를 구성합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. HTTPS 포트 번호(예: 9443)를 입력합니다.
  4. 관리 UI에 대한 HTTP 액세스를 사용 중지할지 지정합니다. 기본적으로 관리 UI는 포트 9000의 HTTP를 통해 액세스할 수 있습니다.
  5. 키 저장소 알고리즘을 입력합니다. 기본값은 JKS입니다.
  6. 키 저장소 JKS 파일의 절대 경로를 입력합니다.

    스크립트는 파일을 관리 서버 노드의 /opt/apigee/customer/conf 디렉터리에 복사하고 파일의 소유권을 'apigee'로 변경합니다.

  7. 일반 텍스트 키 저장소 비밀번호를 입력합니다.
  8. 그러면 스크립트가 Edge 관리 UI를 다시 시작합니다. 재시작 후 관리 UI TLS를 통한 액세스를 지원합니다

    이 설정은 /opt/apigee/etc/edge-ui.d/SSL.sh에서 확인할 수 있습니다.

구성 파일을 사용하여 TLS 구성

위 절차의 대안으로, 구성 파일을 명령어에 전달할 수 있습니다. 사용할 수 있습니다. 선택적 TLS 속성을 설정하려면 이 메서드를 사용해야 합니다.

구성 파일을 사용하려면 새 파일을 만들고 다음 속성을 추가합니다.

HTTPSPORT=9443
DISABLE_HTTP=y
# Set type to PKCS12 if you are using a PKCS12 keystore
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

파일을 원하는 이름으로 로컬 디렉터리에 저장합니다. 다음 명령어를 사용하여 TLS를 구성합니다.

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

여기서 configFile는 저장한 파일의 전체 경로입니다.

FIPS 지원 운영체제에 PKCS12 키 저장소 사용

FIPS 지원 운영체제에서 프라이빗 클라우드용 Edge를 사용하는 경우 PKCS12 키 저장소를 사용해야 합니다. 표준 OpenSSL 명령어를 사용하여 PKCS12 키 저장소를 생성할 수 있습니다. PKCS12 키 저장소를 사용하는 경우 구성 파일에서 KEY_ALGO=PKCS12를 설정합니다.

TLS 사용 시 Edge UI 구성 부하 분산기에서 종료되며

요청을 Edge UI로 전달하는 부하 분산기가 있는 경우 부하 분산기에서 TLS 연결을 종료한 다음 부하 분산기가 전달하도록 에지 UI에 대한 요청을 HTTP를 통해 전송합니다 이 구성은 지원되지만 부하 분산기와 Edge UI를 적절하게 구성해야 합니다.

Edge UI에서 사용자가 생성될 때 또는 사용자가 분실한 비밀번호 재설정을 요청할 때 비밀번호를 설정하라는 이메일을 사용자에게 전송하는 경우 추가 구성이 필요합니다. 이 이메일에는 사용자가 비밀번호를 설정하거나 재설정하기 위해 선택하는 URL이 포함되어 있습니다. 기본적으로 Edge UI가 TLS를 사용하도록 구성되지 않은 경우 생성된 이메일의 URL은 HTTPS가 아닌 HTTP 프로토콜을 사용합니다. 부하 분산기 및 Edge UI를 구성하여 HTTPS를 사용합니다.

부하 분산기를 구성하려면 전달된 요청에 다음 헤더가 설정되어 있는지 확인하세요. 제공합니다.

X-Forwarded-Proto: https

Edge UI를 구성하려면 다음 안내를 따르세요.

  1. 편집기에서 /opt/apigee/customer/application/ui.properties 파일을 엽니다. 파일이 없으면 다음과 같이 만듭니다.
    vi /opt/apigee/customer/application/ui.properties
  2. ui.properties에서 다음 속성을 설정합니다.
    conf/application.conf+trustxforwarded=true
  3. ui.properties에 변경사항을 저장합니다.
  4. Edge UI를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

선택적 TLS 속성 설정

Edge UI는 다음을 설정하는 데 사용할 수 있는 선택적 TLS 구성 속성을 지원합니다.

  • 기본 TLS 프로토콜
  • 지원되는 TLS 프로토콜 목록
  • 지원되는 TLS 알고리즘
  • 지원되는 TLS 암호화

이러한 선택적 매개변수는 구성 파일을 사용하여 TLS 구성에 설명된 대로 구성 파일에서 다음 구성 속성을 설정하는 경우에만 사용할 수 있습니다.

TLS_CONFIGURE=y

다음 표에서는 이러한 속성을 설명합니다.

속성 설명
TLS_PROTOCOL Edge UI의 기본 TLS 프로토콜을 정의합니다. 기본값은 TLS 1.2입니다. 유효한 값은 TLSv1.2, TLSv1.1, TLSv1입니다.
TLS_ENABLED_PROTOCOL

사용 설정된 프로토콜 목록을 쉼표로 구분된 배열로 정의합니다. 예를 들면 다음과 같습니다.

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

' 있습니다.

기본적으로 모든 프로토콜이 사용 설정되어 있습니다.

TLS_DISABLED_ALGO

사용 중지된 암호화 모음을 정의하며 TLS 핸드셰이크에 작은 키 크기가 사용되지 않도록 하는 데도 사용할 수 있습니다. 기본값은 없습니다.

TLS_DISABLED_ALGO에 전달되는 값은 jdk.tls.disabledAlgorithms(여기에 설명됨) 그러나 TLS_DISABLED_ALGO를 설정할 때는 공백 문자를 이스케이프 처리해야 합니다.

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048
TLS_ENABLED_CIPHERS

사용 가능한 TLS 암호화 목록을 쉼표로 구분된 배열로 정의합니다. 예를 들면 다음과 같습니다.

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

' 있습니다.

사용 설정된 암호화 알고리즘의 기본 목록은 다음과 같습니다.

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

사용 가능한 암호화 목록 찾기 여기에서 확인할 수 있습니다.

TLS 프로토콜 사용 중지

TLS 프로토콜을 사용 중지하려면 구성 파일을 사용하여 TLS 구성에 설명된 구성 파일을 다음과 같이 수정해야 합니다.

  1. 편집기에서 구성 파일을 엽니다.
  2. 단일 TLS 프로토콜(예: TLSv1.0)을 사용 중지하려면 다음을 추가합니다. 구성 파일에 추가합니다.
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    여러 프로토콜을 비활성화하려면(예: TLSv1.0 및 TLSv1.1) 구성 파일에 다음을 추가합니다.

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. 변경사항을 구성 파일에 저장합니다.
  4. 다음 명령어를 실행하여 TLS를 구성합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    여기서 configFile는 구성 파일의 전체 경로입니다.

  5. Edge UI를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

보안 쿠키 사용

프라이빗 클라우드용 Apigee Edge는 다음의 경우 Set-Cookie 헤더에 secure 플래그를 추가하는 것을 지원합니다. 제공합니다 이 플래그가 있는 경우 쿠키는 TLS 지원 채널을 통해서만 전송할 수 있습니다. 이 속성이 없으면 보안 여부와 관계없이 모든 채널을 통해 쿠키를 전송할 수 있습니다.

secure 플래그가 없는 쿠키를 사용하면 공격자가 쿠키를 캡처하여 재사용하거나 활성 세션을 도용할 수 있습니다. 따라서 이 설정을 사용 설정하는 것이 좋습니다.

Edge UI 쿠키에 secure 플래그를 설정하려면 다음 안내를 따르세요.

  1. 텍스트 편집기에서 다음 파일을 엽니다.
    /opt/apigee/customer/application/ui.properties

    파일이 없으면 새로 만듭니다.

  2. 다음에서 conf_application_session.secure 속성을 true로 설정합니다. ui.properties 파일에 정의된 다음 예에 나와 있습니다.
    conf_application_session.secure=true
  3. 변경사항을 저장합니다.
  4. 다음 예와 같이 apigee-serice 유틸리티를 사용하여 Edge UI를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

변경사항이 적용되는지 확인하려면 curl와 같은 유틸리티를 사용하여 Edge UI의 응답 헤더를 확인합니다. 예를 들면 다음과 같습니다.

curl -i -v https://edge_UI_URL

헤더에는 다음과 같은 행이 포함되어야 합니다.

Set-Cookie: secure; ...

Edge UI에서 TLS 사용 중지

Edge UI에서 TLS를 사용 중지하려면 다음 명령어를 사용합니다.

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl