]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Add some longer-form docs for HTTPS
authorNalin Dahyabhai <nalin@dahyabhai.net>
Tue, 22 Apr 2014 20:31:14 +0000 (16:31 -0400)
committerGreg Hudson <ghudson@mit.edu>
Mon, 2 Jun 2014 22:40:49 +0000 (18:40 -0400)
Add some longer-form documentation for the new HTTPS support, walking a
prospective administrator through generating a bare minimal signing
setup, deploying a WSGI-based proxy server onto an Apache httpd server
using mod_ssl and mod_wsgi, and configuring clients to use it.

ticket: 7929

doc/admin/https.rst [new file with mode: 0644]
doc/admin/index.rst

diff --git a/doc/admin/https.rst b/doc/admin/https.rst
new file mode 100644 (file)
index 0000000..b4e68b2
--- /dev/null
@@ -0,0 +1,48 @@
+.. _https:
+
+HTTPS proxy configuration
+=========================
+
+In addition to being able to use UDP or TCP to communicate directly
+with a KDC as is outlined in RFC4120, and with kpasswd services in a
+similar fashion, the client libraries can attempt to use an HTTPS
+proxy server to communicate with a KDC or kpasswd service, using the
+protocol outlined in [MS-KKDCP].
+
+Communicating with a KDC through an HTTPS proxy allows clients to
+contact servers when network firewalls might otherwise prevent them
+from doing so.  The use of TLS also encrypts all traffic between the
+clients and the KDC, preventing observers from conducting password
+dictionary attacks or from observing the client and server principals
+being authenticated, at additional computational cost to both clients
+and servers.
+
+An HTTPS proxy server is provided as a feature in some versions of
+Microsoft Windows Server, and a WSGI implementation named `kdcproxy`
+is available in the python package index.
+
+
+Configuring the clients
+-----------------------
+
+To use an HTTPS proxy, a client host must trust the CA which issued
+that proxy's SSL certificate.  If that CA's certificate is not in the
+system-wide default set of trusted certificates, configure the
+following relation in the client host's :ref:`krb5.conf(5)` file in
+the appropriate :ref:`realms` subsection::
+
+    http_anchors = FILE:/etc/krb5/cacert.pem
+
+Adjust the pathname to match the path of the file which contains a
+copy of the CA's certificate.  The `http_anchors` option is documented
+more fully in :ref:`krb5.conf(5)`.
+
+Configure the client to access the KDC and kpasswd service by
+specifying their locations in its :ref:`krb5.conf(5)` file in the form
+of HTTPS URLs for the proxy server::
+
+    kdc = https://server.fqdn/KdcProxy
+    kpasswd_server = https://server.fqdn/KdcProxy
+
+If the proxy and client are properly configured, client commands such
+as ``kinit``, ``kvno``, and ``kpasswd`` should all function normally.
index 3406843b10d23f05fc347fbceb8c56c5d116989d..3cd57f524236059922df6487bfaab56507ec213a 100644 (file)
@@ -17,6 +17,7 @@ For administrators
    otp.rst
    princ_dns.rst
    enctypes.rst
+   https.rst
 
 .. toctree::
    :maxdepth: 1