AWS SDK for JavaScript V3 API 참조 가이드에서는 버전 3(V3)의 모든 API 작업에 대해 AWS SDK for JavaScript 자세히 설명합니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
최소 TLS 버전 적용
AWS 서비스와 통신할 때 보안을 강화하려면 TLS 1.2 이상을 사용하도록 AWS SDK for JavaScript 를 구성합니다.
AWS SDK for JavaScript v3는 지정된 AWS 서비스 엔드포인트에서 지원하는 최상위 TLS 버전을 자동으로 협상합니다. 선택적으로 TLS 1.2 또는 1.3과 같이 애플리케이션에 필요한 최소 TLS 버전을 적용할 수 있지만, 일부 AWS 서비스 엔드포인트에서는 TLS 1.3이 지원되지 않으므로 TLS 1.3을 적용하면 일부 호출이 실패할 수 있습니다.
전송 계층 보안(TLS)은 웹 브라우저 및 기타 애플리케이션에서 네트워크를 통해 교환되는 데이터의 프라이버시와 무결성을 보장하기 위해 사용하는 프로토콜입니다.
Node.js에서 TLS 확인 및 적용
Node.js AWS SDK for JavaScript 와 함께를 사용하는 경우 기본 Node.js 보안 계층을 사용하여 TLS 버전을 설정합니다.
Node.js 12.0.0 이상에서는 TLS 1.3을 지원하는 최소 버전의 OpenSSL 1.1.1b를 사용합니다. AWS SDK for JavaScript v3는 사용 가능한 경우 기본적으로 TLS 1.3을 사용하지만 필요한 경우 기본적으로 더 낮은 버전으로 설정됩니다.
OpenSSL 및 TLS 버전 확인
컴퓨터에서 Node.js에서 사용하는 OpenSSL 버전을 가져오려면 다음 명령을 실행합니다.
node -p process.versions
목록의 OpenSSL 버전은 다음 예제와 같이 Node.js에서 사용하는 버전입니다.
openssl: '1.1.1b'
컴퓨터에서 Node.js에서 사용하는 TLS 버전을 가져오려면 노드 쉘을 시작하고 다음 명령을 순서대로 실행합니다.
>
var tls = require("tls");
>
var tlsSocket = new tls.TLSSocket();
>
tlsSocket.getProtocol();
다음 예제와 같이 마지막 명령은 TLS 버전을 출력합니다.
'TLSv1.3'
Node.js는 기본적으로이 버전의 TLS를 사용하며, 호출에 실패하면 다른 버전의 TLS를 협상하려고 합니다.
최소 버전의 TLS 적용
Node.js는 호출이 실패할 때 TLS 버전을 협상합니다. 명령줄에서 스크립트를 실행할 때 또는 JavaScript 코드의 요청에 따라이 협상 중에 허용되는 최소 TLS 버전을 적용할 수 있습니다.
명령줄에서 최소 TLS 버전을 지정하려면 Node.js 버전 11.0.0 이상을 사용해야 합니다. 특정 Node.js 버전을 설치하려면 먼저, Node version manager installing and updating에 있는 단계를 사용하여 Node Version Manager(nvm)를 설치합니다. 그런 다음, 다음 명령을 실행하여 특정 버전의 Node.js를 설치하고 사용합니다.
nvm install 11
nvm use 11
- Enforce TLS 1.2
-
TLS 1.2가 허용되는 최소 버전임을 적용하려면 다음 예제와 같이 스크립트를 실행할 때 --tls-min-v1.2
인수를 지정합니다.
node --tls-min-v1.2 yourScript
.js
TLS 코드의 특정 요청에 허용되는 최소 JavaScript 버전을 지정하려면 다음 예제와 같이 httpOptions
파라미터를 사용하여 프로토콜을 지정합니다.
import https from "https";
import { NodeHttpHandler } from "@smithy/node-http-handler";
import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
const client = new DynamoDBClient({
region: "us-west-2",
requestHandler: new NodeHttpHandler({
httpsAgent: new https.Agent(
{
secureProtocol: 'TLSv1_2_method'
}
)
})
});
- Enforce TLS 1.3
-
TLS 1.3이 허용되는 최소 버전임을 적용하려면 다음 예제와 같이 스크립트를 실행할 때 --tls-min-v1.3
인수를 지정합니다.
node --tls-min-v1.3 yourScript
.js
TLS 코드의 특정 요청에 허용되는 최소 JavaScript 버전을 지정하려면 다음 예제와 같이 httpOptions
파라미터를 사용하여 프로토콜을 지정합니다.
import https from "https";
import { NodeHttpHandler } from "@smithy/node-http-handler";
import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
const client = new DynamoDBClient({
region: "us-west-2",
requestHandler: new NodeHttpHandler({
httpsAgent: new https.Agent(
{
secureProtocol: 'TLSv1_3_method'
}
)
})
});
브라우저 스크립트에서 TLS 확인 및 적용
브라우저 스크립트에서 SDK for JavaScript 를 사용하는 경우 브라우저 설정은 사용되는 TLS 버전을 제어합니다. 브라우저에서 사용하는 TLS 버전은 스크립트로 검색하거나 설정할 수 없으며 사용자가 구성해야 합니다. 브라우저 스크립트에 사용되는 TLS 버전을 확인하고 적용하려면 특정 브라우저의 지침을 참조하세요.
- Microsoft Internet Explorer
-
-
Internet Explorer를 엽니다.
-
메뉴 모음에서 도구 – 인터넷 옵션 – 고급 탭을 선택합니다.
-
보안 범주까지 아래로 스크롤하여 TLS 1.2 사용 옵션 상자를 수동으로 선택합니다.
-
확인을 클릭합니다.
-
브라우저를 닫고 Internet Explorer를 다시 시작합니다.
- Microsoft Edge
-
-
Windows 메뉴 검색 상자에 Internet options
.
-
가장 일치하는 항목에서 인터넷 옵션을 클릭합니다.
-
인터넷 속성 창의 고급 탭에서 보안 섹션까지 아래로 스크롤합니다.
-
User TLS 1.2 확인란을 선택합니다.
-
확인을 클릭합니다.
- Google Chrome
-
-
Google Chrome을 엽니다.
-
Alt F를 클릭하고 설정을 선택합니다.
-
아래로 스크롤하여 고급 설정 표시를 선택합니다.
-
시스템 섹션까지 아래로 스크롤하여 프록시 설정 열기를 클릭합니다.
-
고급 탭을 선택합니다.
-
보안 범주까지 아래로 스크롤하여 TLS 1.2 사용 옵션 상자를 수동으로 선택합니다.
-
확인을 클릭합니다.
-
브라우저를 닫고 Google Chrome을 다시 시작합니다.
- Mozilla Firefox
-
-
Firefox를 엽니다.
-
주소 표시줄에 about:config를 입력하고 Enter 키를 누릅니다.
-
검색 필드에 tls를 입력합니다. security.tls.version.min의 항목을 찾아 두 번 클릭합니다.
-
TLS 1.2의 프로토콜을 기본값으로 강제 적용하려면 정수 값을 3으로 설정합니다.
-
확인을 클릭합니다.
-
브라우저를 닫고 Mozilla Firefox를 다시 시작합니다.
- Apple Safari
-
SSL 프로토콜을 활성화하는 옵션은 없습니다. Safari 버전 7 이상을 사용하는 경우 TLS 1.2가 자동으로 활성화됩니다.