친절한 설명과 체계적인 그림으로 정리한 DNS 입문서!
도서구매 사이트(가나다순)
[교보문고] [도서11번가] [알라딘] [예스이십사] [인터파크] [쿠팡] |
전자책 구매 사이트(가나다순)
[교보문고] [구글북스] [리디북스] [알라딘] [예스이십사] |
출판사 제이펍
저작권사 SB Creative Corp.
원서명 DNSがよくわかる教科書(원서 ISBN 9784797394481)
지은이 와타나베 유이, 사토 신타, 후지와가 가즈노리
옮긴이 이민성
출판일 2021년 11월 19일
페이지 364쪽
판 형 크라운판변형(170 x 225 x 18)
제 본 무선(soft cover)
정 가 28,000원
ISBN 979-11-91600-44-5 (93000)
키워드 DNS / DNSSEC / DDoS / 도메인 / 네임 서버 / 레지스트리
분 야 네트워크 / DNS
관련 사이트
관련 포스트
■ 2021/11/8 - DNS 입문의 결정판이자 국내 유일의 DNS 전문서!
관련 도서
■ 풍부한 그림과 사진으로 배우는 네트워크 쉽게 더 쉽게(제4판)
관련 파일 다운로드
■ (없음)
강의보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음의 자료를 보내드리겠습니다.)
■ 본문의 그림과 표
샘플 PDF(표지, 차례, 추천사, 감수자의 글, 옮긴이 머리말, 베타리더 후기, 1장 'DNS가 만들어진 배경', 2장 '도메인 이름의 등록 관리 구조와 관리 체계' 일부)
전자책 구매 사이트(가나다순)
[교보문고] [구글북스] [리디북스] [알라딘] [예스이십사] |
도서 소개
친절한 설명과 체계적인 그림으로 정리한 DNS 입문서!
이 책은 DNS의 구조부터 도메인 이름의 규칙, 주요 리소스 레코드의 내용, 명령에 의한 동작 확인, DNS 운영 노하우 및 DNSSEC의 기초 지식까지 단계별로 알기 쉽게 해설합니다. 자칫 이해하기 어렵다고 생각하기 쉬운 DNS이지만, 용어를 하나씩 배우고 구조의 전체 그림을 살펴보면서 학습한다면 놀라울 정도로 깔끔하게 이해할 수 있을 것입니다. 관련 지식과 에피소드를 소개하는 칼럼마저 충실한 이 책을 통해 DNS의 올바른 지식과 사용법을 배우기 바랍니다.
이 책의 구성
이 책은 기초편, 실전편, 응용편으로 구성되어 있습니다.
기초편에서는 DNS를 처음 배우는 분을 위해 도메인 이름과 DNS가 만들어진 배경, DNS의 구조 및 관리 체계, DNS를 구성하는 3요소의 역할, 이름 풀이의 구체적인 작동에 대해 설명합니다.
실전편에서는 기초편에서 배운 구성 요소를 작동시키고 운용하기 위한 설계와 설정, 작동 확인과 감시, 사이버 공격과 그 대책, 신뢰성 향상을 위해 유의할 점에 대해 설명합니다.
응용편에서는 실전편에서 다루지 않은 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에 의한 이름 풀이 성능 개선)〉의 공저에 참여했고, 공학박사다.
옮긴이 소개
이민성
현재 네트워크 엔지니어로 일하고 있다. 풀스택 인프라 엔지니어를 목표로 계속해서 공부하는 한편, 국내에 인프라 관련 도서가 많지 않아 함께 공부하는 사람들에게 도움이 되고자 하는 마음에서 좋은 책을 소개하는 일도 꾸준히 하고자 한다.
차례
기초편
CHAPTER 01 DNS가 만들어진 배경 1
01 IP 주소와 이름의 관계 2
[COLUMN] 통신 프로토콜이란? 3
[COLUMN] IP 주소에 대해 더 알아보기 4
이름으로 상대를 지정하기 4
[COLUMN] 일상에서 접할 수 있는 어드레싱과 네이밍 5
02 IP 주소와 이름의 대응 관리 6
03 집중 관리에서 분산 관리로 9
계층화와 위임 10
이름을 고유하게 하는 구조 12
[COLUMN] 계층화와 위임에서 주의할 점 13
04 도메인 이름의 구성 14
도메인 이름이란? 15
도메인 이름의 구성 15
서브 도메인 16
도메인 이름의 장점 18
[COLUMN] 도메인 이름에서 주의할 점 19
05 도메인 이름을 사용할 수 있도록 하기 위해 생겨난 DNS 20
DNS란? 20
DNS 계층화와 위임의 구조 21
[COLUMN] DNS의 기술 사양은 누가 어디에서 정하는가? 23
06 DNS와 레지스트리의 관계 24
이름 관리의 분산화 24
레지스트리와 그 관계자의 연계 및 협조 25
CHAPTER 02 도메인 이름의 등록 관리 구조와 관리 체계 27
01 레지스트리란? 28
[COLUMN] 레지스트리와 레지스트리 오퍼레이터 28
IP 주소와 도메인 이름 관리의 차이 28
레지스트리의 역할 29
[COLUMN] 도메인 이름의 수명 주기 31
[COLUMN] Whois와 그 역할 32
레지스트리와 TLD의 관계 33
[COLUMN] ccTLD가 두 글자가 된 이유 33
[COLUMN] gTLD의 변천 34
[COLUMN] 새로운 분류의 gTLD 35
도메인 이름과 상표권 35
02 레지스트리・레지스트라 모델과 레지스트라의 역할 38
레지스트리・레지스트라 모델 38
[COLUMN] KR 도메인 이름의 등록 대행자 제도 41
레지스트라의 역할 41
03 도메인 이름 등록하기 43
등록자가 하는 일 43
레지스트라가 하는 일 46
레지스트리가 하는 일 46
04 도메인 이름을 사용할 수 있도록 하기 48
등록자가 하는 일 48
레지스트라가 하는 일 50
레지스트리가 하는 일 50
[COLUMN] 외부 서비스의 이용 51
05 도메인 이름의 세계적인 관리 체계 52
인터넷 거버넌스란? 52
[COLUMN] ‘The Internet is for Everyone’ 53
인터넷 식별자에 관한 세계적인 관리 및 조정 53
도메인 이름에 관한 정책 검토 54
IANA 54
CHAPTER 03 DNS의 이름 풀이 57
01 이름 풀이의 구조 58
질의와 응답 58
계층 구조를 따라가는 것 59
02 이름 풀이의 작동 62
구체적인 작동의 예시 62
이름 풀이의 부하와 시간의 경감 64
03 이름 풀이를 위해 필요한 것 68
부모가 응답하는 자식의 네임 서버 정보, ‘위임 정보’ 68
위임 정보의 등록 68
04 이름 풀이에서 위임의 중요성 71
이름 풀이의 구조가 가져다주는 장점 71
실제 인터넷에서의 위임 관계 74
[COLUMN] KR 도메인 이름의 종류 76
CHAPTER 04 DNS의 구성 요소와 구체적인 작동 77
01 세 종류의 구성 요소와 그 역할 78
스터브 리졸버의 역할 79
풀 리졸버의 역할 80
권한이 있는 서버의 역할 82
[COLUMN] DNS의 클래스 84
리소스 레코드의 구성 84
리소스 레코드의 타입 85
[COLUMN] 통일되지 않은 명칭에 주의하자 86
02 구성 요소의 연계에 의한 이름 풀이 87
[COLUMN] 루트 서버의 IP 주소는 어떻게 알까? 93
[COLUMN] 이름 풀이 요구와 이름 풀이 실행의 차이 93
03 DNS 처리의 효율화와 가용성의 향상 94
캐시와 네거티브 캐시 94
권한이 있는 서버를 여러 대 설치하기 98
04 정방향과 역방향 102
실전편
CHAPTER 05 도메인 이름 설계하기 103
01 <실전 편을 읽는 방법> DNS를 작동시키기 위해 필요한 것 104
자신의 도메인 이름을 인터넷에서 사용할 수 있도록 하기 104
인터넷에서 사용되고 있는 도메인 이름을 자신이 사용할 수 있도록 하기 105
DNS를 지속적으로 작동시켜 가용성을 높이기 105
02 도메인 이름을 설계하기 위한 기본적인 사고방식 107
03 EXAMPLE사를 예시로 한 설계와 구축 111
도메인 이름을 어떻게 관리하고 운용할지 정하기 111
CHAPTER 06 도메인 이름 관리하기: 권한이 있는 서버의 설정 121
01 도메인 이름의 관리자가 관리하는 범위와 권한이 있는 서버 122
02 권한이 있는 서버의 가용성 124
프라이머리 서버와 세컨더리 서버 124
존 전송의 구조 125
프라이머리 서버와 세컨더리 서버의 배치 127
03 권한이 있는 서버가 응답하는 정보 128
리소스 레코드의 표기 형식 128
이 장에서 설명할 리소스 레코드 129
04 도메인 이름의 관리와 위임을 위해 설정하는 정보 130
존 자체에 관한 정보: SOA 리소스 레코드 130
[COLUMN] 절대 도메인 이름, 상대 도메인 이름, 전체 주소 도메인 이름이 존재하는 이유 131
위임에 관한 정보: NS 리소스 레코드 134
[COLUMN] 글루 레코드가 필요한 이유 136
05 서비스를 제공하기 위해 설정하는 정보 137
www.example.kr이라는 이름으로 웹사이트 공개하기 137
user@example.kr이라는 메일 주소를 사용할 수 있도록 하기 138
외부 서비스를 자사 도메인 이름으로 이용하기 139
06 리소스 레코드를 사용해서 메시지 전달하기 142
도메인 이름에 대응하는 텍스트 설정하기 142
07 리소스 레코드 세트(RRset) 143
08 존 파일에 리소스 레코드 설정하기 144
[COLUMN] 역방향을 설정하기 위한 PTR 리소스 레코드 147
CHAPTER 07 이름 풀이 서비스 제공하기: 풀 리졸버의 설정 149
01 풀 리졸버의 중요성 150
[COLUMN] 힌트 파일과 프라이밍 151
02 풀 리졸버의 설치와 운용 153
풀 리졸버의 설치 153
[COLUMN] 공인 IP 주소와 사설 IP 주소 154
[COLUMN] DNS 포워더 155
풀 리졸버의 가용성 156
풀 리졸버의 접근 제한 157
오픈 리졸버의 위험성 159
[COLUMN] 풀 리졸버 운용의 변천 159
[COLUMN] 결함을 가지는 홈 라우터 160
퍼블릭 DNS 서비스 161
CHAPTER 08 DNS 작동 확인 163
01 DNS 작동 확인의 기초 164
DNS의 서비스 상태를 확인하는 방법 164
[COLUMN] 인시던트와 액시던트 165
02 명령줄 도구 166
DNS의 작동 상태를 확인하기 위한 명령어 166
dig 명령어와 drill 명령어 167
dig, drill, kdig 명령어의 대표적인 옵션 169
[COLUMN] 재귀적 질의와 비재귀적 질의 171
DNS 메시지의 형식 171
[COLUMN] DNS 메시지에서 도메인 이름의 표현 형식과 최대 길이 174
dig 명령어의 출력 결과 해석하기 174
03 dig 명령어를 사용한 작동 확인 177
권한이 있는 서버의 작동 확인하기 177
풀 리졸버의 작동 확인하기 180
04 dig 명령어의 응용: 풀 리졸버가 되어 이름 풀이하기 182
예시 1) kisa.or.kr의 A 리소스 레코드 질의하기 182
예시 2) www.ietf.org의 AAAA 리소스 레코드 질의하기 187
[COLUMN] 내부 이름과 외부 이름 190
05 유용한 DNS 체크 사이트 201
Zonemaster 201
DNSViz 203
KRNIC DNS 자가 점검 206
06 서버의 감시 208
제대로 작동하고 있는가? (사활 감시) 208
사이버 공격을 받고 있지는 않은가? (트래픽 감시) 209
언제 무엇이 일어났는가? (시스템 로그 수집과 확인) 211
CHAPTER 09 DNS에 대한 사이버 공격과 그 대책 213
01 대상과 수법에 따른 DNS 관련 공격의 분류 214
공격 대상과 공격 수법에 따른 분류 214
각 공격의 예시 215
[COLUMN] DoS 공격과 DDoS 공격 216
02 대상과 효과에 따른 공격 대책의 분류 217
지킬 대상과 대책의 효과에 따른 분류 217
03 공격의 영향 범위 219
스터브 리졸버의 영향 범위 219
풀 리졸버의 영향 범위 220
권한이 있는 서버의 영향 범위 221
[COLUMN] IP Anycast란? 222
04 DNS의 특성이 공격에 미치는 영향 223
통신 프로토콜에 따른 영향 223
보급 상황에 따른 영향 223
통신 특성에 따른 영향 223
[COLUMN] DNS에서 사용하는 통신 프로토콜 224
05 대표적인 공격 수법과 그 개요 225
DNS 반사 공격 225
랜덤 서브 도메인 공격 226
BIND의 취약점을 이용한 DoS 공격 228
캐시 포이즈닝 228
[COLUMN] 카민스키형 공격 수법 230
등록 정보 무단 수정에 의한 도메인 이름 하이잭 230
[COLUMN] 도메인 이름 하이잭과 DNS 하이잭 231
06 공격에 대한 대책 232
DNS 반사 공격에 대한 대책 232
[COLUMN] 서버 특성 차이로 인한 대책의 차이 235
랜덤 서브 도메인 공격에 대한 대책 235
[COLUMN] IP53B란? 236
BIND의 취약점을 이용한 공격에 대한 대책 237
캐시 포이즈닝에 대한 대책 238
등록 정보 무단 수정에 의한 도메인 이름 하이잭에 대한 대책 240
CHAPTER 10 보다 나은 DNS 운용을 위하여 243
01 서버의 신뢰성에 관한 고려 사항 244
서버를 작동시키는 플랫폼의 신뢰성 244
DNS 소프트웨어의 선택 245
주요 DNS 소프트웨어 246
서버를 설치할 네트워크의 선정 248
02 DNS 설정과 운용에 관한 잠재적 위험 249
권한이 있는 서버 간의 존 데이터 불일치 249
부모-자식 간의 NS 리소스 레코드 불일치 250
lame delegation(불완전한 위임) 251
외부 이름의 설정 252
03 DNSSEC과 DNS 쿠키의 개요 253
DNSSEC의 개요 253
DNS 쿠키의 개요 254
응용편
CHAPTER 11 DNS 설정 및 운용 노하우 257
01 <자주 있는 트러블과 설정 실수> lame delegation 258
lame delegation의 예시 258
lame delegation이 발생하면 왜 나쁜가? 259
lame delegation 발생의 예방 260
레지스트리의 대처 261
02 <자주 있는 트러블과 설정 실수>존 전송에서의 트러블 262
03 <자주 있는 트러블과 설정 실수> 존 파일 유지 보수에서의 트러블 263
04 <자주 있는 트러블과 설정 실수> 방화벽이나 OS의 접근 제한으로 인한 트러블 264
05 <자주 있는 트러블과 설정 실수> 서버의 종류와 접근 제한의 설정 265
06 ‘www’가 붙지 않는 호스트 이름의 설정 방법 267
존 정점에 A/AAAA 리소스 레코드 설정 267
CDN 서비스와의 관계 268
07 $TTL을 설정할 때의 주의점 270
$TTL로 TTL 값의 기본값을 지정 270
권한이 있는 서버의 NS/A/AAAA의 TTL 값은 길어야 좋다 270
08 국제화 도메인 이름의 설정 방법 272
[COLUMN] 맨 앞 글자가 ‘_’로 시작하는 라벨 272
[COLUMN] Punycode 273
09 응답 사이즈가 큰 DNS 메시지에 대한 대응 277
[COLUMN] UDP DNS 메시지 사이즈가 512바이트로 제한된 이유 277
응답 사이즈가 큰 DNS 메시지에 대응하기 위한 기능 확장 279
[COLUMN] EDNS0의 확장 기능 279
IP 단편화에 대한 대응 281
10 역방향 DNS의 설정 283
역방향 DNS에서 사용되는 도메인 이름과 리소스 레코드 283
역방향 DNS의 이용 사례 284
CHAPTER 12 권한이 있는 서버의 이전(DNS의 이사) 287
01 호스팅 사업자 이전에 따른 권한이 있는 서버의 이전 288
02 DNS를 이사할 때 고려해야 할 항목 289
두 개의 이전 대상(권한이 있는 서버와 존 데이터) 289
병행 운용 기간 289
풀 리졸버에 따른 작동의 차이 290
접근 타이밍에 따른 캐시 상태의 차이 290
위임 정보 변경의 타이밍 290
비협조적인 DNS 운용자 291
03 정식 이사 순서 292
신규 서버 준비 292
현재 설정되어 있는 MX/A/AAAA의 TTL 값 단축 293
메일 서버, 웹 서버 등의 이전 294
권한이 있는 서버 이전 295
MX/A/AAAA의 TTL 값 복구 297
04 권한이 있는 서버와 다른 서버의 이전을 동시에 하는 경우 298
[COLUMN] 유령 도메인 이름 취약점 300
CHAPTER 13 DNSSEC의 구조 301
01 전자 서명의 구조와 DNSSEC에의 적용 302
전자 서명의 구조 302
전자 서명을 DNSSEC에 적용하기 303
서명 검증 305
02 신뢰의 연쇄 307
[COLUMN] 해시값이란? 308
[COLUMN] 루트 존 KSK 롤 오버 311
[COLUMN] DNSSEC의 키 생성 및 운용 311
03 DNSSEC에서 사용되는 두 종류의 키(KSK와 ZSK) 312
[COLUMN] RSA란? 312
04 KSK와 ZSK를 사용한 서명과 검증의 흐름 313
05 DNSSEC의 부재 증명에 사용되는 리소스 레코드 317
[COLUMN] 부재 증명이 필요한 이유 318
CHAPTER 14 DNS에서의 프라이버시 개요와 구현 상황 319
01 DNS에서 프라이버시와 관련하여 우려되는 점과 그 해결책 320
프라이버시와 관련하여 우려되는 점 320
우려되는 점에 대한 해결책 322
[COLUMN] IAB 성명문 322
02 QNAME minimisation 323
QNAME minimisation의 개요 323
QNAME minimisation의 구현 상황 325
03 DNS over TLS 326
DNS over TLS의 개요 326
[COLUMN] TLS란? 327
DNS over TLS의 구현 상황 327
[COLUMN] 풀 리졸버와 권한이 있는 서버 간의 통신 암호화 327
04 DNS over HTTPS 328
DNS over HTTPS의 구현 상황 328
[COLUMN] ‘OOO over XXX’란? 329
찾아보기 333
제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)
네이버 책 포스트 유튜브 인스타그램 트위터 페이스북 |
'도서 소개' 카테고리의 다른 글
코드로 배우는 인공지능 (0) | 2021.11.19 |
---|---|
가볍게 떠먹는 데이터 분석 프로젝트 (0) | 2021.11.19 |
그림으로 공부하는 TCP/IP 구조 (2) | 2021.10.27 |
임파워드: 평범한 사람들이 만드는 특별한 제품 (2) | 2021.10.27 |
유튜브 영상 편집을 위한 파이널 컷 프로 X (0) | 2021.10.12 |