관리 UI에 TLS 구성

Private Cloud용 Edge v4.19.01

기본적으로 관리 서버 노드 및 포트 9000. 예를 들면 다음과 같습니다.

http://ms_IP:9000

또는 관리 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
<ph type="x-smartling-placeholder">

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
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는 저장한 파일의 전체 경로입니다.

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

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

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

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

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

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

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