DNS 실전 교과서

기초가 탄탄해지는

와타나베 유이 사토 신타 후지와라 가즈노리 저/이민성 역 | 제이펍 | 2022년 03월 23일 | PDF

이용가능환경 : Windows/Android/iOS 구매 후, PC, 스마트폰, 태블릿PC에서 파일 용량 제한없이 다운로드 및 열람이 가능합니다.

구매

종이책 정가 28,000원

전자책 정가 19,600원

판매가 19,600원

도서소개

친절한 설명과 체계적인 그림으로 정리한 DNS 입문서!

이 책은 인터넷을 지탱하는 DNS의 구조부터 도메인 이름의 규칙, 주요 리소스 레코드의 내용, 명령에 의한 동작 확인, DNS 운영 노하우 및 DNSSEC의 기초 지식까지 단계별로 알기 쉽게 해설한다. 자칫 이해하기 어렵다고 생각하기 쉬운 DNS이지만, 용어를 하나씩 배우고 구조의 전체 그림을 살펴보면서 학습한다면 놀라울 정도로 깔끔하게 이해할 수 있을 것이다.

저자소개

저 : 와타나베 유이
일본 레지스트리 서비스(JPRS) 기술기획실에서 근무 중이다. 2016년에 JPRS에 입사해서 레지스트리나 DNS 기술, 서비스 조사 및 기획 등에 종사했다. 또한 관련 커뮤니티 활동에도 참가하여 일본 DNS 오퍼레이터즈 그룹(DNSOPS.JP)에서는 사무국 소속으로 일했다.


저 : 사토 신타
일본 레지스트리 서비스(JPRS) 기술기획실에서 근무 중이다. 1999년에 일본 네트워크 인포메이션 센터(JPNIC)에 입사해서 JP DNS 및 JP 레지스트리 시스템, 오피스 시스템을 구축하고 운영했다. 2001년에 JPRS로 이직하여 각종 시스템 및 M 루트 서버 운용에 종사하면서 JP DNS의 IPv6 대응, IP Anycast 도입을 담당했다. ICANN SSAC 회원(2007~2016), RSSAC Caucus 회원(2014~현재)이다.


저 : 후지와라 가즈노리
일본 레지스트리 서비스(JPRS) 기술연구부에서 근무 중이다. 1991년부터 학생 겸 조교로 와세다 대학교의 캠퍼스 네트워크 설계, 구축, 운용을 담당했다. 2002년에 JPRS에 입사해서 DNS 및 관련 기술의 조사, 연구 및 IETF에서 표준화 활동에 종사했다. 〈RFC 7719(DNS 용어집)〉, 〈RFC 8198(DNSSEC에 의한 이름 풀이 성능 개선)〉의 공저에 참여했고, 공학박사다.

역 : 이민성
현재 네트워크 엔지니어로 일하고 있다. 풀스택 인프라 엔지니어를 목표로 계속해서 공부하는 한편, 국내에 인프라 관련 도서가 많지 않아 함께 공부하는 사람들에게 도움이 되고자 하는 마음에서 좋은 책을 소개하는 일도 꾸준히 하고자 한다.

목차소개

추천사 xvi
감수자의 글 xviii
이 책의 구성 xxiii
옮긴이 머리말 xxv
베타리더 후기 xxvii

기초편

CHAPTER 01 DNS가 만들어진 배경?

01 IP 주소와 이름의 관계?
[COLUMN] 통신 프로토콜이란? 
[COLUMN] IP 주소에 대해 더 알아보기 
이름으로 상대를 지정하기 
[COLUMN] 일상에서 접할 수 있는 어드레싱과 네이밍 
02 IP 주소와 이름의 대응 관리?
03 집중 관리에서 분산 관리로?
계층화와 위임 
이름을 고유하게 하는 구조 
[COLUMN] 계층화와 위임에서 주의할 점 
04 도메인 이름의 구성
도메인 이름이란? 
도메인 이름의 구성 
서브 도메인 
도메인 이름의 장점 
[COLUMN] 도메인 이름에서 주의할 점 
05 도메인 이름을 사용할 수 있도록 하기 위해 생겨난 DNS?
DNS란?  
DNS 계층화와 위임의 구조 
[COLUMN] DNS의 기술 사양은 누가 어디에서 정하는가? 
06 DNS와 레지스트리의 관계
이름 관리의 분산화 
레지스트리와 그 관계자의 연계 및 협조 

CHAPTER 02 도메인 이름의 등록 관리 구조와 관리 체계

