본문 바로가기

DNS

(33)
DNS 패킷 읽기 Part 2: Question·Answer·Authority·Additional 섹션 today keys : dns, question, answer, authority, additional, resource record, ttl, referral, glue, nxdomain, section1. 한눈에 보기 — dig 결과 하나로 보는 네 섹션DNS 메시지는 헤더 뒤에 네 섹션이 이어집니다. Question은 고유한 형식을 쓰고, 나머지 Answer·Authority·Additional은 모두 같은 리소스 레코드(RR) 형식을 씁니다. 세 섹션의 차이는 형식이 아니라 담는 레코드의 역할입니다. 아래는 BIND 개발사인 ISC의 권한 서버 ns1.isc.org에 isc.org의 A 레코드를 비재귀(+norec)로 물은 결과입니다. 여기서는 출력의 어느 부분이 어떤 섹션인지만 먼저 확인합니다...
DNS 패킷 읽기 Part 1: 메시지 구조와 헤더 플래그 today keys : DNS, Header, Flags, QR, RD, AA, RA, RCODE, Additional, EDNS, 패킷, 헤더, 섹션1. DNS 메시지의 전체 구조DNS는 질의와 응답이 같은 형식을 씁니다.모든 메시지는 고정 크기의 헤더 하나와, 가변 길이의 섹션 4개로 이루어집니다.질의 메시지는 보통 Question만 채우고 Answer·Authority는 비어 있습니다.Additional에는 EDNS를 쓰는 경우 OPT 레코드가 하나 들어갑니다.응답 메시지는 Question을 그대로 복사해 돌려주고, 나머지 세 섹션에 결과를 담습니다.질의인지 응답인지, 결과가 무엇인지는 모두 헤더에 표시됩니다. 그래서 패킷을 읽을 때는 항상 헤더부터 봅니다.DNS 전송 방식기본은 UDP 53입니다...
DNSSEC Part 4-2 : 부정 응답(부재 증명)을 위한 NSEC/NSEC3 today keys : DNSSEC, NSEC, NSEC3, 부재 증명, NXDOMAIN, insecure 위임, bogus, Opt-Out, 존 열거9. 직접 확인해보기 TLD가 서명되어 있는지 확인하기어떤 존이 서명되어 있는지는 부모 존에 그 이름의 DS가 있는지로 판별합니다.TLD라면 부모가 루트이므로 다음과 같이 확인했을 때, DS 값이 출력되면 서명된 TLD입니다.zigi@ZIGI:~$ dig com @8.8.8.8 DS +short19718 13 2 8ACBB0CD28F41250A80A491389424D341522D946B0DA0C0291F2D3D7 71D7805A아무것도 출력되지 않으면 미서명입니다. +short 없이 실행하면 응답 상태까지 확인할 수 있습니다.zigi@ZIGI:~$ dig..
DNSSEC Part 1 : DNSSEC은 왜 필요한가 today keys : DNS, DNSSEC, 캐시 포이즈닝, 스푸핑, RRSIG, 서명, 검증, 무결성, 출처 인증DNS는 도메인을 질의하고 응답을 받아오는 단순한 구조로 동작합니다. 그런데 이 과정에는 받은 응답이 진짜인지 확인하는 절차가 빠져 있고, 이 빈틈을 이용한 공격이 캐시 포이즈닝입니다. DNSSEC은 응답에 전자서명을 붙여 이 문제를 해결하는 기술입니다.이번 포스팅을 시작으로 DNSSEC의 개념부터 동작 원리, 패킷 레벨 검증 과정, 운영 점검 방법까지 시리즈로 정리해보려 합니다. 1부에서는 DNSSEC이 어떤 문제를 해결하기 위한 기술인지 살펴보겠습니다.1. 기본 DNS 조회 절차 다시 보기먼저 우리가 매일 사용하는 DNS 조회가 어떤 순서로 진행되는지 짚어보겠습니다.사용자가 www.ex..
AWS Route 53 Global Resolver today keys: route 53, global, resolver, 리졸버, anycast, dns, firewall, query, awsRoute 53 Global Resolver는 인터넷이나 지사, 온프레미스 같은 외부 환경의 클라이언트가 AWS의 전역 Anycast IP를 통해 DNS 질의를 보낼 수 있게 해주는 관리형 DNS Resolver입니다.여러 위치의 사용자가 하나의 DNS 진입점을 사용하면서도, 접근 제어와 DNS 보안 정책을 중앙에서 적용할 수 있습니다.이번 포스팅에서는 Route 53 Global Resolver를 생성한 뒤, 허용된 IP만 DNS 질의를 할 수 있는지와 DNS Firewall로 특정 도메인을 차단할 수 있는지를 실습으로 확인합니다.또한 Query Type 조건을 ..
RHEL에서 dnsmasq를 활용하여 Conditional Forward 구성(Split DNS) today keys : conditional forward, 조건부 전달, dns, dnsmasq, rhel, 레드햇, redhat, split, 도메인, 질의, domain리눅스 서버를 운영하다 보면, 일반적인 도메인 조회는 기본 DNS 서버로 보내되, 특정 도메인만 별도의 DNS 서버로 조회해야 하는 경우가 있습니다. 예를 들면 이런 경우입니다. 사내 서비스 도메인만 내부 DNS로 조회해야 하는 경우 특정 사설 존(example.local, corp.internal)만 별도 DNS로 보내야 하는 경우 특정 퍼블릭 도메인에 대해 별도의 네임서버 정책을 적용해야 하는 경우 이런 요구사항을 만족시키기 위해 흔히 떠올리는 방법이 systemd-resolved 기반 split DNS 구성인데, 실제로 NIC가..
DNS 스티어링(DNS Traffic Steering) 이해하기 Today Keys : dns, traffic-steering, dns-steering, gslb, authoritative, recursive, resolver, ttl, caching, health-check, geodns, latency-routingDNS 트래픽 스티어링이란? DNS 스티어링(혹은 traffic management)은 권한(Authoritative) DNS가 질의(Query)에 대해서 동일한 도메인이라도 상황에 따라, 응답을 다르게 하여, 사용자의 트래픽이 지리적으로 가까운 곳이나, 서비스의 상태(Health), 비율(가중치) 등으로 갈 수 있도록 하는 것을 뜻 합니다. DNS 스티어링의 동작 위치DNS 질의는 보통 다음과 같이 흐르게 됩니다. 이 때, DNS 스티어링의 응답 값에..
Windows 네트워크 트러블 슈팅 명령 : Test-NetConnection (포트/경로 확인) Today Keys : windows, powershell, test-netconnection, tcp, port, traceroute, dns, troubleshooting, firewall, routing 실무 환경에서, '인터넷이 안 돼요', '특정 서비스가 안 열려요'와 같은 이슈를 받으면, 가장 먼저 하는 일들은 DNS 질의는 잘 되는지, 목적지까지 통신이 되는지, 서비스 포트는 열리지 않았는지 등을 먼저 체크하게 됩니다. 사용자들의 환경 중의 상당 수가 윈도우 환경이기 때문에 보통 이럴 때 가장 많이 사용되는 명령어가 ping이나, tracert, nslookup 같은 명령어를 사용하여 점검을 합니다. 이번 포스팅에서는 PowerShell에서 기본적으로 사용 가능한 Test-NetConne..