Cloud/AWS

Route53 DNSSEC

ISFJ 개발자의 이야기 2026. 1. 5. 19:43

이번 블로그에서는 DNS 스푸핑 등 여러가지 DNS공격을 막기위한 장치인 Route53 DNSSEC에 대한 글을 작성해보겠습니다.

 

공격자는 DNS 쿼리를 가로채고 인터넷 엔드포인트의 실제 IP 주소 대신 자신의 IP 주소를 DNS 해석기로 반환하여 웹 서버와 같은 인터넷 엔드포인트로 전송되는 트래픽을 가로챕니다. 그러면 사용자는 공격자가 웹 사이트를 위조하기 위해 스푸핑한 응답의 IP 주소로 라우팅됩니다.

 

DNS 트래픽을 보호하는 프로토콜인 DNSSEC(Domain Name System Security Extensions)를 구성하여 DNS 스푸핑 또는 메시지 가로채기(man-in-the-middle) 공격으로 알려진 이러한 유형의 공격으로부터 도메인을 보호할 수 있습니다.

 

구축 방안

  • DNS 설정은 가비아를 기준으로 설명합니다.

먼저 구매한 도메인에 대한 Public Hosted Zone을 생성 후 네임서버를 아래의 사진과 같이 등록해줘야합니다.

아래의 표시된 정보를 복사 후 입력해주면 됩니다.

아래의 사진과 같이 가비아에서 등록해주면 됩니다.

 

다음으로 us-east-1 리전에서 KMS 키를 생성해줘야 합니다. 아래의 사진처럼 비대칭키 > 서명 및 확인 > ECC_NIST_P256를 선택합니다.

Alias와 Name Tag를 달아 알아보기 쉽도록 작성하였습니다.

나머지는 기본값으로 두고 다음으로 계속 넘어가주면 됩니다.

마찬가지로 다음으로 넘어가줍니다.

넘어가다 보면 정책을 설정하는 부분이 있는데 아래의 코드와 같이 작성해줘야합니다.

  • ACCOUNT_ID는 변경이 필요합니다.
{
    "Version": "2012-10-17",
    "Id": "key-default-1",
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::ACCOUNT_ID:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow Route 53 DNSSEC Service",
            "Effect": "Allow",
            "Principal": {
                "Service": "dnssec-route53.amazonaws.com"
            },
            "Action": [
                "kms:DescribeKey",
                "kms:GetPublicKey",
                "kms:Sign"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow Route 53 DNSSEC to CreateGrant",
            "Effect": "Allow",
            "Principal": {
                "Service": "dnssec-route53.amazonaws.com"
            },
            "Action": "kms:CreateGrant",
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": "true"
                }
            }
        }
    ]
}

이제 다음으로 넘어가 KMS 키를 생성해주면 됩니다.

다시 Route53 으로 돌아와 DNSSEC signing 메뉴에서 Enable DNSSEC을 선택해줍니다.

아래의 사진처럼 Provide KSK name은 name으로 입력 후 생성했던 KMS를 선택 및 Create를 해줍니다.

Create를 해주었다면 아래의 사진과 같이 Signing으로 변화된 모습을 확인 할 수 있습니다.

이제 마지막으로 DS레코드를 생성해야합니다. 아래의 사진처럼 View DS record를 선택해 정보를 확인해줍니다.

정보를 확인 후 가비아 도메인 통합 관리툴을 선택해줍니다.

DNSSEC을 선택해주고 도메인을 선택해줍니다.

위에서 확인했던 정보를 아래의 사진과 같이 입력후 적용해줍니다.

성공적으로 설정을 했다면 아래의 사진과 같이 처리 성공이라는 문구를 확인할 수 있습니다.

 

이것으로 Route53 DNSSEC에 대한 글을 마치겠습니다. 감사합니다!

 

[참고]

https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/domain-configure-dnssec.html

'Cloud > AWS' 카테고리의 다른 글

Route53 DNS Query Logging  (0) 2026.01.03
EC2 Connect Endpoint  (0) 2025.12.31
Event Bridge를 이용해 ECR Image Push 감지 후 서버 실행하기  (0) 2025.10.02
EC2 Hop Limit  (0) 2025.09.30
Lambda Git Actions CICD Pipeline  (0) 2025.09.27