01 레지스트리란??
[COLUMN] 레지스트리와 레지스트리 오퍼레이터 
IP 주소와 도메인 이름 관리의 차이 
레지스트리의 역할 
[COLUMN] 도메인 이름의 수명 주기 
[COLUMN] Whois와 그 역할 
레지스트리와 TLD의 관계 
[COLUMN] ccTLD가 두 글자가 된 이유 
[COLUMN] gTLD의 변천 
[COLUMN] 새로운 분류의 gTLD 
도메인 이름과 상표권 
02 레지스트리?레지스트라 모델과 레지스트라의 역할
레지스트리?레지스트라 모델 
[COLUMN] KR 도메인 이름의 등록 대행자 제도 
레지스트라의 역할 
03 도메인 이름 등록하기
등록자가 하는 일 
레지스트라가 하는 일 
레지스트리가 하는 일 
04 도메인 이름을 사용할 수 있도록 하기
등록자가 하는 일 
레지스트라가 하는 일 
레지스트리가 하는 일 
[COLUMN] 외부 서비스의 이용 
05 도메인 이름의 세계적인 관리 체계
인터넷 거버넌스란? 
[COLUMN] ‘The Internet is for Everyone’ 
인터넷 식별자에 관한 세계적인 관리 및 조정 
도메인 이름에 관한 정책 검토 
IANA 

CHAPTER 03 DNS의 이름 풀이

01 이름 풀이의 구조?
질의와 응답 
계층 구조를 따라가는 것 
02 이름 풀이의 작동?
구체적인 작동의 예시 
이름 풀이의 부하와 시간의 경감 
03 이름 풀이를 위해 필요한 것?
부모가 응답하는 자식의 네임 서버 정보, ‘위임 정보’ 
위임 정보의 등록 
04 이름 풀이에서 위임의 중요성?
이름 풀이의 구조가 가져다주는 장점 
실제 인터넷에서의 위임 관계 
[COLUMN] KR 도메인 이름의 종류 

CHAPTER 04 DNS의 구성 요소와 구체적인 작동?

01 세 종류의 구성 요소와 그 역할?
스터브 리졸버의 역할 
풀 리졸버의 역할 
권한이 있는 서버의 역할 
[COLUMN] DNS의 클래스 
리소스 레코드의 구성 
리소스 레코드의 타입 
[COLUMN] 통일되지 않은 명칭에 주의하자 
02 구성 요소의 연계에 의한 이름 풀이?
[COLUMN] 루트 서버의 IP 주소는 어떻게 알까? 
[COLUMN] 이름 풀이 요구와 이름 풀이 실행의 차이 
03 DNS 처리의 효율화와 가용성의 향상?
캐시와 네거티브 캐시 
권한이 있는 서버를 여러 대 설치하기 
04 정방향과 역방향?

실전편

CHAPTER 05 도메인 이름 설계하기

01 [실전 편을 읽는 방법] DNS를 작동시키기 위해 필요한 것
자신의 도메인 이름을 인터넷에서 사용할 수 있도록 하기 
인터넷에서 사용되고 있는 도메인 이름을 자신이 사용할 수 있도록 하기 
DNS를 지속적으로 작동시켜 가용성을 높이기 
02 도메인 이름을 설계하기 위한 기본적인 사고방식
03 EXAMPLE사를 예시로 한 설계와 구축
도메인 이름을 어떻게 관리하고 운용할지 정하기 

CHAPTER 06 도메인 이름 관리하기: 권한이 있는 서버의 설정

01 도메인 이름의 관리자가 관리하는 범위와 권한이 있는 서버
02 권한이 있는 서버의 가용성
프라이머리 서버와 세컨더리 서버 
존 전송의 구조 
프라이머리 서버와 세컨더리 서버의 배치 
03 권한이 있는 서버가 응답하는 정보
리소스 레코드의 표기 형식 
이 장에서 설명할 리소스 레코드 
04 도메인 이름의 관리와 위임을 위해 설정하는 정보
존 자체에 관한 정보: SOA 리소스 레코드 
[COLUMN] 절대 도메인 이름, 상대 도메인 이름, 전체 주소 도메인 이름이 존재하는 이유 
위임에 관한 정보: NS 리소스 레코드 
[COLUMN] 글루 레코드가 필요한 이유 
05 서비스를 제공하기 위해 설정하는 정보
www.example.kr이라는 이름으로 웹사이트 공개하기 
user@example.kr이라는 메일 주소를 사용할 수 있도록 하기 
외부 서비스를 자사 도메인 이름으로 이용하기 
06 리소스 레코드를 사용해서 메시지 전달하기
도메인 이름에 대응하는 텍스트 설정하기 
07 리소스 레코드 세트(RRset)
08 존 파일에 리소스 레코드 설정하기
[COLUMN] 역방향을 설정하기 위한 PTR 리소스 레코드 

