dnssec-keymgr.html revision 5347c0fcb04eaea19d9f39795646239f487c6207
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly - Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC")
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly - This Source Code Form is subject to the terms of the Mozilla Public
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly - License, v. 2.0. If a copy of the MPL was not distributed with this
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly - file, You can obtain one at http://mozilla.org/MPL/2.0/.
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly<a name="man.dnssec-keymgr"></a><div class="titlepage"></div>
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly<p><span class="application">dnssec-keymgr</span> — Ensures correct DNSKEY coverage for a zone based on a defined policy</p>
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly<div class="cmdsynopsis"><p><code class="command">dnssec-keymgr</code> [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-c <em class="replaceable"><code>file</code></em></code>] [<code class="option">-f</code>] [<code class="option">-k</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-z</code>] [<code class="option">-g <em class="replaceable"><code>path</code></em></code>] [<code class="option">-r <em class="replaceable"><code>path</code></em></code>] [<code class="option">-s <em class="replaceable"><code>path</code></em></code>] [zone...]</p></div>
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly <span class="command"><strong>dnssec-keymgr</strong></span> is a high level Python wrapper
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly to facilitate the key rollover process for zones handled by
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly BIND. It uses the BIND commands for manipulating DNSSEC key
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly metadata: <span class="command"><strong>dnssec-keygen</strong></span> and
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly <span class="command"><strong>dnssec-settime</strong></span>.
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly DNSSEC policy can be read from a configuration file (default
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly <code class="filename">/etc/dnssec.policy</code>), from which the key
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly parameters, publication and rollover schedule, and desired
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly coverage duration for any given zone can be determined. This
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly file may be used to define individual DNSSEC policies on a
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly per-zone basis, or to set a default policy used for all zones.
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly When <span class="command"><strong>dnssec-keymgr</strong></span> runs, it examines the DNSSEC
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly keys for one or more zones, comparing their timing metadata against
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly the policies for those zones. If key settings do not conform to the
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly DNSSEC policy (for example, because the policy has been changed),
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly they are automatically corrected.
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly A zone policy can specify a duration for which we want to
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly ensure the key correctness (<code class="option">coverage</code>). It can
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly also specify a rollover period (<code class="option">roll-period</code>).
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly If policy indicates that a key should roll over before the
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly coverage period ends, then a successor key will automatically be
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly created and added to the end of the key series.
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly If zones are specified on the command line,
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly <span class="command"><strong>dnssec-keymgr</strong></span> will examine only those zones.
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly If a specified zone does not already have keys in place, then
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly keys will be generated for it according to policy.
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly If zones are <span class="emphasis"><em>not</em></span> specified on the command
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly line, then <span class="command"><strong>dnssec-keymgr</strong></span> will search the
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly key directory (either the current working directory or the directory
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly set by the <code class="option">-K</code> option), and check the keys for
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly all the zones represented in the directory.
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly It is expected that this tool will be run automatically and
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly unattended (for example, by <span class="command"><strong>cron</strong></span>).
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly<div class="variablelist"><dl class="variablelist">
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly<dt><span class="term">-c <em class="replaceable"><code>file</code></em></span></dt>
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly If <code class="option">-c</code> is specified, then the DNSSEC
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly policy is read from <code class="option">file</code>. (If not
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly specified, then the policy is read from
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly <code class="filename">/etc/policy.conf</code>; if that file
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly doesn't exist, a built-in global default policy is used.)
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly Force: allow updating of key events even if they are
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly already in the past. This is not recommended for use with
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly zones in which keys have already been published. However,
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly if a set of keys has been generated all of which have
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly publication and activation dates in the past, but the
cf6c1ae1ed15095f8dc269bb9d7a373a1b87990eJenny Donnelly keys have not been published in a zone as yet, then this