반응형

◆ DNS(Domain Name System) 란 ?

인터넷 도메인 이름들의 위치를 알아내기 위해 IP 주소로 바꾸어주는 서버

도메인 이름은 인터넷 주소로서 사람들이 기억하기 쉽게 하기위한 표기 수단

인터넷에서 어떤 컴퓨터를 실제로 찾기 위해서는 숫자 체계로 된 IP 주소를 매칭해주는 것

 

 BIND(Berkeley Internet Name Domain) ?

BIND는 구성이 쉽고 표준을 따르는 도구로서 리눅스, Unix에 가장 널리 사용되는 DNS 프로그램

 

DNS master nameserver - 데이터 관리 측면에서 원본 존 데이터를 관리함

DNS slave nameserver - 마스터 네임서버를 동기화해서 사용함

 

chroot(change root)

named 계정의 권한이 최상위(/) 디렉터리까지 자유롭게 이동할 수 있는 권한을 가지기 때문에 보안에 취약

 

chroot는 DNS 서버의 보안을 높이기 위한 방식으로 /var/named/chroot 디렉터리를 최상위 루트로 인식하여 상대경로로 파일을 참조

 

 

(1) bind 설치

 master 구성

yum 으로 bind 설치

 

 

 

 dns 설정 파일(named.conf)

listen-on port 53 : 외부영역에서 네임서버가 53번 포트 접속에 대한 ip를 설정하는 부분

 

any로 변경하지 않으면 로컬에서만 사용 가능하게 됨

 

directory : 각 도메인의 zone 파일의 위치를 지정

 

dump-file : 정보가 갱신될 때 저장되는 파일

 

statistics-file : 통계파일이 생성되는 절대경로와 파일이름을 지정

 

memstatistics-file : 메모리 관련 통계파일이 생성되는 절대경로와 파일이름을 지정

 

allow-query : 네임서버 쿼리를 허용할 IP 혹은 IP 대역을 설정

 

allow-transfer : 네임서버로의 접근을 제어

 

blackhole : 서버가 문의를 받아들이지 않거나 해결하기 위해서 사용하지 않게되는 주소의 리스트 지정, 이 주소로부터의 문의는 응답 없음

 

recursion yes : 재시도를 의미, 여러개의 네임서버가 존재 할 때 순차적으로 질의 후 다시 1차 네임서버로 질의를 할 것인지를 선택

 

dnssec-enable yes : DNSSEC 서명검증 기능 설정(공개키 암호화 방식으로 데이터 위조-변조 공격을 막는 설정)

 

dnssec-validation yes : DNSSEC 검증 확인 설정

 

session-keyfile : master 와 slave 간의 보안 트랙잭션 설정

 

forwarders : 자신의 네임서버에 질의 요청이 들어오면 지정한 IP 주소의 네임서버로 forwarding 함

 

pid-file : 네임 서버의 PID를 기록할 경로를 지정

 

notify yes_or_no : zone 영역이 바뀌었음을 2차 네임 서버에 알리는 설정 항목

 

cleaning-interval number : 입력한 시간마다 네임 서버는 캐시를 청소

 

interface-interval number : 입력한 시간마다 인터페이스를 검색함

 

logging : 네임서버 실행에 있어서 디버깅시 참고 할 수 있는 로그파일 생성 위치 지정

 

zone : 루트도메인에 대한 설정을 named.ca라는 파일에 참조하라는 설정,

 

type 값은 hint(루트도메인 지정), master(1차 네임서버), slave(2차 네임서버)

 

 

 

listen-on port 53 {any;};

: DNS port 53 에 대한 모든 IP 가 접근 가능하도록 설정

 

allow-query {any;};

: DNS 서버의 쿼리를 모든 ip 대역이 허용하도록 설정

 

recursion yes

: 도메인에 접속하기 위해 어떤 과정을 거쳐 답을 찾아 오는지에 대한 정보를 설명

 

 

● named.rfc1912.zones

Caching-nameseyrver package 파일

DNS서버에 IP와 도메인을 비교해주는 파일인 zone 파일과 rev파일의 경로와 정보가 있는 파일

