기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
HTTP Application Load Balancer에 대한 헤더 수정
HTTP 헤더 수정은 요청 헤더와 응답 헤더 모두에 대해 Application Load Balancer에서 지원됩니다. 애플리케이션 코드를 업데이트할 필요 없이 헤더 수정을 통해 애플리케이션 트래픽 및 보안을 더 잘 제어할 수 있습니다.
헤더 이름 바꾸기
헤더 이름 바꾸기 기능을 사용하면 Application Load Balancer가 생성하여 요청에 추가하는 모든 전송 계층 보안(TLS) 헤더의 이름을 변경할 수 있습니다. 여기에는 mTLS 헤더 6개와 TLS 헤더 버전 및 암호 2개가 포함됩니다.
이렇게 HTTP 헤더를 수정할 수 있으므로 Application Load Balancer는 특정 형식의 요청 및 응답 헤더를 사용하는 애플리케이션을 쉽게 지원할 수 있습니다.
헤더 | 설명 |
---|---|
X-Amzn-Mtls-Clientcert-Serial-Number |
대상이 TLS 핸드셰이크 중에 클라이언트가 제공하는 특정 인증서를 식별하고 확인할 수 있는지 확인합니다. |
X-Amzn-Mtls-Clientcert-Issuer |
인증서를 발급한 인증 기관을 식별하여 대상에서 클라이언트 인증서를 검증하고 인증하는 데 도움이 됩니다. |
X-Amzn-Mtls-Clientcert-Subject |
대상에 클라이언트 인증서가 발급된 개체에 대한 자세한 정보를 제공하여 mTLS 인증 중에 식별, 인증, 권한 부여 및 로깅에 도움이 됩니다. |
X-Amzn-Mtls-Clientcert-Validity |
대상에서 사용 중인 클라이언트 인증서가 정의된 유효 기간 내에 있는지 확인할 수 있도록 허용하여 인증서가 만료되거나 조기에 사용되지 않도록 합니다. |
X-Amzn-Mtls-Clientcert-Leaf |
mTLS 핸드셰이크에 사용되는 클라이언트 인증서를 제공하여 서버가 클라이언트를 인증하고 인증서 체인을 검증할 수 있도록 합니다. 이렇게 하면 연결이 안전하고 승인됩니다. |
X-Amzn-Mtls-Clientcert |
전체 클라이언트 인증서를 처리합니다. mTLS 핸드셰이크 프로세스 중에 대상이 인증서의 신뢰성을 확인하고, 인증서 체인을 검증하고, 클라이언트를 인증하도록 허용합니다. |
X-Amzn-TLS-버전 |
연결에 사용되는 TLS 프로토콜의 버전을 나타냅니다. 이를 통해 통신의 보안 수준을 확인하고, 연결 문제를 해결하고, 규정 준수를 보장할 수 있습니다. |
X-Amzn-TLS-Cipher-Suite |
에서 연결을 보호하는 데 사용되는 암호화 알고리즘의 조합을 나타냅니다TLS. 이렇게 하면 서버가 연결의 보안을 평가하여 호환성 문제를 해결하고 보안 정책 준수를 보장할 수 있습니다. |
Application Load Balancer 리스너가 요청 헤더의 이름을 바꾸도록 하려면 다음 명령을 사용합니다.
aws elbv2 modify-listener-attributes \
--listener-arn ARN
\
--attributes Key="routing.http.request.actual_header_field_name
.header_name",Value="desired_header_field_name
"
헤더 삽입
헤더 삽입을 사용하여 응답에 보안 관련 헤더를 추가하도록 Application Load Balancer를 구성할 수 있습니다. HSTS, 및를 포함한 10개의 새 속성을 사용하여 헤더를 삽입할 수 CORS있습니다CSP.
이러한 모든 헤더의 기본값은 비어 있습니다. 이 경우 Application Load Balancer는이 응답 헤더를 수정하지 않습니다.
헤더 | 설명 |
---|---|
Strict-Transport-Security |
지정된 기간 동안 브라우저에 의한 HTTPS연결만 적용하므로 공격, 프로토콜 다운그레이드 및 사용자 오류로부터 man-in-the-middle 보호할 수 있습니다. 클라이언트와 대상 간의 모든 통신이 암호화되도록 합니다. |
Access-Control-Allow-Origin |
대상의 리소스에 다른 오리진에서 액세스할 수 있는지 여부를 제어합니다. 이렇게 하면 무단 액세스를 방지하면서 보안 교차 오리진 상호 작용을 수행할 수 있습니다. |
Access-Control-Allow-Methods |
대상에 교차 오리진 요청을 수행할 때 허용되는 HTTP 메서드를 지정합니다. 서로 다른 오리진에서 수행할 수 있는 작업을 제어할 수 있습니다. |
Access-Control-Allow-Headers |
교차 오리진 요청에 포함할 수 있는 사용자 지정 헤더 또는 단순하지 않은 헤더를 지정합니다. 이 헤더는 대상에 서로 다른 오리진의 클라이언트가 전송할 수 있는 헤더를 제어할 수 있는 권한을 부여합니다. |
Access-Control-Allow-Credentials |
클라이언트가 교차 오리진 요청에 쿠키, HTTP 인증 또는 클라이언트 인증서와 같은 자격 증명을 포함해야 하는지 여부를 지정합니다. |
Access-Control-Expose-Headers |
대상이 교차 오리진 요청에서 클라이언트가 액세스할 수 있는 추가 응답 헤더를 지정할 수 있습니다. |
Access-Control-Max-Age |
브라우저가 비행 전 요청의 결과를 캐싱할 수 있는 기간을 정의하여 비행 전 검사를 반복할 필요가 없습니다. 이를 통해 특정 교차 오리진 OPTIONS 요청에 필요한 요청 수를 줄여 성능을 최적화할 수 있습니다. |
Content-Security-Policy |
웹 사이트에서 로드 및 실행할 수 있는 스크립트, 스타일, 이미지 등과 같은 리소스를 제어XSS하여 코드 삽입 공격을 방지하는 보안 기능입니다. |
X-Content-Type-Options |
는 스니프 없는 명령을 사용하여 브라우저가 리소스 MIME 유형을 추측하지 못하도록 하여 웹 보안을 강화합니다. 브라우저는 선언된 콘텐츠 유형에 따라 콘텐츠만 해석합니다. |
X-Frame-Options |
웹 페이지를 프레임에 포함할 수 있는지 여부를 제어하여 클릭 잭킹 공격을 방지하는 데 도움이 되는 헤더 보안 메커니즘입니다. DENY 및와 같은 값은 콘텐츠가 악성 또는 신뢰할 수 없는 웹 사이트에 내장되지 않도록 할 SAMEORIGIN 수 있습니다. |
HSTS 헤더를 삽입하도록 Application Load Balancer 리스너를 구성하려면 다음 명령을 사용합니다.
aws elbv2 modify-listener-attributes \
--listener-arn ARN
\
--attributes Key="routing.http.response.strict_transport_security.header_value",Value="max-age=time_in_sec
;includeSubdomains;preload;"
헤더 비활성화
헤더 비활성화를 사용하여 응답에서 server:awselb/2.0
헤더를 비활성화하도록 Application Load Balancer를 구성할 수 있습니다. 이렇게 하면 애플리케이션에 추가 보호 계층을 추가하는 동시에 서버별 정보의 노출이 줄어듭니다.
속성 이름은 입니다routing.http.response.server.enabled
. 사용 가능한 값은 true
또는 입니다false
. 기본값은 true
입니다.
다음 명령을 사용하여 server
헤더를 삽입하지 않도록 Application Load Balancer 리스너를 구성합니다.
aws elbv2 modify-listener-attributes \
--listener-arn ARN
\
--attributes Key="routing.http.response.server.enabled",Value=false
제한:
-
헤더 값에는 다음 문자가 포함될 수 있습니다.
-
영숫자:
a-z
, 및A-Z
0-9
-
특수 문자:
_ :;.,\/'?!(){}[]@<>=-+*#&`|~^%
-
-
속성 값은 크기가 1K바이트를 초과할 수 없습니다.
-
Elastic Load Balancing은 기본 입력 검증을 수행하여 헤더 값이 유효한지 확인합니다. 그러나 검증은 값이 특정 헤더에 대해 지원되는지 확인할 수 없습니다.
-
속성에 빈 값을 설정하면 Application Load Balancer가 기본 동작으로 되돌아갑니다.
-
헤더는 코드 2xx 또는 3xx가 있는 HTTP 응답에만 삽입됩니다.
자세한 내용은 리스너 속성 단원을 참조하십시오.