Example
Founder, Inventor, Creator
Example
SELinux status: enabledSELinuxfs mount: /selinuxCurrent mode: permissiveMode from config file: enforcingPolicy version: 21Policy from config file: targeted
The fix for the SELinux problem is documented on Page 1 however I recommend being a bit more brutal if your environment is hyper fussy about security.
cd /etc/shibboleth openssl genrsa -des3 -out external.key 2048 openssl req -new -key external.key -out external.csr
The above will create a CSR request for your resource, when asked what the common name is enter something like shib.yourdomain.com – DO NOT use sp.yourdomain.com or the same common name as you used to register your SP!
Edit the CSR and copy its contents into clipboard. Then login to your godaddy hosting account and paste the CSR request into your certificate request.
Godaddy will do their thing then get back to you with a CRT a few files usually within 24 hours.
When they get back to you with the files copy or download them the files to /etc/shibboleth
Rename shib.yourdomain.com.crt to external.crt
Rename gd_bundle.crt to external_int.crt and place it in /etc/shibboleth
Edit /etc/httpd/conf.d/ssl.conf
ReplaceSSLCertificateKeyFile /etc/pki/tls/private/localhost.key
With
SSLCertificateKeyFile /etc/shibboleth/external.key
ReplaceSSLCertificateFile /etc/pki/tls/private/localhost.crt
WithSSLCertificateFile /etc/shibboleth/external.crtUnder SSLCertificateKeyFile paste SSLCertificateChainFile /etc/shibboleth/external_int.crt
Edit /etc/httpd/conf/httpd.conf
Replace
UseCanonicalName Off
With
UseCanonicalName On
Find the line beginning with ServerName
Comment it out
Below it type ServerName shib.yourdomain.com:80
/usr/sbin/apachectl restart
/usr/sbin/apachectl start
The above commands will restart Apache or start it if it hasn't already been started
Edit /etc/sysconfig/iptables & above all REJECT rules paste:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT
/sbin/service iptables restart
If everything restarts without any errors then:
Continue to the testing phase
Part 2. Shibboleth Config (6 hours)
cd /etc/shibboleth wget http://metadata.ukfederation.org.uk/ukfederation.pem wget http://metadata.ukfederation.org.uk/ukfederation-metadata.xml
Edit shibboleth2.xml
Replace all instances of sp.example.org with your Entity ID ie sp.yourdomain.comSearch for ApplicationDefaults
Add homeURL=”https://sp.domainz.com/ahomeurl” under entityID – homeURL is the first url of the resource if none is specified.
Search for <sessions
Before the default example (Reading Default example directs to a speci… ” Insert:
<SessionInitiator isDefault="true" id="UKFederation" Location="/WAYF/UKFederation" type="WAYF" defaultACSIndex="5" URL="https://wayf.ukfederation.org.uk/WAYF" />Search for exportLocation
Under exportLocation replace http://localhost with https://localhost
Replace all instances of root@localhost with the technical support email address
Search for MetadataProvider
This bit gets messy so pay close attention…..
<MetadataProvider type="XML" uri="http://metadata.ukfederation.org.uk/ukfederation-metadata.xml" backingFilePath="/etc/shibboleth/ukfederation-metadata.xml" reloadInterval="14400"> <MetadataFilter type="RequireValidUntil" maxValidityInterval="2592000"/> <SignatureMetadataFilter certificate="ukfederation.pem"/> </MetadataProvider>
Search for the line Delete it or comment it out.
Directly below it paste the following:
/etc/shibboleth/sp.key /etc/shibboleth/sp.crt
Don’t forget to replace yourpassword with your key password if you have set one!
For now we are done in shibboleth2.xml
Run ./keygen.sh to generate your new key pair
mv sp-key.pem sp.key mv sp-cert.pem sp.crt
Internet 2 give some “creative” documentation for this procedure so I thought I’d write some that are easier to follow:
Comment out SELINUX=enforcingType in SELINUX=disabled