zone : 도메인을 입력

type : 서버 타입 지정(master,slave)

file : zone 파일 이름 설정

allow-update : 동기화 할 slave 서버의 ip 지정

 

named 데몬시작 -> /etc 디렉토리에 위치한 네임서버의 원본 설정 파일이 해당 디렉터리에 복사

 

 

기존의 named.localhost 파일을 이용하여 새로운 zone 파일 생성 후 소유권을 root 에서 named로 변경

 

 

● zone 파일 설정

Record 종류

 

A : 호스트 IP 주소

 

NS : 도메인의 네임서버 정보

 

CNAME : 원래 도메인 네임을 별칭으로 매핑

 

SOA : 도메인의 Start of Authority(시작점), Zone의 속성 정보 지정

 

WKS : 호스트의 특정 IP주소 및 해당 IP 주소를 통해 제공하는 TCP/UDP 서비스 포트정보 지정

 

PTR : 도메인 네임을 매핑함, 주로 IP 주소의 도메인네임 지정에 사용

 

HINFO : 호스트의 CPU 정보와 운영체제 정보

 

MINFO : 메일박스와 메일리스트 정보

 

MX : 도메인의 MX(Mail Exchange) 서버

 

TXT : 호스트에 대한 텍스트 정보

 

RP : 도메인 네임별 담당자 정보

 

AFSDB : AFS DB 위치정보

 

X25 : 도메인 네임의 X.25 주소정보

 

ISDN : 도메인 네임의 ISDN 주소정보

 

NASP : 주소정보

 

SIG : 보안 서명을 저장

 

KEY : 보안 키를 저장

 

GPOS : 도메인 네임의 지리적 위치정보 위도, 경도 , 고도

 

AAAA : AAAA 레코드의 값은 16진법 형식의 IPv6 주소

 

SRV : 특정유형의 서비스를 지정된 DNS호스트의 목록에 매핑

 

A6 : IPv6 Prefix 및 주소정보

 

DNAME : 도메인 매핑 정보

 

zone 파일 설정시 루트 도메인(.) 중요

 

 

 

● zone 파일 설정 형식

host_name [TTL] class record_type data

 

host_name : 설정 하고 싶은 호스트 네임을 지정

 

TTL(Time To Live) : 호스트 이름을 정의해 갔을 때 질의해 간 다른 네임서버가 해당 IP주소를 캐시에 저장하는 기간 => 1행에서 default 값을 지정 했으므로 생략 가능

 

class : IN => internet 클래스를 가리킴

 

record_type : 사용하려는 record_type 지정

 

data : 각 레코드 타입에 해당하는 데이터 설정

 

 

 

● zone 파일 내용

$TTL(Time To Live) : 호스트 이름을 정의해 갔을 때 질의해 간 다른 네임서버가 해당 IP주소를 캐시에 저장하는 기간

 

@ : /etc/named.rfc1912zones에 정의된 hwlee.hyee.site 를 의미

 

IN : 클래스 이름으로 internet 의미

 

SOA(Start Of Authority) : 권한의 시작을 뜻함

 

serial : 버전정보(serial 숫자로 업데이트 되었는지 판단)

 

refresh : 상위 네임 서버에게 업데이트된 정보를 요청하는 간격

 

retry : 상위 네임 서버에 문제 발생시 재접속 간격

 

expire : 상위 네임 서버에 접속 못할 경우 이전의 정보를 파기하는 간격

 

minimum : 이 시간 이후에 정보가 삭제됨

 

 Master-Slave는 동기화 과정을 통해 zone 파일을 관리하게 되는데, zone 파일의 SOA 필드에 있는 serial을 확인하여 이 파일이 업데이트가 되었는지 판단, serial이 증가 했을 경우 파일이 업데이트된 것으로 판단하고 동기화 과정을 통해 slave 서버로 zone 파일을 전송

 

 

 

설정 방법

예시)

 

8

IN : internet 클래스

NS : 도메인의 네임서버 정보를 나타냄

ns.hwlee.hyee.site : 네임서버 입력

 

