본문 바로가기

Network System/Linux

Linux Bind9 Setting

※ 데비안 리눅스 활용과 보안 도서를 참고

 

DNS(Domain Name Server)

= 사용자가 입력한 도메인 네임을 IP 주소로 변환해주는 기능을 수행

 

- 응용 계층에 속한 프로토콜

- 보통 UDP로 통신하지만 질문의 길이가 512바이트를 넘어서면 TCP로 통신함

- 포트 53

- DNS는 무결성이 중요함, Pharming 참조

 

파밍(Pharming) - DNS Spoofing

파밍 : 사용자가 웹 브라우저로 정확한 도메인 사이트를 입력하였는데 가짜 웹 페이지로 접속되어 개인정보를 훔치는 것

Spoofing : 속이다, MAC주소나 IP주소 등을 속임을 이용해서 하는 공격

 

DNS Spoofing : 변질된 DNS 데이터가 DNS 전달자의 캐시에 유입되어서 네임서버가 유요하지 않은 결과를 반환하게 됨

[ 시나리오 ]

1) 철수의 컴퓨터가 DNS Spoofing를 당했음

 

2) 철수가 www.naver.com의 도메인을 입력하고 네이버 접속을 시도함

(가정 : 네이버 IP주소는 10.10.10.10이다.)

 

3) 철수는 네이버 IP주소로 접근하지 않고 11.11.11.11이라는 IP주소로 접속이 됨

(가정 : 하지만 11.11.11.11 주소의 페이지는 네이버와 똑같이 생겼음, 그러나 개인정보를 입력하면 해커의 서버로 날라가게 됨)

 

4) 철수는 변한 것을 모르기 때문에 자신의 ID와 PASSWORD를 입력하고 로그인을 진행함

 

5) 철수는 아무것도 모르고 개인정보를 털림

 

Check 명령어

named-checkconf /etc/bind/named.conf.local

- 도메인에 대한 zone 설정을 작성하는 곳이다.

- 이 명령어로 문법검사를 시행한다.

 

named-checkzone (도메인) (zone파일 경로)

- 본 명령어를 입력 후 OK가 뜨면 성공적으로 로드가 된 것이다.

 

hosts 파일

hosts : 입력받은 도메인을 가장 먼저 검색을 하는 곳, 일종의 로컬 DNS서버라고 생각하면 됨

 

- 하지만 만약 DNS서버에서 먼저 검색을하고 hosts에서 검색을 하고 싶다면 아래와 같이 설정하면 됨

/etc/host.conf

order bind,hosts를 작성함

참고로 기본값은 order hosts,bind로 지정되어 있음

 

[ 경로 ]

- 윈도우 : C:\Windows\System32\drivers\etc\hosts

- 리눅스 : /etc/hosts

 

Windows hosts 경로(왼쪽)와 hosts 파일을 메모장으로 열었을 때(오른쪽)


 

Server

IP Address Setting

 

/etc/network/interface

 

DNS Setting

/etc/resolv.conf

search는 호스트 이름 조회를 위한 검색 목록

 

zone setting

/etc/bind/named.conf.local

public.go.kr의 마스터 타입, zone file의 경로, 모두 접근가능으로 설정

private.go.kr의 마스터 타입, zone file의 경로, 로컬호스트(나만) 접근가능으로 설정

 

 

[ public.go.kr zonefile ]

/etc/bind/public.go.kr.zone

 

 

 

 

 

 

 

 

 

 

 

 

[ private.go.kr zonefile ]

/etc/bind/private.go.kr.zone

 

 

 

 

 

 

 

 

 

 

 

 

Client

/etc/network/interfaces