CentOS에서 네임서버 쉽게 운영하기 2008. 10. 26 김재연.

Slides:



Advertisements
Similar presentations
작성자조성웅 작성일자 Bioworkbench 구현 계층 수준의 기능 정의 사용자 계층작업 분배 계층작업 수행 계층 사용자 환경 제공 작업 수행 요청 작업 요청 기록 작업 순서 관리작업 수행 데이터 관리 계층 작업 분배 관리.
Advertisements

Start of fashion is Victoria’s Secret.
DB2 Information Management DB2 UDB CLP Command Summary.
조준희 (Cho, Junhee) TCP/IP 조준희 (Cho, Junhee)
개발 환경 설치 Embedded System Software
Nortelnetworks VPN & Firewall Contivity 1100.
Chapter 8 Authorization
DNS(Domain Name System)
3 장 인터넷 서비스.
임베디드 시스템 개발을 위한 리눅스 환경설정.
Chapter 7 Networking.
보안 시스템 정보 보안 개론 10장.
입 점 제 안 서 본 제안서를 당사에서 분양중인 대구광역시 동구 율하2택지개발지구 상업시설용지 C3-4,5 번지의 삼우메디빌에 대한 입점제안서로 제출 합니다. 2008년 10월 삼우종합개발.
NFS, FTP coearth, george.
BLUE TOOTH 인터넷미디어공학부 배지태.
Linux LVS Tutorial Austin.
GNS3의 특징과 사용법 VMware Workstation 문찬웅 & 최성민.
Dynamic Host Configuration Protocol
Cisco 단독형 AP LWAPP 변환 Guide
Internet Group Management Protocol (IGMP)
제4장 Cross Compiler 설치.
Toad for Oracle 설치 방법.
Chapter 11 웹 서버 보안.
V44408(다산네트웍스) 개량개선 내역(1.05) KT 네트워크기술지원본부 유선액세스망기술담당 1
MySQL RENO.
Minicom,tftp,nfs설정,vnc설정
Web Servers (IIS & Apache)
제 16 장 DNS 16.1 네임공간 16.2 도메인 네임공간 16.3 네임공간의 분포 16.4 인터넷에서 사용되는 DNS
Domain Name System (DNS)
11장. 데이터베이스 서버 구축과 운영.
모든 내용에 대한 저작권은 BANNA에 있으며, 허가된 사용자 이외에는 사용할 수 없습니다.
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
뇌를 자극하는 Windows Server 장. Windows 배포 서버.
Development Environment of Embedded System : part 1
도메인 네임 시스템 석사 2차 : 최재영 운영체제론.
01. 개요 DNS(Domain Name System)는 인터넷 주소를 IP 주소로 바꾸기 위한 체계적인 방법
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
15장. Samba 서버의 설치와 운영.
Hadoop 김연왕
시스템 보안 백 도 어 학번: 이름: 김 준 일.
제 14 장 도메인 네임 시스템 정보통신연구실.
메일서버 구축 김현지.
11 세션 하이재킹.
DataStage 운영자 지침서 Operator’s Guide
16장. DHCP 서버의 설치와 운영.
DHCP 박윤환 윤준호.
실시간 자원 량 정보 제공을 결합한 Heartbeat
1. 개 요 2. WWW의 용어 3. WWW(World Wide Web) HTTP
Virtualbox static ip 설정
주식회사 글로벌소프트 Active Directory 이해 및 문제해결
Network Security WireShark를 활용한 프로토콜 분석 II.
USB Door Lock System 공 민 표 강 정 이 권 경 곤
「 LINUX IBM SpectrumScale 설치 가이드」
AP3 매뉴얼.
유고결석자 출석인정 안내 Contents 유고결석자 출석인정 사유 신청 시 유의사항 유고결석자 출석인정 절차 흐름도
인터넷주소의 한글화와 Name Lookup Service
9 스푸핑.
Linux 9.X 기초에서 활용까지 Chapter 03 리눅스 설치.
For Linux 1.0.
14 방화벽.
DT-900 HANDY TERMINAL INSTALL 및 사용 방법
웹 기획 강의(8) PowerYouth.
9 스푸핑.
Chapter 17 BOOTP and DHCP.
Internet 인공지능연구실
HTML 1강 웹의 개념 이해 홈페이지 제작교실 다음카페 – 아이시 - 이시형 -.
Chapter 25 DNS (Domain Name System).
Web Server Install.
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

CentOS에서 네임서버 쉽게 운영하기 2008. 10. 26 김재연

목 차 DNS 소프트웨어 설치 기본 환경 설정 존 정보 설정 DNS 운영 보안 설정 동적 업데이트 DNS 관리 프로그램 굴림