10

IN : internet 클래스

A : 호스트 IP 주소 type을 나타냄

121.254.171.244 : 호스트 IP 주소

 

14

www : 호스트 네임

IN : internet 클래스

A : 호스트 IP 주소 type을 나타냄

121.254.171.244 : 호스트 IP 주소

 

16

HINFO : 호스트 정보를 표시하는 레코드

"CentOs" : 시스템의 정보를 제공하기 위해 사용

 

17

MX 10 : Mail Exchange 설정

 

19 20

CNAME 레코드는 host_name에 대한 alias 기능을 함

ftp.rootman.co.kr  linux.rootman.co.kr에 링크 시켰다고 생각하면 됨

 

 

 레코드 값 변경 후 빠르게 업데이트 하는 방법

호스트의 IP(A 레코드)를 변경하면 네임서버에서는 변경 즉시 해당 내역이 적용되지만 기존에 등록되어 있던 IP는 여전히 전세계의 cache DNS에 남아있을 수 있고 해당 cache가 남아 있을 수 있는 시간(TTL)이 경과하여야 전세계의 cache DNS에서 변경이 완료 됨

 

도메인의 레코드(: www.domain.com)에 대한 TTL을 확인(| TTL  4시간)

TTL값을 최대한 낮춤(| 5), 이 때 IP주소는 변경하지 않음

기존 TTL값 만큼의 시간(| 4시간)을 기다린 다음 IP주소를 변경

 

 

설정 후 재시작

 

방화벽에서 dns 포트인 53번 열기

 

53번 포트 up 확인

 

정방향 정상 작동

 

 

dig 명령어로 등록된 네임서버를 이용하여 도메인 조회

 

 

 

◆ slave 서버 구성

클라이언트 서버에 dns slave 서버 구축

 

외부영역에서 네임서버가 53번 포트 접속에 대한 ip를 설정하는 부분

any로 변경하지 않으면 로컬에서만 사용 가능하게 됨

recursion no

: 보조 서버로서 recursion 이 허용 되어 있으면 DNS cache poisoning 공격에 최약하며 일종의 증폭기 또는 좀비로 악용되어 특정 시스템 또는 네트워크에 공격할 가능성이 있음

 

 

slave는 master에서 파일을 가져오기 때문에 allow-update를 할 필요 없음

대신 master가 누군지 알려주는 정보가 있어야 함

named 데몬(slave 서버) master정보를 master 서버에서 받아옴

 

 

named 그룹에 쓰기권한 부여

=> 쓰기 권한이 있어야 slave 파일을 master 파일로부터 받아와서 쓸 수 있음

 

 

부팅시 항상 named 데몬 enable 설정

 

 

 

방화벽에 dns 포트(53) 번 열기

 

 

dns master 서버에 slave 서버 등록

 

 

slave 서버 재시작

 

 

resolv.conf : 다양한 운영 체제에서 시스템의 도메인 이름 시스템 확인자를 구성하는 데 사용

슬레이브 서버에 마스터 네임서버 등록

 

슬레이브 서버 dns 동작 확인

 

마스터 dns 서버에서 설정한 zone 파일 보내짐

 

 

마스터 서버에서 보낸 zone 파일 슬레이브 서버에서 확인

 

 

master 서버 zone파일 내용 변경 시 slave 서버에 자동으로 파일 보내진 것을 log로 확인

 

 

 

슬레이브 dns 서버 작동 확인

dig 를 이용하여 ns2.hwlee.hyee.site 에 질의, 대상은 hwlee.hyee.site 타입은 ns(네임서버 정보)

 

 

 

master 네임 서버가 동작하지 않을 경우 slave 네임 서버가 대신하여 정보를 제공하는지 테스트

master 네임 서버 데몬 중지 후

 

 

slave 네임 서버 nslookup 명령어 정방향 조회 시도(성공)

 

 

 

(2) rndc 사용

 

● rndc ?

: remote named controy utility의 약자로 다수의 네임서버를 안전하게 컨트롤하기 위해 설정

 

rndc.key 내용

 

 

