...
Numberedheadings |
---|
System PreparationInstall Debian 7The first thing that is required is a Debian 7 machine - this can be physical or virtual.
We would recommend using LVM when disk partitioning to allow easier partition/disk expansion on a live system. After install, you will want to secure/lockdown the server as best practice dictates - for both the server and any extra software installed. This is beyond the remit of this guide but there are many guides available, e.g. for securing Debian, and SSH servers. Configure Debian 7Next, there are a few Debian configuration options that need to be set in advance. Networking configurationFor production deployments, it is recommended that the Moonshot APC be assigned a static IP address. Firewall configurationThe following ports are required to be accessible from the outside world, both in local firewall and in any external firewalls:
Add the Moonshot Repository
Install the SoftwareWe’re now ready to install the Moonshot software and its required dependencies. Install the software by running the following command: If you try to start FreeRADIUS at this point, it will not currently start successfully as the certificates it requires have not been generated - they are created in step 3.1 below.
Configure the Moonshot APCNext, we need to configure the Moonshot APC. Configure FreeRADIUSCertificatesWe need to get FreeRADIUS to create some private and public keys to use for its RadSec connections. Create and install the certificates by doing the following (as root).
Moonshot UI credential storeWe need to enable the freeradius user to use the Moonshot UI flatstore: RadSecNext we need to configure RadSec. We do this by creating a file at RealmWe next need to configure your realm in the FreeRADIUS server so that it knows not to send any requests for your own users off to another server.
EAP Type
Resource Provider AuthenticationThis information is implementation-specific and will be discussed separately.
Configure the Trust Router connectionThe APC is fundamental to a Trust Router network, so the next step involves configuring the Trust Router client software and configuring its connection to a Trust Router. Set up the FreeRADIUS and Trust Router usersWe need to place the FreeRADIUS user and the Trust Router users into each other's groups to allow them to read each other's shared files. Configure TIDSThe APC also runs the Temporary ID Server (TIDS).
TestingNow that we have the Moonshot IdP installed and configured, we're now ready to test! At this point you probably want three consoles open on the server, so that you can manually run various components separately.
Testing FreeRADIUS locallyThe first test is to check whether FreeRADIUS is working in its most basic manner.
Testing the Trust Router connectionTo test the connection to Trust Router, we need to make sure the Temporary Identity Server (TIDS) software is running, then use the Temporary Identity Client (TIDC) software to simulate a connection to the Trust Router. Starting the Temporary Identity Server (TIDS)In window 3 (window 1 should still be still running the FreeRADIUS server and window 2 the radtest command), run the TIDS software: trustrouter@apc.moonshot.ja.net is the identity that the trust router will use when provisioning keys - this makes it easy to spot in your own log files. This uses the "tids" binary which is used in the following way - tids [your-ip-address] trustrouter-gss-name] [your-hostname] [path-to-key-database] When using Network Address Translation (NAT) or a firewall, you must specify your external IP address.
Run an APC authentication testAt this point, you must configure your trust router to use testuser@YOUR-APC-REALM as authentication.
Next StepsAt this point, you now have a Moonshot APC that is working. Now for the next steps: Automatically start the softwareFreeRADIUSTo automatically start FreeRADIUS, issue the following command (as root): If this is working correctly, you should see FreeRADIUS running as a daemon process. TIDSTo automatically start TIDS, issue the following command (as root): If this is working correctly, you should see TIDS running as a daemon process. Configure a real source of AuthenticationYour FreeRADIUS server can currently only authenticate a single user - "testuser". At this point, you will want to connect to your management database. The FreeRADIUS site has information and instructions for how to do this. |