일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- EDNS Client Subnet
- ANY질의차단
- iptables
- DNS 메시지 압축
- DNS증폭DDoS공격
- Label
- Domain Name
- FQDN
- DNSSEC
- root label
- 루트 레이블
- tips
- DNS
- DNS질의로그
- 도메인이름
- BIND query log
- 루트힌트
- hostname
- Fully Qualified Domain Name
- TSIG
- 인버스도메인
- DNS Message Compression
- DNS Cookies
- 설정
- BIND DNS
- BIND 질의로그
- SOA 레코드
- 레이블
- EDNS
- 보안
- Today
- Total
DNS Lab.
BIND DNS 네임서버는 수신된 DNS 질의내역을 로그 파일로 기록할 수 있습니다. 이 포스팅은 현 시점의 BIND 버전(9.16)을 기준으로, 질의 로그에 실려있는 정보 항목을 될 수 있는 한 상세하게 보여주고자 합니다. 향후 BIDN 버전이 상향되고 또 DNS 관련 질의속성 관련 표준기능이 추가되면 변동될 수도 있습니다. 이번 포스팅의 성격 상, 질의 로그의 각 항목에 대한 개괄적 설명에만 초점을 둡니다. 각 개별 항목과 관련된 DNS 기능 및 동작에 대한 세부 사항은 시간이 될 때 각 사항에 중점을 둔 포스팅에서 다루고자 합니다. named.conf의 질의로그 기록 설정 다음은 질의(query) 로그 기록 설정의 한 예시입니다. named.conf 파일에 설정합니다. logging { channe..
'80년대 초 DNS를 개발하던 당시, 인터넷 백본망 용량은 1 Mbps에 미치지 못했습니다. 지금 한국의 경우, 집에서 사용하고 있는 인터넷 회선용량도 아마 대부분 10 Mbps 이상일 것입니다. 이에 비하면, '80년대 인터넷 백본망 용량은 상당히 열악한 수준이었다고 할 수 있습니다. 하지만 당시 인터넷은 비디오나 사진 이미지를 쓰지 않고 주로 텍스트 기반의 서비스, 즉 E-mail이나 뉴스그룹 등이 대부분이어서 인터넷 백본용량은 별 문제가 되지 않았을 것입니다. 월드 와이드 웹(WWW)이 '90년대에 등장하면서 이미지 데이터와 비디오 데이터에 대한 수요가 급증하기 시작합니다. '80년 초반 당시 인터넷은 X.25라는 56 Kbps 데이터 전용회선 다수를 묶어 인터넷 백본망을 구성하고 있었습니다. 1..
DNS 질의응답 패킷에서 쓰이는 도메인 이름 데이터는 우리가 아는 도메인 이름과는 다소 다른 모습을 가집니다. 도메인 이름을 표기한 'dnssec.tistory.com'은 사람이 사용하기 쉬운 형태인 텍스트(text) 문자열 형태로 표현한 것입니다. 네임서버가 다루는 DNS 도메인 이름 데이터, 그리고 DNS 질의응답 패킷에서 사용하는 도메인 이름 데이터는 '단순한 텍스트 문자열'이 아닙니다. 다음 그림은 도메인 이름 'dnssec.tistory.com'을 예로 들어, 도메인 이름의 구조를 보이는 개념도입니다. 도메인 이름 데이터의 모습이 그리 간단하지는 않아 보입니다. 레이블 (label), 도메인 이름의 구성 요소 레이블(label)의 데이터 유형은 문자열입니다. 문자열 데이터는 다수의 문자(char..
호스트 이름 (hostname) 인터넷 망에서 호스트(host)라고 하면, IP주소를 설정함으로써 인터넷 망에 연결된, 통신 가능한 요소를 의미합니다. IP주소를 사용하여 통신할 수 있는 '어떤 것'입니다. 예전에는 서버 시스템이나 개인용 컴퓨터 등이 호스트에 해당한다고 말할 수 있었지만, 이제 IoT 시대가 되면서부터는 인터넷에 연결되는 '어떤 것'이라 지칭해야 할 것 같습니다. '호스트(host)'의 기준은 IP 주소입니다. 서버 시스템, 개인용 컴퓨터(PC), 라우터 모두 인터넷 망의 호스트입니다. 모두 IP주소를 사용해 통신할 수 있는 '어떤 것' 입니다. 앞으로 IoT가 보편화되면서 자동차에 IP 주소가 부여되어 인터넷 망을 통해 통신할 수 있는 장치가 된다면 자동차 역시 하나의 호스트(host..
DNS ANY 타입 질의와 DDoS 증폭공격 2013년 초 DNS증폭 DDoS공격은 300Gbps의 트래픽 공격능력을 보여주어 모두를 놀라게 했었습니다. 공격자들은 'isc.org' ANY 질의 또는 'ripe.net' ANY 질의를 이용하였습니다. 이후 'isc.org'와 'ripe.net'에 대한 ANY 질의는 캐시DNS서버를 구동하는 사이트에서 속속 차단조치 되었습니다. 하지만 DNS증폭 DDoS공격에 이들 도메인만 꼭 사용해야 하는 것은 아닙니다. 적당한 다른 도메인을 찾아내어 ANY 질의를 사용할 수 있습니다. DDoS 증폭공격에 특정 도메인 사용 이유 그런데, 왜 수많은 도메인 중에서 하필 isc.org, ripe.net을 이용했을까요? 첫째, 이들은 잘 알려진 도메인입니다. isc.org는 ..
DNS 질의 트래픽을 질의한 도메인이름, 질의타입을 기준으로 선별, 차단하는 방법은 없을까? 요즘 네임서버에 유입되는 DNS 질의 중에는 보안공격과 연관된 것으로 의심되는 각종 질의가 포함되어 있습니다. 어떤 경우는 차단이 필요하다고 여겨지지만, 마땅한 방법이 없는 경우도 있습니다. 특정 IP 주소에서만 공격성 질의가 발생한다면, 해당 IP주소 기준으로 차단하는 것은 그리 어렵지 않습니다. 라우터 ACL, 방화벽, 서버 IPTables의 단순한 설정을 사용할 수 있습니다. 그러나 불특정 IP주소에서 공격성 질의가 발생하는 경우는 대응이 달라져야 합니다. IP주소 대신 질의된 도메인이름과 질의타입을 기준으로 선별 차단해야 한다면, DNS 질의 메시지 내용을 분석하여 차단해야 합니다. 즉 어플리케이션 계층(..
Q. SOA 레코드는 왜 있는 건가요? A. SOA 레코드는 필수 레코드입니다. SOA레코드는 도메인 영역을 표시하는 역할을 합니다. 또 네임서버에게 어떤 기준에 의해 이 도메인을 관리하여야 하는지 알려주는 역할을 합니다. SOA 레코드는 도메인 존 파일 작성에서 반드시 작성해야 하는 레코드입니다. 이것은 표준 사항인 동시에 인터넷 도메인 이름(domain name) 체계의 기본 원칙에 관련된 사항입니다. SOA 레코드는 이 도메인 영역이 구분된 관리영역을 갖는 독립적인 도메인 존(zone)임을 표시해 줍니다. 예를 들어 도메인 이름 tistory.com에 SOA 레코드가 설정되어 있으면, 인터넷 전체 도메인 영역 중 tistory.com 이름 이하의 도메인 영역(zone)은 독자적인 관리주체에 의해 관..
Q. 루트 힌트(root hint) 파일은 꼭 설정해야 하나요? A. 최신 BIND DNS 버전으로 캐시DNS서버 용도로 사용하고 있다면, 굳이 따로 설정하지 않아도 됩니다. 캐시DNS서버 경우 루트 힌트 파일은 반드시 필요한 정보이기는 하지만, BIND DNS는 필요한 루트 네임서버 내역을 모두 실행 코드 자체에 내장하고 있기 때문에 따로 설정하는 수고를 하지 않아도 됩니다. 설정하지 않아도 된다는 말만 듣고 그냥 믿기에는 좀 그렇습니다. 또 혹시 지금 사용 중인 BIND DNS 버전은 루트 힌트 내용이 하드 코딩되어 있지 않을 수 있지 않을까 싶은 경우에는 직접 확인이 필요하겠지요. 지금 시스템에서 구동하고 있는 named의 프로세스가 /usr/local/sbin/named 실행파일이 구동된 프로세스..