bind dns logodnssec logo 

GitHub : https://github.com/smilestory-net/dnssecrestore

DNSsec(Domain Name System Security Extensions)은 DNS 질의에 대한 응답을 암호화하여 위변조를 막는 중요한 보안 기술입니다. 하지만 특정 상황에서는 DNSsec 서명을 제거하고 일반적인 DNS 영역 파일로 되돌려야 할 필요가 있을 수 있습니다. 예를 들어, DNS 제공 업체를 변경하거나 DNSsec이 필요하지 않은 환경으로 이전할 때가 그렇습니다. 이 글에서는 Python 스크립트를 사용하여 DNSsec 서명된 영역 파일을 손쉽게 복원하는 방법을 단계별로 알려드립니다.

 

1단계: 준비물 확인하기

이 작업을 시작하기 전에 아래의 두 가지를 반드시 확인해 주세요.

  1. Python 3.12 이상 버전 설치: 스크립트가 Python 3.12 이상 환경에서 작동하도록 설계되었으므로, 해당 버전이 컴퓨터에 설치되어 있는지 확인해야 합니다.
  2. Restore_dnssec_zonefile.py 스크립트 및 DNSsec 영역 파일 다운로드: 작업에 필요한 restore_dnssec_zonefile.py 스크립트와 복원하려는 DNSsec 영역 파일을 같은 디렉터리에 준비해야 합니다.

2단계: 스크립트 설정하기

다운로드한 파일들을 준비한 후, 스크립트 파일을 열어 간단한 설정을 진행합니다.

  1. 텍스트 편집기(예: Visual Studio Code, Notepad++, Sublime Text 등)로 restore_dnssec_zonefile.py 파일을 엽니다.
  2. 소스 코드의 가장 상단에 있는 다음 줄을 찾습니다.
    input_file = 'input.txt'
    
  3. 여기서 input.txt 값을 복원하려는 DNSsec 영역 파일의 정확한 이름으로 변경합니다.예시: DNSsec 영역 파일의 이름이 example.com.zone 이라면, 아래와 같이 수정해야 합니다.
    input_file = 'example.com.zone'
    
  4. 파일을 수정한 후 저장하고 편집기를 닫습니다.

3단계: 스크립트 실행하여 영역 파일 복원하기

이제 설정이 완료되었으므로, 스크립트를 실행하여 DNSsec 서명을 제거할 차례입니다.

  1. 파일들이 있는 디렉터리에서 명령 프롬프트(CMD) 또는 쉘(SHELL) 을 엽니다.
  2. 다음 명령어를 입력하고 엔터 키를 누릅니다.
    py restore_dnssec_zonefile.py
    
  3. 스크립트가 실행되면 DNSsec 레코드(RRSIG, DNSKEY 등)가 제거되고, 순수한 DNS 레코드만 남은 새로운 영역 파일이 생성됩니다.

4단계: 결과 확인하기

스크립트 실행이 완료되면, 동일한 디렉터리 내에 output.txt 라는 파일이 새로 생성됩니다. 이 파일은 DNSsec 서명이 제거된, 완전히 복원된 DNS 영역 콘텐츠를 담고 있습니다. 이제 이 파일을 필요한 곳에 사용하시면 됩니다.