Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Numbered Headings

Include Page
TEM:_SystemPrep_DEB7
TEM:_SystemPrep_DEB7

Install Trust Router

We’re now ready to install the Trust Router software and its required dependencies. Install the software by running the following command:

Code Block
languagebash
$ apt-get install moonshot-trust-router moonshot-ui

Configure Trust Router

Next, we need to configure the Trust Router.

RadSec

APC TLS

First, you will need a copy of a client key and certificate (and appropriate CA) from the APC(s) that your Trust Router serves. Copy them onto the filesystem of your Trust Router.

Note

You can put these files anywhere on the file system, but this guide assumes you put them in /etc/pki/tls. If you place them in a different location you will need to change the locations below as appropriate.

Connection to APC

Next, we need to configure the RadSec configuration for the APC. We do this by creating a file at /etc/radsec.conf with the following:

Code Block
linenumberstrue
realm gss-eap {
	type = "TLS"
	cacertfile = "/etc/pki/tls/tr-ca.crt"
	certfile = "/etc/pki/tls/tr-client.pem"
	certkeyfile = "/etc/pki/tls/tr-client.key"
	disable_hostname_check = yes
	server {
		hostname = "apc.moonshot.ja.net"
		service = "2083"
		secret = "radsec"
	}
}

Trust Router

Daemon Configuration

Your Trust Router will need to have a few core configuration items set. To do this:

  1. Open the default instance's main configuration file at /etc/trust_router/conf.d/default/main.cfg for editing.
    1. Change the hostname to the (fully qualified) hostname of your Trust Router.
    2. Change the port that it runs on, if necessary.
Note

If the /etc/trust_router directory does not exist, you may need to create it yourself, along with the subdirectories mentioned.

Moonshot Configuration

Moonshot, you say? Yes, Trust Router uses Moonshot to authenticate and secure all communications between Trust Router clients and servers. So, you will need to configure the trust router user to make use of the Moonshot flatstore (i.e. telling Moonshot that this is a special system account, not a regular user account), and you will need to import a set of credentials for your Trust Router to use.

  1. Enable the trustrouter user to use the Moonshot UI flatstore:

    Code Block
    languagebash
    $ echo "trustrouter" >> /etc/moonshot/flatstore-users
  2. Import it using the moonshot-webp command (as the trustrouter user):

    Code Block
    languagebash
    $ su --shell /bin/bash trustrouter
    $ unset DISPLAY
    $ moonshot-webp -f [path to credential file]
    Info

    The credentials file will be given to you by the administrator of the APC.

Shibboleth

Shibboleth, you say? Yes, Shibboleth is used by the Moonshot components to be able to deal with incoming SAML. However, this feature typically isn't used in Trust Router, but its logging will appear in your Trust Router's log files. So, to simplify your log files, it is recommended that you silence the Shibboleth logging. To do this:

  1. Open /etc/shibboleth/console.logger for editing.
  2. Change WARN to NONE on the first line, i.e.

    Code Block
    linenumberstrue
    log4j.rootCategory=NONE, console

Default Peer

Info
If your Trust Router is going to run in its own, standalone, trust network, then you can skip this step.

If your Trust Router is going to run in a wider trust network, then you can configure your Trust Router's default peer - i.e. the Trust Router it sends its clients to when they ask it to locate a Moonshot entity that your Trust Router doesn't know about. To do this:

  1. Open /etc/trust_router/conf.d/default/peering.cfg for editing. Change the content as follows:

    If the /etc/trust_router directory does not exist, you may need to create it yourself, along with the subdirectories mentioned.
    Code Block
    linenumberstrue
    {
    "default_servers": [
     "[hostname of trust router]"
     ]
    }
    Note

     

     

    Tip
    titleExample

    If you were configuring your default Trust Router peer to be Janet's Trust Router at tr1.moonshot.ja.net, its peering.cfg file would look like this:

    Code Block
    linenumberstrue
    {
    "default_servers": [
     "tr1.moonshot.ja.net"
     ]
    }

Configure your Trust Router

A trust router requires a trust configuration to function correctly. See the trust configuration file for more information.

Place an appropriate trusts.cfg file info the /etc/trust_router directory and symbolically link it into the default configuration directory:

Code Block
linenumberstrue
# cd /etc/trust_router/conf.d/default
# ln -s ../../trusts.cfg
Info

You can find a Trust Router configuration suitable for a Trust Router connecting to tr1.moonshot.ja.net at sample Trust Router Client configuration

 

Start your Trust Router

You are now ready to start your Trust Router and test it. To do this:

  1. As trustrouter user, start the Trust Router:

    Code Block
    languagebash
    $ trust_router
    Note

    Debian currently has no initscript for trust_router so it needs to be run manually. We hope to fix this in the near future.

Testing

To test your trust router, you should attempt a TIDC request on a Moonshot service connected to your trust router. The TIDC request will take a little longer, but it should succeed.

If it fails, please contact us.

Next Steps

At this point, you now have a Trust Router. Blimey.