별다른 보안설정 없이 서버를 운영하다가 낭패를 보는 경우가 있다. 그러고 나서야 보안의 필요성을 실감한다. 네임서버에 대한 기본적인 방화벽이나 설정파일의 구문 오류는 제외하고 다음의 몇 가지 정도는 필수점검사항이 아닐까 생각한다.
1. 네임서버 프로그램의 버전정보 노출
bind를 사용하고 있는 경우 프로그램의 버전까지 노출할 필요는 없다. 아래와 같이 option 구문에 한 줄 추가해서 노출을 막도록 하자.
options { ........... version none; ........... |
2. 네임서버의 Zone Transfer의 설정
네임서버를 두 개 이상 운영하고 있는 경우 이들 서버간의 데이터를 동일하게 유지(동기화)하기 위한 개념이다. 즉, 1차 네임서버의 데이터(zone 파일)를 업데이트 하면 2차 네임서버는 자동으로 업데이트 되는 기능이다. 따라서 네임서버를 하나만 운영한다거나, 두 개 이상 운영하더라도 모든 네임서버를 수동으로 업데이트 한다거나, 혹은 zone transfer를 사용하더라도 마지막(slave)의 네임서버에서 조차 이를 허용해서 필요이상의 정보를 노출할 이유는 없을 것이다.
option { .......... allow-transfer { none; }; .......... |
none 대신에 2차 네임서버의 ip주소를 넣을 수 있다.
3. Open DNS의 설정
bind의 recursion 기본값은 any인데, 이는 모든 DNS 쿼리(recursive query)에 응답해주는 Open DNS이다. 이렇게 운영하면 자칫 나의 DNS서버가 다른 서버 등에 DDoS 공격을 가하는 해킹도구로 악용될 수 있다.(벌써 5년전의 경험이다 -_-.) 캐싱 네임서버(caching name server)로의 사용을 막고, 운영중인 도메인(서버가 갖고 있는 zone 파일)에 대한 응답만 허용하도록 recursion의 값을 no로 설정하자.
option { .......... recursion no; .......... |
'Linux > DNS server' 카테고리의 다른 글
1,2,3차,..(n)차 서브도메인을 만들기 위한 네임서버[bind] 설정 (0) | 2022.05.19 |
---|---|
네임서버를 직접 운영하는 이유 (feat. 한글도메인) (0) | 2021.06.17 |
2차 네임서버의 설정 (0) | 2021.05.05 |
DNSSEC (0) | 2020.11.30 |
네임서버의 기본 보안 설정 - bind (0) | 2020.02.12 |
댓글