/etc/named/conf 파일에 설정

rndc-key 설정

control 은 제어할 원격 네임서버 ip, 포트 , 키를 설정

 

첫번째 controls 는 로컬에서 사용

 

두번째 controls  slave에서 사용

 

named.conf 에 rndc.key 를 직접 설정하는 방법이라서 /etc/rndc.key 파일을 참조 안함

 

 

rndc 상태 확인

 

/etc/rndc.key 파일을 named.conf  include 시키기

rndc.key 파일을 사용함

 

named.conf 설정 파일에서 rndc.key 를 참조

 

 

 

master 서버에도 rndc 사용할 953 포트 방화벽 열어주기

 

 

iptables 파일 변경 하였으므로 다시 읽어오기

 

 

설정 변경 하였으므로 reload

 

rndc 상태 확인

 

 

master/slave 서버가 rndc.key를 이용하여 서로 접속하기

master 서버 named.rfc1912.zones 파일에서 slave 서버를 허용 해야함

 

 

named.rfc1912.zones 파일 수정 하였으므로 재시작

 

 

master 서버에서 보낸 hwlee.hyee.site.zone 파일을 slave 에서 확인

 

 

master 서버의 named.conf 파일에서 slave 서버에 허용 설정

 

slave 서버에서 master 서버에 대한 내용 설정

 

설정 변경 후 재시작

 

slave  서버에  master 의  rndc.key  복사 해오기

 

 

복사해온 master의 rndc.key 의 권한을 named 로 바꾸기

 

 

 

slave 서버 rndc 사용할 953 포트 방화벽 열어주기

 

iptables 파일 변경 하였으므로 다시 읽어오기

 

 

slave 서버에서 master 서버로 rndc 명령어를 사용 하여 상태확인

 

 

rndc -s [서버 ip] -k [키파일] reload (성공)

 

 

 

● rndc 명령어

rndc reload : rnamed.conf 파일과 zone 파일를 다시 로드

 

rndc reload zone : zone 파일을 다시 로드

 

rndc reconfig : named.conf 와 새롭게 생성 된 zone 파일을 다시 로드

 

rndc stats : 통계 파일 생성(쓰기)

 

rndc querylog : 질의에 관련된 로그를 설정 토글(toggle)

 

rndc dumpdb : DB에 대한 덤프 설정(덤프 파일 생성)

 

rndc status : BIND 서버에 대한 통계 출력

 

rndc recursing : 현재 외부 질의하고 있는 쿼리를 수집

 

rndc flush : 캐시 삭제

 

rndc retransfer zone : 단일 영역 동기화

 

rndc trace [level] : 디버깅 정보를 named.run 이라는 파일로 붙여넣음

 

 

 

● rndc 사용법

b : 주소

c : 설정

s : 서버

p : 포트

k : 키 파일

y : 

 

 

 예시

rndc, master서버, 키 파일 /etc/rndc_master.key 인증으로 상태보기

 

 

master 서버에서 zone 파일 수정 후 slave 서버 zone 파일 업데이트

수정 전 zone 파일

 

수정 후 zone 파일

 

 

master 서버 다시 읽어오기

 

slave 서버에서 log로 master 서버 zone 파일 업데이트 확인

 

 

-> 수정 된 zone 파일의 serial 넘버가 수정 전 zone 파일의 serial 넘버보다 클 때 slave 서버는 master 서버의 zone 파일을 업데이트 함

 

 

 

 

반응형
반응형

 

1. 도메인 조회 구조에 대한 이해

● 구조

 

인터넷상에서 사용되는 도메인은 전 세계적으로 고유하게 존재하는 이름정해진 규칙 및 체계에 따라야 하며, 임의로 변경되거나 생성될 수 없다.

 

인터넷상의 모든 도메인은 ".(dot)" 또는 루트(root)라 불리는 도메인 아래에 그림과 같이 나무를 거꾸로 위치시킨 역트리(Inverted tree)구조로 계층적으로 구성되어 있다.

 