DNS 소프트웨어 설치 (1)‏ 설치 환경 : CentOS 5.2 설치 프로그램 : ISC BIND (http://www.isc.org/) 버전 : BIND 9.3.4-P1 설치 방법 (yum 자동 설치 권장)‏ Bind 관련 모든 패키지 설치 # yum install –y bind-* # yum install –y bind bind-utils bind-chroot bind-libs bind-devel bind- libbind-devel bind-sdb

DNS 소프트웨어 설치 (2)‏ 기본으로 chroot 환경으로 설치됨 설정 파일은 수동으로 설정해야 함 “/var/named/chroot/” 디렉토리를 “/” 로 인식 chroot 상위 디렉토리에 대한 허가권을 가질 수 없음 설정 파일은 수동으로 설정해야 함 제공되는 샘플 설정 파일 사용 /usr/share/doc/bind-9.3.4/sample/

DNS 소프트웨어 설정 기본 경로 샘플 파일 경로 모든 샘플 파일을 기본 경로로 복사 환경 파일 : /var/named/chroot/etc/ 존 정보 파일 : /var/named/chroot/var/named/ 샘플 파일 경로 /usr/share/doc/bind-9.3.4/sample/etc/ /usr/share/doc/bind-9.3.4/sample/var/named 모든 샘플 파일을 기본 경로로 복사 cp -rf /usr/share/doc/bind-9.3.4/sample/etc/ /var/named/chroot/ cp -rf /usr/share/doc/bind-9.3.4/sample/var/named/ /var/named/chroot/var/

기본 환경 설정 (named.conf)‏ Options View (internal)‏ View (external)‏ Key

named.conf (1) – options 기본 설정 recursive-clients DNS 질의 처리 가능 최대 클라이언트 설정 값 Cache DNS 설정 시 가용 메모리 용량에 따라 상향 조정 필요 기본값 : 1000, 클라이언트 당 20kb - 총 19.5Mb options { directory "/var/named“; // Zone 파일 기본 디렉토리 dump-file "data/cache_dump.db"; // Dump 파일 생성 경로 statistics-file "data/named_stats.txt"; // 통계 파일 생성 경로 memstatistics-file "data/named_mem_stats.txt"; // 메모리 사용 통계 recursive-clients 10000; };

named.conf (2) – logging 기본 로그 옵션 설정 logging { channel default_debug { file "data/named.run"; severity dynamic; }; category default { default_syslog; default_debug; }; // 기본 설정 category unmatched { null; }; // 기본 설정 (로그를 남기지 않음)

named.conf (3) – view View 설정 Cache DNS 전용 서버는 localhost_resolver view만 설정 내부 네트워크 클라이언트 전용 internal과 외부 클라이언트 external 로 구분 가능 view "localhost_resolver" { match-clients { localhost; }; match-destinations { localhost; }; recursion yes; include "/etc/named.root.hints"; // 루트 서버 정보 파일 include "/etc/named.rfc1912.zones"; // RFC1912 권장 localhost 존 정보 };

named.conf (4) – int. view 내부 네트워크 클라이언트 전용 View view "internal" { match-clients { localnets; }; match-destinations { localnets; }; recursion yes; // 내부 네트워크 클라이언트 recursive 질의 허용 include "/etc/named.root.hints"; zone "cslab.kr" { type master; file “cslab.kr.internal.zone.db"; };

named.conf (5) – ext. view 외부 네트워크 클라이언트 전용 View view "external" { match-clients { any; }; match-destinations { any; }; recursion no; // 외부 네트워크 클라이언트 recursive 질의 금지 include "/etc/named.root.hints"; zone “cslab.kr" { type master; file “cslab.kr.external.zone.db"; };

존 정보(internal) 설정 /etc/named/chroot/var/named/cslab.kr.internal.zone.db $TTL 86400 @ IN SOA ns1.cslab.kr domain.cslab.kr ( 2008102601 ; serial - 1 ~ 24,294,967,295(10자리) YYYYMMDDNN 3H ; refresh – Slave의 업데이트 여부 검사 간격 15M ; retry – Slave의 업데이트 여부 검사 실패 시 재시도 간격 1W ; expiry – Slave가 Master 서버 접속을 실패하면 존 정보 파기 1D ) ; neg. TTL - 존재하지 않는 호스트에 대한 존 정보 보관 기간 IN NS ns1.cslab.kr IN NS ns2.cslab.kr IN A 127.0.0.1 www IN A 127.0.0.1 mail IN A 127.0.0.1 mysql IN A 192.168.0.2 // 내부 네트워크 전용 oracle IN A 192.168.0.3 // 내부 네트워크 전용

존 정보(external) 설정 /etc/named/chroot/var/named/cslab.kr.external.zone.db $TTL 86400 @ IN SOA ns1.cslab.kr domain.cslab.kr ( 2008102601 ; serial - 1 ~ 24,294,967,295(10자리) YYYYMMDDNN 3H ; refresh – Slave의 업데이트 여부 검사 간격 15M ; retry – Slave의 업데이트 여부 검사 실패 시 재시도 간격 1W ; expiry – Slave가 Master 서버 접속을 실패하면 존 정보 파기 1D ) ; neg. TTL - 존재하지 않는 호스트에 대한 존 정보 보관 기간 IN NS ns1.cslab.kr IN NS ns2.cslab.kr IN A 127.0.0.1 www IN A 127.0.0.1 mail IN A 127.0.0.1 IN MX 10 mail.cslab.kr IN TXT “v=spf1 a mx ip4:127.0.0.1 ~all”

RNDC (Name Server Control Utility) (1) 환경 파일 생성 (rndc-confgen 실행) /var/named/chroot/etc/rndc.conf 을 생성 후 내용 복사 # /usr/sbin/rndc-confgen key "rndckey" { algorithm hmac-md5; secret "xxxxxxxxxxxx"; }; options { default-key "rndckey"; default-server 127.0.0.1; default-port 953;

RNDC (Name Server Control Utility) (2) named.conf 파일에 rndc 설정 추가 key "rndckey" { algorithm hmac-md5; secret “xxxxxxxxxxxx "; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndckey"; };

DNS 운영 명령어 (1) 설정 파일 이상유무 확인 # named-checkconf named.conf 서비스 시작 # service named start/ 서비스 재시작 # service named restart 설정 변경 사항 반영 # service named reload 서비스 종료 # service named stop

DNS 운영 명령어 (2) Bind 버전 확인 # named –v BIND 로그 모니터링 # tail -f /var/log/messages Tail –f

DNS 운영 명령어 (3) .kr 도메인 확인 # dig @g.dns.kr. cslab.kr any .com/.net 도메인 확인 # dig @a.gtld-servers.net. cslab.net any .asia 도메인 확인 # dig @a0.asia.afilias-nst.info. relief.asia any

BIND 보안설정 TSIG (Transaction Signature) TSIG는 shared secret key와 단방향 hash 함수를 이용해 DNS 응답/업데이트 메시지를 인증 TSIG 설정 시 DNS의 Additional Section에 TSIG 레코드가 추가됨

BIND 보안설정 (TSIG Key 생성) (1) dnssec-keygen 프로그램으로 키 생성 (2) 생성 파일 확인 -a hmac-md5 : 알고리즘 종류 -b 128 : 키 길이(128 bit) / 최대값 : 512 bits -n HOST : 키 종류 (2) 생성 파일 확인 아래 2개의 파일이 생성됨(숫자 157은 DNSSEC 알고리즘(HMAC-MD5) 번호/숫자 XXXXX 키의 지문) K{name}.+157.+{random}.key # /usr/sbin/dnssec-keygen –a hmac-md5 –b 128 –n HOST cslab.kr. Kcslab.kr.+157+XXXXX.key Kcslab.kr.+157+XXXXX.private

BIND 보안설정 (TSIG 설정) named.conf 수정 key 부분은 별도로 /var/named/chroot/etc/dns.keys.conf 로 저장하여, named.conf 에 include 구문으로 삽입 권장 zone “cslab.kr" { type master; file “cslab.kr.external.zone.db"; // TSIG Key Based Access Control allow-update { key key.cslab.kr.; }; }; key "key.cslab.kr" { algorithm hmac-md5; secret "XXXXXXXXXXXXXXXXXXXX"; }; include "/etc/dns.keys.conf";

BIND 보안설정 (기타) BIND 버전 정보 숨기기 named.conf 설정 추가 rndc reload 후 dig 명령어로 확인 options { version "DNS"; }; # dig version.bind txt chaos

BIND 보안설정 (기타) allow-query : 존 쿼리 제한 allow-transfer : 존 전송 제한 allow-update : 존 업데이트 제한 zone “cslab.kr" { type master; file “cslab.kr.external.zone.db"; allow-query { 127.0.0.1; 192.168.0.0/24; }; allow-transfer { 127.0.0.1; 192.168.0.0/24; 164.125.36.31; }; //allow-transfer { none; }; allow-update { 127.0.0.1; 192.168.0.0/24; 164.125.36.31; }; //allow-update { none; }; // TSIG Key Based Access Control //allow-update { key key.cslab.kr.; }; };

동적 업데이트 클라이언트에서 DNS 레코드 변경이 필요한 경우 DNS 서버에 동적으로 레코드 추가/삭제 기능 제공 동적 업데이트 발생 시 serial 번호를 증가시키고 슬레이브 DNS에 notify를 보냄 사용방법 (-d : 디버그 모드) # nsupdate –d update add dynamic.cslab.kr. 60 A 192.168.0.1 show send TSIG 서명된 동적 업데이트 (XXXX : 키 문자열) # nsupdate -d -y key.cslab.kr.:XXXXXXXXXXXXXXXX

DNS 관리 프로그램 웹 기반 DNS 동적 업데이트 웹 페이지에서 쉽게 존 정보 수정 가능 데모 : http://dnsupdate.cslab.net/

감사합니다. 참고 홈페이지 http://bind.cslab.kr BIND 설치 설명서 및 설정 예제 파일 제공