정확한 시간 정보 설정의 필요성
시스템 로그는 시스템의 시간정보를 사용하여 저장됨
시스템 장애 발생 시, 침해사고 발생 시 등 로그에서 시간정보가 어긋날 경우 파악이 어려움
인증 등에서 시스템의 시간정보를 사용할 경우, 시간이 맞지 않으면 인증 불가 (Kerberos 등)
시스템 시간 정보 설정
수동 설정 : 정밀도 떨어짐
시간 정보를 정밀하게 확인할 수 있는 장치를 사용 : GPS
정밀한 시간 정보를 저장하는 서버로부터 시간 정보를 수신
컴퓨터 및 장치의 내부 시계 : RTC(Real Time Clock)
리눅스 시스템 시간 정보 확인
date
timedatectl
Local Time : 시간정보를 현재 위치정보에 맞춰 보정한 시간
KST: Korea Standard Time 한국표준시 (UTC+9)
Universal Time : 국제표준시(UTC)
영국 그리니치 천문대 (GMT)
RTC : Real Time Clock, 표준시에 매칭됨
ntpd : 과거 (CentOS6과 이전 버전)
chronyd : 현재 (CentOS 7버전 이후)
NTP 서비스에 시간을 받아올 서버 정보가 입력되어 있음
chronyd 서비스는 설정된 외부 NTP 서버로부터 시간 정보를 동기화함
timedatectl set-ntp true 설정이 되어 있을 경우, 리눅스 시스템은 chronyd로부터 시간정보를 동기화 함
NTP와 관련된 서버 계층 구조
0 번부터 번호가 할당되어 있음
0 : 최상위 계층. Primary Reference Clock. 정밀한 시간 정보를 제공할 수 있는 장비, GPS, 원자시계
1 : Stratum 0에 해당하는 장비로부터 시간 정보를 얻어오는 서버. 일반적으로 누구나 접근할 수는 없음
2 : Straum 1 으로부터 시간 정보를 받아올 수 있는 서버. 실제로 시간 정보를 받아올 수 있는 최상위 서버
3~ : 각 상위 계층으로부터 시간 정보를 받아올 수 있는 서버
국내 NTP 서버들
time.bora.net 등
NTP 서버 설정 변경 : /etc/chrony.conf
맨 위쪽 서버 목록 수정
불필요한 항목은 삭제 또는 # 처리
신규 항목 추가
server / pool / peer : 동작 방식에 따라 선택. 일반적으로 server 사용
NTP 서버의 주소
iburst : 동작 모드
ex) server time.bora.net iburst
# chronyc sources
# chronyc sources -v
# chronyc sourcestats
도메인 이름(FQDN, Full Qualified Domain Name)을 IP주소와 매칭 시켜주는 시스템
정방향 조회, 역방향 조회
정 : FQDN → IP주소
역 : IP주소 → FQDN
DNS 서비스는 계층화 된 형태로 제공
단일 DNS 서버가 모든 DNS 정보를 가지고 있을 수 없음
갱신되는 내용을 반영할 수 없음
DNS 서버 질의 방식
재귀 질의(Recursive Query): 클라이언트 - 서버. DNS에 대한 요청과, 그에 대한 응답으로 구성
순환 질의(Iterative Query): DNS서버 - 계층적 구조에 따라 DNS 서버로 요청을 전송
DNS서버가 새로운 도메인에 대한 요청을 받을 경우
DNS서버는 자신이 찾고자 하는 도메인의 최상위 도메인 이름의 정보를 찾기 위해 Root DNS(Root Hint DNS)에게 질의 전송
Root Hint DNS 서버는 최상위 도메인의 바로 아래 단계 도메인의 정보를 가지고있는 DNS서버의 주소를 안내
최종 요청 FQDN의 IP를 확인할 때 까지 위 과정을 반복
FQDN
호스트이름 + 도메인이름
=> 호스트이름.도메인이름
호스트 이름은 가장 좌측 한개
ex) www (World Wide Web, 웹 서버), mail,mx (메일서버),
ftp.daumkakao.com
도메인 이름은 2개 이상의 계층 구조를 가짐
ex) naver.com, daum.net, nate.com
ex) www.seoul.abc.co.kr, mail.kangnam.seoul.korea.co.kr
가장 뒤 쪽이 가장 상위의 분류
국가별 도메인 분류를 사용함
유형
A : 특정 이름에 대한 IPv4 정보
AAAA : 특정 이름에 대한 IPv6 정보
CNAME : Canonical Name, 별칭
ex) www, mail : www를 A레코드로 생성, mail을 CNAME으로 생성. www정보만 변경하여도 mail도 함께 변경
CNAME 사용시 연결하는 FQDN은 현재 도메인과 무관하게 지정 가능
ex) test.example.com CNAME test2.exmple2.com
PTR : 포인터 레코드, IP주소에 매칭된 FQDN 이름
NS : Name Server. 해당 도메인의 DNS 서버
MX : Mail eXchanger. 메일 교환기, 도메인의 메일 서버
SOA : Start of Authorization. DNS 영역에 대한 정보, 영역에 1개의 SOA 레코드 필요.
담당자 정보(이메일) : [이름]@[도메인] → [이름].[도메인]
일련번호
관련된 설정정보(업데이트 등)
만료 설정(레코드 수명)
TXT : 정보를 전달하기 위한 레코드
SRV : 서비스 관련 레코드
host : 리눅스 기본 DNS 조회 도구
# host [옵션] <FQDN> [DNS서버]
옵션
-v : 상세 정보 표시
-t : 레코드 타입 지정
-a : ALL. 모든 타입
-l : list mode. ‘영역 전송(Zone Transfer)’를 통한 데이터 조회
nslookup
대화형으로 실행
server : DNS 서버 지정
set type : 조회 레코드 타입 지정
dig
dig [@DNS서버] <FQDN>