Blame doc/admin/https.rst

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