From 59fbece0e790410e5fc17c0945aa677b48136020 Mon Sep 17 00:00:00 2001 From: cantor Date: Thu, 28 Oct 2004 03:14:00 +0000 Subject: [PATCH] Tweaks for 1.2.1 git-svn-id: https://svn.middleware.georgetown.edu/cpp-sp/trunk@1246 cb58f699-b61c-0410-a6fe-9272a202ed29 --- doc/DEPLOY-GUIDE-TARGET.html | 117 +++++++++++++++++++++++-------------------- 1 file changed, 63 insertions(+), 54 deletions(-) diff --git a/doc/DEPLOY-GUIDE-TARGET.html b/doc/DEPLOY-GUIDE-TARGET.html index 01efcb0..b2c29f3 100644 --- a/doc/DEPLOY-GUIDE-TARGET.html +++ b/doc/DEPLOY-GUIDE-TARGET.html @@ -134,9 +134,9 @@ color: #00FF00

Shibboleth Target Deployment Guide

Shibboleth Target Deployment Guide
-Shibboleth Version 1.2
-May 10, 2004
-

This version of the deploy guide is for Shibboleth v1.2. For documentation +Shibboleth Version 1.2.1
+November 15, 2004
+

This version of the deploy guide is for Shibboleth v1.2.1. For documentation related to prior versions of Shibboleth, please consult the appropriate branch in the Shibboleth CVS.

The default configuration of Shibboleth is not secure and should not be @@ -147,10 +147,10 @@ about securing a Shibboleth deployment, please refer to the production guide. Shibboleth should only be used to protect sensitive content when deployed carefully in conjunction with proper trust settings and policies.

-

The Shibboleth target implementation has been substantially redesigned for this release. Most of the -configuration process has changed to accomodate more complex deployments but many of the defaults work -fine for testing and simpler applications. For a list of new features, please refer to the NEWS.txt -file in the doc/ folder of the distribution.

+

The Shibboleth target implementation was substantially redesigned in version 1.2. +1.2.1 is a bug-fix release intended to address stability, major bugs, and small issues +that have arisen in the last 6 months. For a list of new features and fixes, please +refer to the NEWS.txt file in the doc/ folder of the distribution.

Before starting, please sign up for all applicable mailing @@ -436,9 +436,9 @@ SHAR and SHIRE are implemented entirely in C/C++. These are the recommendations and requirements for a successful implementation of a Shibboleth target.

2.a. Requirements

-

Shibboleth currently supports Windows NT/2000/XP/2003, Linux, and - Solaris. At present, Shibboleth consists of Apache (or IIS) plugins and a - separate SHAR process. The plugins use the Sun/ONC RPC mechanism to communicate +

Shibboleth currently supports Windows NT/2000/XP/2003, Linux, Solaris, + and Mac OS X. At present, Shibboleth consists of Apache/IIS plugins and a + separate SHAR process. The plugins use the Sun-RPC mechanism to communicate with the SHAR over Unix domain or TCP sockets. The target's web servers must be running Apache 1.3+, 2.0+, or Microsoft IIS 4.0+ More precise technical @@ -447,10 +447,9 @@ and requirements for a successful implementation of a Shibboleth target.

2.b. Join a Federation

While it is not necessary for a target or origin to join a federation, - doing so greatly facilitates the implementation of multilateral trust - relationships. Each federation will have a different application process.

-

For more information on federations, refer to 1.d or - the Shibboleth v1.0 architectural document.

+ doing so can facilitate the implementation of multilateral trust + relationships. Each federation will have a different application process. + For more information on federations, refer to 1.d.

For testing in a private environment, Shibboleth comes with a default configuration that demonstrates how to implement a local peered agreement and supports testing both origin and target on the same box using localhost @@ -465,7 +464,7 @@ and requirements for a successful implementation of a Shibboleth target.