루트 도메인 바로 아래의 단계를 1단계 도메인 또는 최상위도메인(TLD, Top Level Doamin)이라고 부르며, 그 다음 단계를 2단계 도메인(SLD, Second Level Domailn)이라고 한다.

 

 

 질의 과정

 

① 웹 브라우저에 www.naver.com을 입력하면 먼저 Local DNS에게 "www.naver.com"이라는 hostname에 대한 IP 주소를 질의하여 Local DNS에 없으면 다른 DNS name 서버 정보를 받음(Root DNS 정보 전달 받음)

 

 Root DNS 서버에 "www.naver.com" 질의

 

 Root DNS 서버로 부터 "com 도메인"을 관리하는 TLD (Top-Level Domain) 이름 서버 정보 전달 받음

 

 TLD "www.naver.com" 질의

 

 TLD에서 "name.com" 관리하는 DNS 정보 전달

 

 "naver.com" 도메인을 관리하는 DNS 서버에 "www.naver.com" 호스트네임에 대한 IP 주소 질의

 

 Local DNS 서버에게 www.naver.com에 대한 IP 주소를 222.122.195.6 응답

 

 Local DNS www.naver.com에 대한 IP 주소를 캐싱을 하고 IP 주소 정보 전달

 

Recursive Query : Local DNS 서버가 여러 DNS 서버를 차례대로 (Root DNS 서버 -> com DNS 서버 -> naver.com DNS 서버) 질의해서 답을 찾아가는 과정

 

 

2. named.conf 옵션에 대한 이해

 

변경 전 : listen-on port 53 {127.0.0.1;};

변경 후 : listen-on port 53 {any;};

기본설정은 127.0.0.1(localhost)에게만 listen하기 때문에 외부 접속은 불가능

따라서 서버에 설정된 모든 IP에 대해 listen 하기 위해 any로 변경

 

변경 전 : allow-query {localhost;};

변경 후 : allow-query {any;};

네임서버에 설정된 도메인만 응답하도록 설정

변경 전에는 localhost만 응답, 변경 후에는 네임서버에 설정된 도메인 전체 응답

 

변경 전 : recursion no

변경 후 : recursion yes

변경 후에 여러개의 네임서버가 존재 할 경우 순차적으로 질의 후 다시 1차 네임서버로 질의 할 것인지 선택

master 서버는 필요, slave 서버는 필요 X

 

변경 전 allow-transfer {none;}; => 모두 deny

변경 후

allow-transfer {any;}; => 모두 허용

allow-transfer {127.0.0.1; 121.254.171.242;}; => 특정 IP만 허용

allow-transfer {key rndckey;}; => rndc key 사용

 

dnssec-enable yes/no

기존의 DNS에 공개키 암호화 방식의 보안기능을 추가 부여하여 DNS의 보안성을 대폭 강화 여부 설정

 

forward first; (or only;)

네임서버로 오는 질의를 특정 호스트로 포워딩

First 는 네임서버로 들어오는 질의를 forwarders로 지정한 외부 서버에서 먼저 처리하고 적절한 해답을 찾지 못할 경우 로컬에서 처리

Only 는 네임서버로 들어오는 질의를 forwarders 로 지정한 외부에서만 해결

 

Forwarders {IP Address;}

forward를 처리할 외부 서버의 IP 주소를 정의

 

3. zone 파일 분석

 

1행

$TTL 60 (60 : 1)

: 이곳에 설정한 도메인에 대한 정보를 다른 네임서버에서 읽어간 다음 읽어간 네임서버측에 얼마동안 보관하고 있을 것인가를 설정하는 항목

 

2

@ : ORIGIN을 의미하는 특수문자로 public domain 을 의미

IN : 다음으로 나오는 우측 설정을 사용한다는 의미

SOA : ns1.oooooo.com 도메인 네임서버에 대한 모든 정보를 가지고 있으며 관리자는 root.oooooo 이라는 메일로 설정함을 의미

 

 주의할 점 : 도메인 이름을 적은 다음에는 항상 .() 루트 도메인을 표시

ns1.oooooo.com => ns1.oooooo.com.oooooo.com

