DNS 버전 확인
dig
명령어를 통해 ns1.domain.com
의 DNS의 버전을 확인 할 수 있다.
# dig @ns1.domain.com txt chaos version.bind.
다음 결과에 version.bind. 5 CH TXT "Served by POWERDNS 3.0 $Id: packethandler.cc 2231 2011-07-11 07:25:27Z ahu $"
부분이 ns1.domain.com
의 네임서버 버전이다. Powerdns를 사용하고 있는 것으로 보인다.
; <<>> DiG 9.8.3-P1 <<>> @ns1.domain.com txt chaos version.bind.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26134
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 5 CH TXT "Served by POWERDNS 3.0 $Id: packethandler.cc 2231 2011-07-11 07:25:27Z ahu $"
;; Query time: 1 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Wed Oct 21 18:39:55 2015
;; MSG SIZE rcvd: 48
Powerdns 버전 숨기는 방법
pdns.conf
을 열고
version-string
부분을 찾아서 값을 적당한 문자열로 바꿔준 후 pdns
데몬을 재시작 해주면 된다.
version-string=knowndns
결론
DNS 버전이 노출되는 것은 아무래도 보안적으로 좋을리는 없을 것이다. 노출된 버전의 취약점을 통해 공격의 대상이 될 수도 있으니 운영중인 DNS서버의 버전정보는 숨겨주는 것을 추천한다.