Shibboleth is as secure as possible, there are several recommended security precautions which should be in place at local sites.

    -
  1. SSL use is optional for target sites, but should be used if at all +
  2. While SSL use is optional for target sites,it should be used if at all possible, at least in the processing of incoming sessions (called the SHIRE URL or assertion consumer service). Federation guidelines should be considered when determining whether to implement SSL, and, in @@ -587,10 +586,10 @@ and requirements for a successful implementation of a Shibboleth target.


    3. Installation

    3.a. Software Requirements

    -

    The Shibboleth project makes binary packages available only for Windows, -that are precompiled against recent releases of various required libraries such -as OpenSSL. Binaries for other platforms may be available on a limited or ad hoc -basis. It is highly advisable to build from source when using Shibboleth in +

    The Shibboleth project makes official binary packages available only for +Windows, precompiled against recent releases of various required libraries such +as OpenSSL. Binaries or RPMs for other platforms may be available on a limited or +ad hoc basis. It is highly advisable to build from source when using Shibboleth in a production environment in order to permit patching or updating of packages as security holes and bugs are fixed. Building from source is necessary to give you complete control over your deployment platform. The binary packages represent a @@ -600,7 +599,7 @@ distributions.

    The software requirements listed correspond to the binary distribution. In general, source builds should work against all recent versions of the operating systems and software dependencies listed below. For specific questions, inquire -to the support mailing list, or give it a try. Note that OpenSSL releases +or search the support mailing list, or give it a try. Note that OpenSSL releases frequent security updates; the version listed may not be the most current, but most minor "letter" updates should be usable.

    @@ -677,8 +676,8 @@ most minor "letter" updates should be usable.

    environment variables for you. A default SHAR service can also be installed, or you can install it manually using the instructions in this guide.

    -

    Note that debug/symbol versions of the libraries and software - are included, and may be used by appending "debug" to the +

    Note that debug versions of the libraries and software are + included, and may be used by appending "debug" to the Shibboleth library path and using the corresponding modules and binaries. If you do so, be aware that Apache and other modules must also be compiled with Microsoft's debug runtime (via the /MDd @@ -703,14 +702,7 @@ most minor "letter" updates should be usable.

  3. -
  4. RedHat Linux 9 / Fedora -
      -
    • -

      Apache 2.0 is included as the default Apache version in this release.

      -
    • -
    -
  5. -
  6. RedHat Enterprise Linux +
  7. RedHat Linux 9 / Fedora / RH Enterprise
    • Apache 2.0 is included as the default Apache version in this release.

      @@ -733,7 +725,14 @@ most minor "letter" updates should be usable.

  8. -
  9. Solaris 2.6+: +
  10. Macintosh OS X 10.3 +
      +
    • +

      Apache 1.3 is included as the default Apache version in this release.

      +
    • +
    +
  11. +
  12. Solaris 2.8+:
    • The shared library version of OpenSSL is required by @@ -830,7 +829,9 @@ most minor "letter" updates should be usable.

    • If the OpenSSL libraries are not in the system's search path, they should be added to the LD_LIBRARY_PATH used by Apache. You will also usually need to add /opt/shibboleth/lib - to LD_LIBRARY_PATH as well.
    • + to LD_LIBRARY_PATH as well. Note that on Mac OS X, the + environment variable used for this purpose is named + DYLD_LIBRARY_PATH
    • The SHAR must be started along with Apache. Among other methods on Unix, this can be done either by creating a separate SHAR startup script or by modifying Apache's RC script to start/stop the @@ -842,7 +843,10 @@ most minor "letter" updates should be usable.

      the configuration file and schemas, but the SHIBCONFIG and SHIBSCHEMAS environment variables may be used as well. Command line options can also be used to specify them.

      -

      On Windows, the SHAR is a service and is managed separately.

    • +

      On Windows, the SHAR is a service and is managed separately. Newer versions + of Windows support automatic restart of failed services. We suggest using this + feature to restart the SHAR when it fails. Although stability is good, + maximum reliability will be achieved by monitoring the process.

    • By default, the Shibboleth modules are configured to log information on behalf of Apache to the file /opt/shibboleth/var/log/shibboleth/shire.log, though this can be @@ -852,7 +856,7 @@ most minor "letter" updates should be usable.

      may require that the file be manually created and permissions assigned to whatever user Apache is configured to run under. If the file does not appear when Apache runs with the modules loaded, check for permission - problems.
    • + problems or change the location used.
    • The options in shibboleth.xml must be configured as documented in 4.a. Apache content may then need to be modified for Shibboleth authentication. This is @@ -879,7 +883,7 @@ most minor "letter" updates should be usable.

      above. The priority should be High, and once the filter is loaded, make sure it appears in the list below the "sspifilt" entry. Restart IIS and make sure the filter shows up with a green arrow. - Check the Windows event log if it fails to load.
    • + Check the Windows event log and/or shire.log if it fails to load.
    • Secondly, map a special, distinct file extension, such as .shire, to the ISAPI library so that virtual URLs can be specified to invoke the extension handler for each @@ -898,21 +902,22 @@ most minor "letter" updates should be usable.

      Service Extension must be defined for Shibboleth; without this, the mapping from *.shire to isapi_shib.dll won't occur and a file error - will appear Add this extension with an arbitrary name and associate + will appear. Add this extension with an arbitrary name and associate it with isapi_shib.dll.
  • All other aspects of configuration are handled via the shibboleth.xml file and associated XML files described in subsequent sections. Particular use is made of - the /SHIRE/Implementation/ISAPI element that allows - IIS sites to be mapped to scheme, hostname, and port for proper request - mapping and generation of redirects.
  • + the /SHIRE/Implementation/ISAPI element + that allows IIS sites to be mapped to a hostname for proper request + mapping and generation of redirects.
  • Instance IDs are used in the IIS metabase to identify web sites. In older versions, they are applied starting with 1(one) and number the web sites in order in the Internet Services Manager from top to bottom. Newer versions appear to assign some IID values with strange ASCII formulas applied to the site name. A simple - ASP or CGI script can be run within a site to dump the INSTANCE_ID header.
  • + ASP or CGI script can be run within a site to dump the INSTANCE_ID header. + Newer versions actually list the site ID in the GUI console.
  • See the following section for information on running the SHAR service on Windows.
  • The options in shibboleth.xml must be @@ -964,7 +969,7 @@ most minor "letter" updates should be usable.

    4.a. Configuring shibboleth.xml

    The configuration for the target is mostly contained within shibboleth.xml, - located by default at \opt\shibboleth\etc\shibboleth\shibboleth.xml. + located by default at /opt/shibboleth/etc/shibboleth/shibboleth.xml. The target comes pre-configured with certificates and settings that will work against a test origin running on the same server; however, there are several values that must later be changed to interoperate with other sites securely and effectively.

    @@ -1011,22 +1016,19 @@ most minor "letter" updates should be usable.

    <RequestMapProvider type="edu.internet2.middleware.shibboleth.target.provider.XMLRequestMap"> <RequestMap applicationId="default"> - <Host name="localhost" scheme="https"> + <Host name="localhost"> <Path name="secure" requireSession="true" exportAssertion="true"> - <!-- Example shows a subfolder on the SSL port assigned to a separate <Application> --> + <!-- Example shows a subfolder on the default ports assigned to a separate <Application> --> <Path name="admin" applicationId="foo-admin"/> </Path> </Host> - <Host name="localhost" scheme="http"> - <Path name="secure" requireSession="true" exportAssertion="true"/> - </Host> </RequestMap> </RequestMapProvider> <!-- IIS only: <Implementation> <ISAPI normalizeRequest="true"> - <Site id="1" scheme="https" name="localhost" port="443"/> + <Site id="1" name="localhost" /> </ISAPI> </Implementation> --> @@ -1106,7 +1108,10 @@ most minor "letter" updates should be usable.

  • The main Applications element's providerId attribute must be changed to reflect the URI this target will - use to identify itself to origins by default. This will often be approved or supplied by a federation.

    + use to identify itself to origins by default. This will often be submitted to a federation for + approval, but is generally a URI chosen by the deployer to uniquely identify his/her service. + For example, if Amazon.com were running Shibboleth (stop laughing), its identifier might be + https://amazon.com/shibboleth

  • The supportContact and error templates for the target found in the @@ -1250,7 +1255,8 @@ most minor "letter" updates should be usable.

    as an audience value.

    Within an Application element, this setting is not inherited from the Applications element. Any values - desired must be specified. In most cases, this element can be omitted.

    + desired must be specified. In most cases, this element can be omitted unless required for supporting legacy + origins running older Shibboleth versions.

    <CAPath>pathname</CAPath>
    @@ -1369,7 +1375,8 @@ most minor "letter" updates should be usable.

    • scheme: This specifies the protocol on which this host responds. Valid choices are http, https, ftp, - ldap, and ldaps.
    • + ldap, and ldaps. If omitted, both http + and https are in effect.
    • name: This is the fully-qualified domain name of the host. This appended to the scheme must match what is contained in the URL for the element's settings to apply to the request.
    • @@ -1400,7 +1407,7 @@ most minor "letter" updates should be usable.

      The configuration information for Shibboleth targets deployed on Microsoft IIS is stored inside this container element. This element must contain one or more Site elements, each of which - maps an INSTANCE ID value to a hostname. If normalizeRequest is + maps an INSTANCE ID value to a default hostname. If normalizeRequest is true (the default), all redirects and computed request URLs generated by Shibboleth will be created using the hostname assigned to the site instance handling the request. If false, the browser's supplied URL is sometimes used to compute the information. Placed inside the @@ -1667,7 +1674,10 @@ cookieProps="URL">

      <Site id="INSTANCE_ID" name="fqdn" scheme="http/https" port="integer">

      This element is placed in the ISAPI element to specify a - mapping from individual instance ID's to the corresponding hostname, port, and scheme.

      + mapping from individual instance ID's to a corresponding hostname. The port and scheme can also be specified, but + should normally be left out, enabling them to be determined from the browser request. Note that while IIS permits + multiple hostnames to be assigned to a web site, only one can be specified here. If you really need to allow for + multiple names (unusual), you should set the >normalizeRequest attribute to false.

      <TCPListener address="pathname" port="integer" acl="ip">
      @@ -2270,7 +2280,7 @@ cookieProps="URL">

      A complete command issued to siterefresh might take the form:

      -

      /opt/shibboleth/bin/siterefresh --out IQ-sites.xml --cert internet2.pem \
      +

      /opt/shibboleth/bin/siterefresh --out IQ-sites.xml --cert inqueue.pem \
      --url http://wayf.internet2.edu/InQueue/IQ-sites.xml

      It is recommended that such commands be added to a @@ -2378,5 +2388,4 @@ with a thorough description of errors and configurations used.

  • - -- 2.1.4