ns1.oooooo.com. => ns1.oooooo.com

 

3

serial : 시리얼값 변경 내용으로 slave 서버가 master 서버의 zone 파일을 업데이트 할 지 결정

serial 값이 기존의 값보다 증가 하였을 경우 slave 서버 에서 master 서버의 zone 파일을 다시 전송 받음 (YYYYMMDDnn 으로 기본 설정)

 

4

refresh : 보조 네임서버가 주 네임서버에 접속하는 시간 (1D : 하루)

 

5

retry : refresh에 지정된 주기로 체크하다가 장애 등으로 인해 접속 실패시 다시 시도할 시도 간격 (1W : 1시간)

목적 상 refresh 값 보다 적어야 함

 

6

expire : 주네임서버에서 데이터가 없으면 파기하는 기간(1W : 1)

 

7

minimum : 도메인 정보를 다른 네임서버에서 가져갔을 때에 가져간 도메인정보를 얼마나 보관하고 있을 것인가에 대한 시간 값(3H : 3시간)

TTL값이 명시되지 않은 레코드는 Minimum 값을 기본으로 갖게 됨

9

IN : internet 클래스를 나타냄

NS : 도메인의 네임서버 정보를 나타냄

ns1.oooooo.com. : 네임서버 도메인을 ns1.oooooo.com으로 지정

 

11

IN : internet 클래스를 나타냄

MX 10 : 우선순위가 빠른 10번의 mail..com. 에서 메일을 수신oooooo

mail.oooooo.com. : mail.oooooo.com 도메인으로 메일을 메일서버로 지정

 

12

IN : internet 클래스를 나타냄

TXT :소유한 도메인에 간단한 텍스트 데이타를 입력하는 기능

v=spf1 : 사용하고 있는 SPF의 버전

IP4 : 허용하고있는 모든 서버 IP주소

-all : 위 목록 이외의 다른 곳에서 보낸 메일을 받아들이지 않음

 

15

ns1 : nameserver 1을 의미

IN : internet 클래스

A : 해당 호스트가 어떤 아이피를 가르키는지를 설정 (A다음엔 IP가 와야함)

 

※ 9~ 19행 처럼 첫번째 항목에 @나 아무것도 입력하지 않으면 네임서버 환경설정 파일에서 설정한 도메인(oooooo.com)으로 인지함

 

 

4. zone 파일 추가 하여 조회 해보기 (TXT 레코드와 SPF 정책 개념)

 

(1) TXT 레코드 값 설정 / 개념

TXT 레코드 란 ?

: 도메인 외부의 소스에 텍스트 정보가 포함된 DNS 레코드 유형

 

TXT 레코드를 사용하여 피싱, 스팸, 기타 악의적인 활동을 방지할 수 있다.

 

TXT 레코드는 도메인 이름을 임의의 텍스트 문자열에 매핑하는 데 사용된다. 특히 SPF(Sender Policy Framework) 및 DKIM(DomainKeys Identified Mail)과 같은 이메일 구성과 관련된 여러 애플리케이션에서 사용된다.

 

DNS 표준은 여러 문자열을 포함하는 하나의 TXT 레코드를 허용하며 각각의 문자열 길이는 최대 254자까지 가능하다. 여러 문자열이 사용되는 경우 이러한 문자열은 클라이언트에 의해 연결되고 단일 문자열로 처리된다.

 

Azure DNS REST API를 호출할 때 각 TXT 문자열을 별도로 지정해야 한다. Azure Portal, PowerShell 또는 CLI 인터페이스를 사용할 때는 레코드당 하나의 문자열을 지정해야 하며 필요한 경우 자동으로 254자 세그먼트로 나뉜다.

 

TXT 레코드 집합은 여러 레코드를 포함할 수 있으며 각각의 레코드는 여러 문자열을 포함할 수 있다. Azure DNS는 모든 레코드가 결합된 각 TXT 레코드 집합에서 총 문자열 길이를 최대 1024자까지 지원한다.

 

dig 명령어로 gmail.com 에대한 TXT 레코드 조회

 