CHAPTER 07 이름 풀이 서비스 제공하기: 풀 리졸버의 설정

01 풀 리졸버의 중요성
[COLUMN] 힌트 파일과 프라이밍 
02 풀 리졸버의 설치와 운용
풀 리졸버의 설치 
[COLUMN] 공인 IP 주소와 사설 IP 주소 
[COLUMN] DNS 포워더 
풀 리졸버의 가용성 
풀 리졸버의 접근 제한 
오픈 리졸버의 위험성 
[COLUMN] 풀 리졸버 운용의 변천 
[COLUMN] 결함을 가지는 홈 라우터 
퍼블릭 DNS 서비스 

CHAPTER 08 DNS 작동 확인

01 DNS 작동 확인의 기초
DNS의 서비스 상태를 확인하는 방법 
[COLUMN] 인시던트와 액시던트 
02 명령줄 도구
DNS의 작동 상태를 확인하기 위한 명령어 
dig 명령어와 drill 명령어 
dig, drill, kdig 명령어의 대표적인 옵션 
[COLUMN] 재귀적 질의와 비재귀적 질의 
DNS 메시지의 형식 
[COLUMN] DNS 메시지에서 도메인 이름의 표현 형식과 최대 길이 
dig 명령어의 출력 결과 해석하기 
03 dig 명령어를 사용한 작동 확인
권한이 있는 서버의 작동 확인하기 
풀 리졸버의 작동 확인하기 
04 dig 명령어의 응용: 풀 리졸버가 되어 이름 풀이하기
예시 1) kisa.or.kr의 A 리소스 레코드 질의하기 
예시 2) www.ietf.org의 AAAA 리소스 레코드 질의하기 
[COLUMN] 내부 이름과 외부 이름 
05 유용한 DNS 체크 사이트
Zonemaster
DNSViz 
KRNIC DNS 자가 점검 
06 서버의 감시
제대로 작동하고 있는가? (사활 감시) 
사이버 공격을 받고 있지는 않은가? (트래픽 감시) 
언제 무엇이 일어났는가? (시스템 로그 수집과 확인) 

CHAPTER 09 DNS에 대한 사이버 공격과 그 대책

01 대상과 수법에 따른 DNS 관련 공격의 분류
공격 대상과 공격 수법에 따른 분류 
각 공격의 예시 
[COLUMN] DoS 공격과 DDoS 공격 
02 대상과 효과에 따른 공격 대책의 분류
지킬 대상과 대책의 효과에 따른 분류 
03 공격의 영향 범위
스터브 리졸버의 영향 범위 
풀 리졸버의 영향 범위 
권한이 있는 서버의 영향 범위 
[COLUMN] IP Anycast란? 
04 DNS의 특성이 공격에 미치는 영향
통신 프로토콜에 따른 영향 
보급 상황에 따른 영향 
통신 특성에 따른 영향 
[COLUMN] DNS에서 사용하는 통신 프로토콜 
05 대표적인 공격 수법과 그 개요
DNS 반사 공격 
랜덤 서브 도메인 공격 
BIND의 취약점을 이용한 DoS 공격 
캐시 포이즈닝 
[COLUMN] 카민스키형 공격 수법 
등록 정보 무단 수정에 의한 도메인 이름 하이잭 
[COLUMN] 도메인 이름 하이잭과 DNS 하이잭 
06 공격에 대한 대책
DNS 반사 공격에 대한 대책 
[COLUMN] 서버 특성 차이로 인한 대책의 차이 
랜덤 서브 도메인 공격에 대한 대책 
[COLUMN] IP53B란? 
BIND의 취약점을 이용한 공격에 대한 대책 
캐시 포이즈닝에 대한 대책 
등록 정보 무단 수정에 의한 도메인 이름 하이잭에 대한 대책 

CHAPTER 10 보다 나은 DNS 운용을 위하여

01 서버의 신뢰성에 관한 고려 사항
서버를 작동시키는 플랫폼의 신뢰성 
DNS 소프트웨어의 선택 
주요 DNS 소프트웨어 
서버를 설치할 네트워크의 선정 
02 DNS 설정과 운용에 관한 잠재적 위험
권한이 있는 서버 간의 존 데이터 불일치 
부모-자식 간의 NS 리소스 레코드 불일치 
lame delegation(불완전한 위임) 
외부 이름의 설정 
03 DNSSEC과 DNS 쿠키의 개요
DNSSEC의 개요 
DNS 쿠키의 개요 

