새로운 공간
DNSSEC 본문
- Domain Name System Security Extensions의 약자
- DNS 쿼리 및 응답의 무결성과 인증을 제공하기 위한 인터넷 보안 프로토콜 세트
DNSSEC는 이러한 보안 취약점을 해결하기 위해 디지털 서명을 사용하여 DNS 데이터의 무결성을 보호한다.
<DNSSEC의 주요 목적과 작동 방식>
1. 무결성 보호: DNSSEC는 DNS 데이터를 디지털 서명으로 보호. 이 디지털 서명을 통해 DNS 데이터가 변경되지 않았음을 검증할 수 있으므로 중간자 공격이나 DNS 데이터 조작을 방지.
2. 인증: DNSSEC는 DNS 데이터의 출처을 인증. 이것은 사용자가 DNS 응답이 실제로 올바른 DNS 서버에서 왔음을 확인할 수 있다.
클라이언트
1. 브라우저 캐시 정보
2. dns cache
3. hosts 파일
--------------- : DNS Query 발생
취약 : 위변조가 가능하다. ----> 평문 전송 ---> 해결책 : 무결성(암호화)
클라이언트는 대상 서버가 주는 정보에 대해 신뢰성을 갖는다.
---> 대상이 정상 서버인지 확인이 불가능 ---> 기밀성(인증) ---> 제3자 인증이 필요
ns.kong.com ---> 대상 서버의 IP가 정상등록되어 있는지 확인이 필요
==> 해결책 : IPSEC
<설정과정>
1. DNS 서버가 동작 중이다.
대상 Zone 파일 : jin.com.zone
2. ZONE의 KEY 생성
Key의 위치 : /var/named <--- 이 위치에 생성하자
dnssec-keygen ----> Key Pair가 생성된다. ---> 1. ZSK (zone)
2. KSK (key)
dnssec-keygen
<ZSK 키 생성 (Zone 서명키)>
dnssec-keygen -r /dev/urandom -a RSASHA256 -b 1024 -n zone jin.com
[root@localhost named]# dnssec-keygen -r /dev/urandom -a RSASHA256 -b 1024 -n zone jin.com
Generating key pair.........++++++ ......++++++
Kjin.com.+008+13359
[root@localhost named]# ls
Kjin.co m.+008+13359.key data gugroup.com.zone named.ca named.loopback
Kjin.com.+008+13359.private dvwajin.zone gugroup.zone.com named.empty slaves
chroot dynamic jin.com.zone named.localhost study.com.zone
Kjin.com.+008+13359.key <--- 공개키
Kjin.com.+008+13359.private <--- 비밀키
<KSK 키 생성 (키 서명키)>
dnssec-keygen -r /dev/urandom -a RSASHA256 -b 2048 -n zone -f KSK jin.com
[root@localhost named]# dnssec-keygen -r /dev/urandom -a RSASHA256 -b 2048 -n zone -f KSK jin.com
Generating key pair......+++ .................................+++
Kjin.com.+008+22567
[root@localhost named]# ^C
[root@localhost named]# ls
Kjin.co m.+008+13359.key chroot gugroup.com.zone named.empty study.com.zone
Kjin.com.+008+13359.private data gugroup.zone.com named.localhost
Kjin.com.+008+22567.key dvwajin.zone jin.com.zone named.loopback
Kjin.com.+008+22567.private dynamic named.ca slaves
Kjin.com.+008+22567.key <--- 공개키
Kjin.com.+008+22567.private <--- 비밀키
<키 정보 확인>
ZSK
cat Kjin.com.+008+13359.key
KSK
cat Kjin.com.+008+22567.key
3. 반영
4. zone 서명
ZSK
공개키: Kjin.com.+008+13359.key
비밀키: Kjin.com.+008+13359.private
KSK
공개키: Kjin.com.+008+22567.key
비밀키: Kjin.com.+008+22567.private
<zone 파일 등록>
$INCLUDE "/var/named/Kjin.com.+008+13359.key"
$INCLUDE "/var/named/Kjin.com.+008+22567.key"
<작성> 중요!
dnssec-signzone -k Kjin.com.+008+22567.private -o jin.com jin.com.zone Kjin.com.+008+13359.private
*-k Kjin.com.+008+22567.private : KSK의 비밀키
*-o jin.com : 대상도메인
*jin.com.zone : 대상 파일명
*Kjin.com.+008+13359.private: ZSK 비밀키
[root@localhost named]# dnssec-signzone -k Kjin.com.+008+22567.private -o jin.com jin.com.zone Kjin.com.+008+13359.private
Verifying the zone using the following algorithms: RSASHA256.
Zone fully signed:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 0 stand-by, 0 revoked
jin.com.zone.signed
<서명된 Zone 파일 결과값 확인>
cat jin.com.zone.signed
평문정보와 암호화 데이터가 있음.
<DNS 서버에 DNSSEC을 적용>
수정
<named.root.key 생성 확인>
2. vim /etc/named.rfc1912.zone
수정 해주기!
[root@localhost named]# systemctl restart named
[root@localhost named]# systemctl status named
정상동작 확인 끝@
그럼 클라이언트 Kail에서 확인해보자!
vim /etc/resolv.conf
-> nameserver 192.168.0.26
nslookup ns.jin.com
dig @192.168.0.26 www.jin.com a +dnssec +multiline
dnsrecon -d jin.com
'서버 > Centos 7' 카테고리의 다른 글
Centos7에 rkhunter, clamAV 설치 (0) | 2023.08.17 |
---|---|
centos7에 E-Mail 서버 구축 및 메일 보내기 (0) | 2023.08.16 |
webgoat 설치하기 (0) | 2023.07.03 |
Quota(쿼타) (0) | 2023.06.22 |
centos7에서 apache를 사용하여 phpMyAdmin 설치 (0) | 2023.06.21 |