dig 명령어로 redirect 되어있는 _spf.google.com TXT 레코드 조회

 

 

dig 명령어로 include 되어있는 _netblocks.google.com 의 TXT 레코드 의 spf 정책 도메인 확인

 

 

(2) SPF 정책

SPF(스팸 처리 방지) 레코드SPF(스팸 처리 방지) 레코드란?

 

스팸 발송자는 도메인에서 전송된 것처럼 보이는 이메일을 보낼 수 있으며, 이를 위장이라고 한다. 내 도메인 호스트에 SPF(Sender Policy Framework) 레코드를 추가하면 수신자가 이메일이 내 도메인에서 전송되었으며 위장된 메일이 아니라는 것을 알 수 있다. 일반적으로 메일 발송 관련하여 ‘발송자의 메일 서버 정보와‘메일 서버 정보’가 일치하는지 확인할 때 이용된다.

메일 발송 서버가 존재하는 경우에는 SPF와 TXT에 입력되어 있어야 한다.

 

SPF(스팸 처리 방지) 레코드 주의사항

SPF를 인식하지 못하는 버전의 메일 수신 서버에서는 TXT에 동일한 정보를 입력하지 않으면 스팸 메일로 처리해서 반송될 수 있다.

SPF와 TXT 두 개 레코드로 관리할 경우 동일한 정보로 관리해야 한다.

 

 

(3) TXT 레코드, SPF 정책 추가(zone 파일 추가)

 

12번 행

v=spf1 : 사용하고 있는 SPF의 버전

ip4 : ipv4 규약의 ip 주소와 비교

특정 ip 지정(121.254.171.244) : 메일서버에서 메일이 나가지만 웹서버에서도 회원 가입, 패스워드 문의, 각종 정보 전송등 메일이 발송되기 때문에 자기 도메인에서 외부로 발송되는 모든 IP에 대한 SPF등록이 이루어져야 함

 

all은 레코드 값의 가장 뒤에 지정, 앞의 설정 이 외의 나머지를 의미

-all (fail) 앞의 조건과 맞지 않으면 거부

~all (softfail) 앞의 조건과 맞지 않으면 특정 헤더를 남기고 통과

+all (pass) 무조건 통과, 기본값(+)

?all (neutral) 신경쓰지 않음

 

 

반응형
반응형

 

dig 옵션 및 사용법

 

● dig (domain information groper) ?

DNS 네임서버에 쿼리를 보내기 위한 유용한 툴로서 DNS lookup 과 쿼리를 보낸 네임서버로부터 돌아오는 응답을 출력하게 됨

dig의 유연하고 편리하기 때문에 대부분의 DNS 관리자들은 DNS장애 시 troubleshoot 를 위해 dig를 사용

 

※[명령어 사용법] dig [@server domain] [query-type] [query-class]

 

@server : 질의를 하고자 하는 DNS 서버로 만약 name server를 명시하지 않으면 시스템의 resolv.conf 에 있는 네임서버에 query를 시도

domain : 질의 대상 도메인 또는 도메인호스트 이름

type : 질의에 사용할 Resource Record 타입

 

● query-type

a : 도메인의 아이피 정보 ( network address )

any : 지정된 도메인의 모두/임의의 정보

mx : mail exchanger 정보

ns : name server 정보

soa : Zone 파일 상단의 authority 레코드

hinfo : host 정보

axft : zone transfer ( authority를 갖는 특정 네임서버에 질의 )

txt : 임의의 수의 캐릭터 라인 (arbitrary number of strings)

zone transfer : 해당 도메인의 zone에 대한 복사본을 얻기 위해 primary 로부터 zone 데이타베이스를 끌어오는 작업

 

query-class  ?

: query network class 부분(확인하고자 하는 도메인), 생략하면 in  default(in = internet )

in : 인터넷 클래스 도메인 (internet class domain)

any : 모든 클래스 정보 (all/any class information)

zone transfer : 해당 도메인의 zone 에 대한 복사본을 얻기 위해 primary 로부터 zone 데이타베이스를 끌어오는 작업

 

● dig 옵션