응용편

CHAPTER 11 DNS 설정 및 운용 노하우

01 [자주 있는 트러블과 설정 실수] lame delegation
lame delegation의 예시 
lame delegation이 발생하면 왜 나쁜가? 
lame delegation 발생의 예방 
레지스트리의 대처 
02 [자주 있는 트러블과 설정 실수]존 전송에서의 트러블
03 [자주 있는 트러블과 설정 실수] 존 파일 유지 보수에서의 트러블
04 [자주 있는 트러블과 설정 실수] 방화벽이나 OS의 접근 제한으로 인한 트러블
05 [자주 있는 트러블과 설정 실수] 서버의 종류와 접근 제한의 설정
06 ‘www’가 붙지 않는 호스트 이름의 설정 방법
존 정점에 A/AAAA 리소스 레코드 설정 
CDN 서비스와의 관계 
07 $TTL을 설정할 때의 주의점
$TTL로 TTL 값의 기본값을 지정 
권한이 있는 서버의 NS/A/AAAA의 TTL 값은 길어야 좋다 
08 국제화 도메인 이름의 설정 방법
[COLUMN] 맨 앞 글자가 ‘_’로 시작하는 라벨 
[COLUMN] Punycode 
09 응답 사이즈가 큰 DNS 메시지에 대한 대응
[COLUMN] UDP DNS 메시지 사이즈가 512바이트로 제한된 이유 
응답 사이즈가 큰 DNS 메시지에 대응하기 위한 기능 확장 
[COLUMN] EDNS0의 확장 기능 
IP 단편화에 대한 대응 
10 역방향 DNS의 설정
역방향 DNS에서 사용되는 도메인 이름과 리소스 레코드 
역방향 DNS의 이용 사례 

CHAPTER 12 권한이 있는 서버의 이전(DNS의 이사)

01 호스팅 사업자 이전에 따른 권한이 있는 서버의 이전
02 DNS를 이사할 때 고려해야 할 항목
두 개의 이전 대상(권한이 있는 서버와 존 데이터) 
병행 운용 기간 
풀 리졸버에 따른 작동의 차이 
접근 타이밍에 따른 캐시 상태의 차이 
위임 정보 변경의 타이밍 
비협조적인 DNS 운용자 
03 정식 이사 순서
신규 서버 준비 
현재 설정되어 있는 MX/A/AAAA의 TTL 값 단축 
메일 서버, 웹 서버 등의 이전 
권한이 있는 서버 이전 
MX/A/AAAA의 TTL 값 복구 
04 권한이 있는 서버와 다른 서버의 이전을 동시에 하는 경우
[COLUMN] 유령 도메인 이름 취약점 

CHAPTER 13 DNSSEC의 구조

01 전자 서명의 구조와 DNSSEC에의 적용
전자 서명의 구조 
전자 서명을 DNSSEC에 적용하기 
서명 검증 
02 신뢰의 연쇄
[COLUMN] 해시값이란? 
[COLUMN] 루트 존 KSK 롤 오버 
[COLUMN] DNSSEC의 키 생성 및 운용 
03 DNSSEC에서 사용되는 두 종류의 키(KSK와 ZSK)
[COLUMN] RSA란? 
04 KSK와 ZSK를 사용한 서명과 검증의 흐름
05 DNSSEC의 부재 증명에 사용되는 리소스 레코드
[COLUMN] 부재 증명이 필요한 이유 

CHAPTER 14 DNS에서의 프라이버시 개요와 구현 상황

01 DNS에서 프라이버시와 관련하여 우려되는 점과 그 해결책
프라이버시와 관련하여 우려되는 점 
우려되는 점에 대한 해결책 
[COLUMN] IAB 성명문 
02 QNAME minimisation
QNAME minimisation의 개요 
QNAME minimisation의 구현 상황 
03 DNS over TLS
DNS over TLS의 개요 
[COLUMN] TLS란? 
DNS over TLS의 구현 상황 
[COLUMN] 풀 리졸버와 권한이 있는 서버 간의 통신 암호화 
04 DNS over HTTPS
DNS over HTTPS의 구현 상황 
[COLUMN] ‘OOO over XXX’란? 

찾아보기

회원리뷰 (0)

현재 회원리뷰가 없습니다.

첫 번째 리뷰를 남겨주세요!