내 외부 DNS 영역에 대한 BIND9 구성이 올바른가요?

내 외부 DNS 영역에 대한 BIND9 구성이 올바른가요?

영역이 포함된 내 파일

나의/etc/bind/db.piduna.org

;
; BIND data file for local loopback interface
;
$TTL    604800
$ORIGIN piduna.org.
@       IN      SOA     ns1.piduna.org. root.piduna.org. (
                     2018031701         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.piduna.org.
@       IN      NS      ns2.piduna.org.
@       IN      A       192.168.110.15

ns1     IN      A       192.168.110.15
ns2     IN      A       192.168.110.14

abc100  IN      A       192.168.110.1
abc101  IN      A       192.168.110.2
abc102  IN      A       192.168.110.3
abc103  IN      A       192.168.110.4
abc104  IN      A       192.168.110.5
abc105  IN      A       192.168.110.6
abc106  IN      A       192.168.110.7
abc107  IN      A       192.168.110.8
abc108  IN      A       192.168.110.9
abc109  IN      A       192.168.110.10
abc110  IN      A       192.168.110.11
abc111  IN      A       192.168.110.12
abc112  IN      A       192.168.110.13
abc113  IN      A       192.168.110.14
abc114  IN      A       192.168.110.15

gitlab  IN      A       192.168.110.14
redmine IN      A       192.168.110.14

*       IN      CNAME   piduna.org.

192.168.110.*물론 실제 IP 주소는 아닙니다. 대신에 나는 vps-s의 실제 IP 주소를 사용하고 있습니다.

나의 /etc/bind/named.conf.local:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "abchosting.org" {
     type master;
     file "/etc/bind/db.piduna.org";
};

나의 /etc/bind/named.conf.options:

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        listen-on port 53 {
        127.0.0.1;
        192.168.110.15;
        };

        forwarders {
        8.8.8.8;
        8.8.4.4;
        };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { none; };
};

그래서 테스트해봤습니다. 모든 것이 괜찮습니다. 공장. 하지만 내 구성에 대해 의문이 있습니다 /etc/bind/db.piduna.org. 모든 것이 괜찮습니까? 보안에 따른 몇 가지 조언이 있을까요? 반복합니다. 외부 도메인용으로 만들었습니다. 나는 다음을 필요로 합니다:
- 내 vps-s를 위한 15개의 A-레코드;
- gitlab 및 redmine과 같은 내 서비스에 대한 두 개의 A 레코드
- 192.168.110.15의 ping 하위 도메인
이해와 도움에 감사드립니다.

답변1

당신은 그것을 테스트했다고 말했는데, 정확히 무엇을 했나요? named-checkzone? 온라인 문제 해결 도구가 있나요?

당신은 무엇을 의심합니까? 귀하의 질문이 너무 광범위합니다. 어떤 보안을 말하는가?

그래도 다양한 문제가 있습니다.

  • 와일드카드 레코드를 사용하고 있습니다. 정말로 필요합니까? 그렇지 않은 경우 솔루션보다 훨씬 더 많은 문제가 발생하므로 제거하는 것이 좋습니다.
  • 따라서 영역을 정의한 이후로 권한 있는 네임서버를 갖고 있는 것처럼 보이지만 로컬/내부 IP 주소만 수신합니다. 이는 전역적으로 접근할 수 없다는 뜻입니까(권한 있는 네임서버에는 좋지 않습니다). 아니면 그 앞에 NAT 설정이 있는데, 이는 네임서버에도 매우 나쁜 생각입니까?
  • 그래서 당신은 권한 있는 네임서버를 갖고 있는 것처럼 보이지만 쿼리를 외부로 전달합니다. 동일한 서버에 재귀 기능과 권한 있는 기능을 혼합한 것 같습니다. 이는 보안 측면에서 매우 나쁜 생각입니다. 또한 어떤 경우에도 Google Public DNS로 전달하는 것은 보안 측면에서 좋은 생각이 아니라고 말할 수도 있습니다. 자체 로컬 재귀 네임서버)

관련 정보