-b : source IP를 다른 IP로 설정

-f : batch 모두 동작시 파일이름을 지정

-m : debugging

-p : 53 이외의 포트번호를 지정

-4 or -6 : IPv4 또는 IPv6 강제 지정

-t : Type를 지정

-c : Class 지정

-x : reverse lookup

+tcp : TCP 프로토콜 사용

+trace : delegation path 추적

+short : Answer Section 결과만 표시

+comments : Comments Section 표시

+question : Question Section 표시

+answer : AnsWer Section 표시

+authority : Authority Section 표시

+additional : Additional Section 표시

+stats : Statistics Section 표시

+all : Comments부터 Statistics Section 모두 표시

+multiline :  record를 여러 줄로 보기 좋게 표시

 

 출력 내용

쿼리에 대한 결과를 ANSWER SECTION에 출력

해당 도메인의 인증을 갖는 네임서버 정보를 AUTHORITY SECTION에 출력

글루레코드 등이 있을 경우 그에대한 정보를 ADDITIONAL SECTION에 출력

 

 

도메인주소를 입력하면 /etc/resolv.conf에 등록된 네임서버를 이용하여 도메인을 조회

 

 

 

도메인주소를 특정 네임서버를 통해 조회

 

 

요청한 도메인의 대한 전 과정을 추적한 결과 조회

 

 

지정한 도메인의 메일서버 정보 조회

 

 

 

 

nslookup 옵션 및 사용법

 

 

● nslookup 이란 ?

name server 관련한 조회를 할 수 있는 명령어

서버의 네트워크가 제대로 설정되었는지 확인하는 용도로도 사용

 

 명령어 사용법

nslookup [-type = record] DomainName DNS server

 

nslookup 명령어 뒤에 도메인을 지정(기본 사용법)

 

 

● 옵션

SRV : 정방향

PTR : 역방향

CNAME : 실제 또는 정식 도메인 이름에 별칭 이름을 매핑하는 DNS 레코드

 

 

aaaa : IPv6를 의미

 

MX : 메일서버

 

NS : 네임서버

 

 

SOA : 마스터네임서버

 

 

 

txt : 텍스트

 

IP로 domain name 을 찾는 기능

 

 

외부의 DNS를 지정해서 조회

 

whois 란 ?

 

도메인 이름의 소유자가 누구인지 알려주는 명령어

해당 도메인 이름이 이미 다른 사람에 의해 사용중인지 확인하는 용도로 많이 쓰임

도메인 주소와 네트워크 블록 단위 IP 주소를 검색할 때 유용

 

 명령어사용법 : whois [옵션] [QUERY]

 

 

● 옵션

 

-v, -verbose 자세한 디버그 출력

 

-c FILE, -config : FILE FILE을 구성 파일로 사용함

 

-h 호스트, -host : HOST 명시 적 호스트 쿼리

 

-n, -no-redirect : 콘텐츠 리디렉션을 사용하지 않음

 

-a, -raw : 쿼리의 형식을 다시 지정하지 않음

 

-i, -display-redirections : 모든 리다이렉션을 숨기는 대신 표시

 

-p PORT, -port : PORT 포트 번호 PORT 사용 (HOST와 함께 사용)

 

-r, -rwhois : 강제 및 rwhois 쿼리를 작성

 

-Rwhois-display : rwhois 쿼리에 표시 옵션을 설정

 

-Rwho-limit : 반환 할 일치 항목의 최대 수를 설정

 

 

domain 주소로 검색

 

 

● 내용

 

Domain Name : 도메인 네임

 

Registry Domain ID : 레지스트리 도메인 아이디

 

Registrar WHOIS Server : 레지스트리 whois 서버

 

Registrar URL : 레지트스티 URL

 

Updated Date: 업데이트 날짜

 

Creation Date : 만들어진 날짜

 

Registry Expiry Date : 레지스트리 만료일

 

Domain Status : 도메인 상태

 

Name Server : 네임 서버

 

DNSSEC : DNS 보안성 확장

 

 

 

 

 

 

 

 

 

 

반응형

+ Recent posts