Home | History | Annotate | Line # | Download | only in ns9
      1 /*
      2  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
      3  *
      4  * SPDX-License-Identifier: MPL-2.0
      5  *
      6  * This Source Code Form is subject to the terms of the Mozilla Public
      7  * License, v. 2.0.  If a copy of the MPL was not distributed with this
      8  * file, you can obtain one at https://mozilla.org/MPL/2.0/.
      9  *
     10  * See the COPYRIGHT file distributed with this work for additional
     11  * information regarding copyright ownership.
     12  */
     13 
     14 // NS9
     15 
     16 include "trusted.conf";
     17 
     18 options {
     19 	query-source address 10.53.0.9;
     20 	notify-source 10.53.0.9;
     21 	transfer-source 10.53.0.9;
     22 	port @PORT@;
     23 	pid-file "named.pid";
     24 	listen-on { 10.53.0.9; };
     25 	listen-on-v6 { none; };
     26 	allow-transfer { any; };
     27 	recursion no;
     28 	dnssec-validation yes;
     29 };
     30 
     31 key rndc_key {
     32 	secret "1234abcd8765";
     33 	algorithm @DEFAULT_HMAC@;
     34 };
     35 
     36 controls {
     37 	inet 10.53.0.9 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
     38 };
     39 
     40 remote-servers "ns8" port @PORT@ {
     41 	10.53.0.8;
     42 };
     43 
     44 zone "." {
     45 	type hint;
     46 	file "../../_common/root.hint";
     47 };
     48 
     49 /*
     50  * 1.     Enabling DNSSEC
     51  * 1.1    - With one parental agent
     52  * 1.1.1. - DS is correctly published in the parent.
     53  */
     54 zone "good.explicit.dspublish.ns2" {
     55 	type primary;
     56 	file "good.explicit.dspublish.ns2.db";
     57 	dnssec-policy "default";
     58 	parental-agents { 10.53.0.8 port @PORT@; };
     59 };
     60 
     61 /* Same as above, but now with a reference to parental-agents. */
     62 zone "reference.explicit.dspublish.ns2" {
     63 	type primary;
     64 	file "reference.explicit.dspublish.ns2.db";
     65 	dnssec-policy "default";
     66 	parental-agents { "ns8"; };
     67 };
     68 
     69 /* Same as above, but now with resolver parental agent configured. */
     70 zone "resolver.explicit.dspublish.ns2" {
     71 	type primary;
     72 	file "resolver.explicit.dspublish.ns2.db";
     73 	dnssec-policy "default";
     74 	parental-agents {
     75 		10.53.0.3 port @PORT@;
     76 	};
     77 };
     78 
     79 /* Same as above, but now with auto parental agents. */
     80 zone "good.yes.dspublish.ns2" {
     81 	type primary;
     82 	file "good.yes.dspublish.ns2.db";
     83 	dnssec-policy "default";
     84 };
     85 
     86 /* Same as above, but with checkds disabled. */
     87 zone "good.no.dspublish.ns2" {
     88 	type primary;
     89 	file "good.no.dspublish.ns2.db";
     90 	dnssec-policy "default";
     91 	checkds no;
     92 };
     93 
     94 /* Same as auto parental agents, but now without empty non-terminals. */
     95 zone "no-ent.ns2" {
     96 	type primary;
     97 	file "no-ent.ns2.db";
     98 	dnssec-policy "default";
     99 };
    100 
    101 /*
    102  * 1.     Enabling DNSSEC
    103  * 1.1    - With one parental agent
    104  * 1.1.2. - DS is not (yet) published in the parent.
    105  */
    106 zone "not-yet.explicit.dspublish.ns5" {
    107 	type primary;
    108 	file "not-yet.explicit.dspublish.ns5.db";
    109 	dnssec-policy "default";
    110 	parental-agents {
    111 		10.53.0.5 port @PORT@; // missing
    112 	};
    113 };
    114 
    115 zone "not-yet.yes.dspublish.ns5" {
    116 	type primary;
    117 	file "not-yet.yes.dspublish.ns5.db";
    118 	dnssec-policy "default";
    119 };
    120 
    121 /*
    122  * 1.     Enabling DNSSEC
    123  * 1.1    - With one parental agent
    124  * 1.1.3. - The parental agent is badly configured.
    125  */
    126 zone "bad.explicit.dspublish.ns6" {
    127 	type primary;
    128 	file "bad.explicit.dspublish.ns6.db";
    129 	dnssec-policy "default";
    130 	parental-agents {
    131 		10.53.0.6 port @PORT@; // bad
    132 	};
    133 };
    134 
    135 zone "bad.yes.dspublish.ns6" {
    136 	type primary;
    137 	file "bad.yes.dspublish.ns6.db";
    138 	dnssec-policy "default";
    139 };
    140 
    141 /*
    142  * 1.     Enabling DNSSEC
    143  * 1.1    - With one parental agent
    144  * 1.1.4. - DS is published, but has bogus signature
    145  */
    146 // TODO
    147 
    148 /*
    149  * 1.     Enabling DNSSEC
    150  * 1.2    - With multiple parental agent
    151  * 1.2.1. - DS is correctly published in all parents.
    152  */
    153 zone "good.explicit.dspublish.ns2-4" {
    154 	type primary;
    155 	file "good.explicit.dspublish.ns2-4.db";
    156 	dnssec-policy "default";
    157 	parental-agents {
    158 		10.53.0.8 port @PORT@;
    159 		10.53.0.4 port @PORT@;
    160 	};
    161 };
    162 
    163 zone "good.yes.dspublish.ns2-4" {
    164 	type primary;
    165 	file "good.yes.dspublish.ns2-4.db";
    166 	dnssec-policy "default";
    167 };
    168 
    169 zone "good.no.dspublish.ns2-4" {
    170 	type primary;
    171 	file "good.no.dspublish.ns2-4.db";
    172 	dnssec-policy "default";
    173 	checkds no;
    174 };
    175 
    176 /*
    177  * 1.     Enabling DNSSEC
    178  * 1.2    - With multiple parental agent
    179  * 1.2.2. - DS is not (yet) published in some parents.
    180  */
    181 zone "incomplete.explicit.dspublish.ns2-4-5" {
    182 	type primary;
    183 	file "incomplete.explicit.dspublish.ns2-4-5.db";
    184 	dnssec-policy "default";
    185 	parental-agents {
    186 		10.53.0.8 port @PORT@;
    187 		10.53.0.4 port @PORT@;
    188 		10.53.0.5 port @PORT@; // missing
    189 	};
    190 };
    191 
    192 zone "incomplete.yes.dspublish.ns2-4-5" {
    193 	type primary;
    194 	file "incomplete.yes.dspublish.ns2-4-5.db";
    195 	dnssec-policy "default";
    196 };
    197 
    198 /*
    199  * 1.     Enabling DNSSEC
    200  * 1.2    - With multiple parental agent
    201  * 1.2.3. - DS is not (yet) published in some parents.
    202  */
    203 zone "bad.explicit.dspublish.ns2-4-6" {
    204 	type primary;
    205 	file "bad.explicit.dspublish.ns2-4-6.db";
    206 	dnssec-policy "default";
    207 	parental-agents {
    208 		10.53.0.8 port @PORT@;
    209 		10.53.0.4 port @PORT@;
    210 		10.53.0.6 port @PORT@; // bad
    211 	};
    212 };
    213 
    214 zone "bad.yes.dspublish.ns2-4-6" {
    215 	type primary;
    216 	file "bad.yes.dspublish.ns2-4-6.db";
    217 	dnssec-policy "default";
    218 };
    219 
    220 /*
    221  * 1.     Enabling DNSSEC
    222  * 1.2    - With multiple parental agent
    223  * 1.2.4. - DS is completely published, bogus signature.
    224  */
    225 // TODO
    226 
    227 // TODO: Other test cases:
    228 // - check with TSIG
    229 // - check with TLS
    230 
    231 /*
    232  * 2.     Going insecure
    233  * 2.1    - With one parental agent
    234  * 2.1.1. - DS is correctly withdrawn from the parent.
    235  */
    236 zone "good.explicit.dsremoved.ns5" {
    237 	type primary;
    238 	file "good.explicit.dsremoved.ns5.db";
    239 	dnssec-policy "insecure";
    240 	parental-agents { 10.53.0.10 port @PORT@; };
    241 };
    242 
    243 zone "resolver.explicit.dsremoved.ns5" {
    244 	type primary;
    245 	file "resolver.explicit.dsremoved.ns5.db";
    246 	dnssec-policy "default";
    247 	parental-agents {
    248 		10.53.0.3 port @PORT@;
    249 	};
    250 };
    251 
    252 zone "good.yes.dsremoved.ns5" {
    253 	type primary;
    254 	file "good.yes.dsremoved.ns5.db";
    255 	dnssec-policy "insecure";
    256 };
    257 
    258 zone "good.no.dsremoved.ns5" {
    259 	type primary;
    260 	file "good.no.dsremoved.ns5.db";
    261 	dnssec-policy "insecure";
    262 	checkds no;
    263 };
    264 
    265 zone "no-ent.ns5" {
    266 	type primary;
    267 	file "no-ent.ns5.db";
    268 	dnssec-policy "default";
    269 };
    270 
    271 /*
    272  * 2.     Going insecure
    273  * 2.1    - With one parental agent
    274  * 2.1.2. - DS is (still) published in the parent.
    275  */
    276 zone "still-there.explicit.dsremoved.ns2" {
    277 	type primary;
    278 	file "still-there.explicit.dsremoved.ns2.db";
    279 	dnssec-policy "insecure";
    280 	parental-agents {
    281 		10.53.0.2 port @PORT@; // still published
    282 	};
    283 };
    284 
    285 zone "still-there.yes.dsremoved.ns2" {
    286 	type primary;
    287 	file "still-there.yes.dsremoved.ns2.db";
    288 	dnssec-policy "insecure";
    289 };
    290 
    291 /*
    292  * 2.     Going insecure
    293  * 2.1    - With one parental agent
    294  * 2.1.3. - The parental agent is badly configured.
    295  */
    296 zone "bad.explicit.dsremoved.ns6" {
    297 	type primary;
    298 	file "bad.explicit.dsremoved.ns6.db";
    299 	dnssec-policy "insecure";
    300 	parental-agents {
    301 		10.53.0.6 port @PORT@; // bad
    302 	};
    303 };
    304 
    305 zone "bad.yes.dsremoved.ns6" {
    306 	type primary;
    307 	file "bad.yes.dsremoved.ns6.db";
    308 	dnssec-policy "insecure";
    309 };
    310 
    311 /*
    312  * 2.     Going insecure
    313  * 2.1    - With one parental agent
    314  * 2.1.4. - DS is withdrawn, but has bogus signature.
    315  */
    316 // TODO
    317 
    318 /*
    319  * 2.     Going insecure
    320  * 2.2.    - With multiple parental agents
    321  * 2.2.1.  - DS is correctly withdrawn from all parents.
    322  */
    323 zone "good.explicit.dsremoved.ns5-7" {
    324 	type primary;
    325 	file "good.explicit.dsremoved.ns5-7.db";
    326 	dnssec-policy "insecure";
    327 	parental-agents {
    328 		10.53.0.10 port @PORT@;
    329 		10.53.0.7 port @PORT@;
    330 	};
    331 };
    332 
    333 zone "good.yes.dsremoved.ns5-7" {
    334 	type primary;
    335 	file "good.yes.dsremoved.ns5-7.db";
    336 	dnssec-policy "insecure";
    337 };
    338 
    339 zone "good.no.dsremoved.ns5-7" {
    340 	type primary;
    341 	file "good.no.dsremoved.ns5-7.db";
    342 	dnssec-policy "insecure";
    343 	checkds no;
    344 };
    345 
    346 /*
    347  * 2.     Going insecure
    348  * 2.2.    - With multiple parental agents
    349  * 2.2.2.  - DS is not (yet) withdrawn from some parents.
    350  */
    351 zone "incomplete.explicit.dsremoved.ns2-5-7" {
    352 	type primary;
    353 	file "incomplete.explicit.dsremoved.ns2-5-7.db";
    354 	dnssec-policy "insecure";
    355 	parental-agents {
    356 		10.53.0.2 port @PORT@; // still published
    357 		10.53.0.10 port @PORT@;
    358 		10.53.0.7 port @PORT@;
    359 	};
    360 };
    361 
    362 zone "incomplete.yes.dsremoved.ns2-5-7" {
    363 	type primary;
    364 	file "incomplete.yes.dsremoved.ns2-5-7.db";
    365 	dnssec-policy "insecure";
    366 };
    367 
    368 /*
    369  * 2.     Going insecure
    370  * 2.2.    - With multiple parental agents
    371  * 2.2.3.  - One parental agent is badly configured.
    372  */
    373 zone "bad.explicit.dsremoved.ns5-6-7" {
    374 	type primary;
    375 	file "bad.explicit.dsremoved.ns5-6-7.db";
    376 	dnssec-policy "insecure";
    377 	parental-agents {
    378 		10.53.0.10 port @PORT@;
    379 		10.53.0.7 port @PORT@;
    380 		10.53.0.6 port @PORT@; // bad
    381 	};
    382 };
    383 
    384 zone "bad.yes.dsremoved.ns5-6-7" {
    385 	type primary;
    386 	file "bad.yes.dsremoved.ns5-6-7.db";
    387 	dnssec-policy "insecure";
    388 };
    389 
    390 /*
    391  * 2.     Going insecure
    392  * 2.2.    - With multiple parental agents
    393  * 2.2.4.  - DS is removed completely, bogus signature
    394  */
    395 // TODO
    396