Skip to content

Configuration flex auth #4

Merged
merged 3 commits into from Mar 2, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 1 addition & 5 deletions Dockerfile
Expand Up @@ -36,8 +36,7 @@ RUN chmod 755 /opt/tier/setenv.sh \
&& chmod 755 /usr/local/bin/healthcheck.sh

RUN cp /dev/null /etc/httpd/conf.d/ssl.conf \
&& mv /etc/httpd/conf.d/shib.conf /etc/httpd/conf.d/shib.conf.auth.shibboleth \
&& touch /etc/httpd/conf.d/shib.conf.auth.internal \
&& rm /etc/httpd/conf.d/shib.conf \
&& sed -i 's/LogFormat "/LogFormat "httpd;access_log;%{ENV}e;%{USERTOKEN}e;/g' /etc/httpd/conf/httpd.conf \
&& echo -e "\nErrorLogFormat \"httpd;error_log;%{ENV}e;%{USERTOKEN}e;[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i\"" >> /etc/httpd/conf/httpd.conf \
&& sed -i 's/CustomLog "logs\/access_log"/CustomLog "\/tmp\/loghttpd"/g' /etc/httpd/conf/httpd.conf \
Expand Down Expand Up @@ -83,11 +82,8 @@ ENV USERTOKEN ""

# Authentication/web

ENV AUTHENTICATION internal
ENV SSO_HEADER uid
ENV AJP_ENABLED true
ENV AJP_PORT 9090
ENV LOGOUT_URL https://localhost:8443/Shibboleth.sso/Logout

# Other parameters

Expand Down
6 changes: 6 additions & 0 deletions container_files/httpd/conf/midpoint.conf
@@ -0,0 +1,6 @@

Timeout 2400
ProxyTimeout 2400
ProxyBadHeader Ignore

ProxyPass /midpoint ajp://localhost:9090/midpoint timeout=2400 retry=0
30 changes: 3 additions & 27 deletions container_files/usr-local-bin/start-httpd.sh
Expand Up @@ -3,34 +3,10 @@
echo "Linking secrets"
for filepath in /run/secrets/*; do
label_file=`basename $filepath`
if [ "$label_file" == "mp_sp-signing-key.pem" ]; then
ln -sf /run/secrets/mp_sp-key.pem /etc/shibboleth/sp-signing-key.pem
elif [ "$label_file" == "mp_sp-encrypt-key.pem" ]; then
ln -sf /run/secrets/mp_sp-key.pem /etc/shibboleth/sp-encrypt-key.pem
elif [ "$label_file" == "mp_host-key.pem" ]; then
if [ "$label_file" == "mp_host-key.pem" ]; then
ln -sf /run/secrets/mp_host-key.pem /etc/pki/tls/private/host-key.pem
fi
done

echo "Linking config files; using authentication: $AUTHENTICATION"
ln -sf /etc/httpd/conf.d/midpoint.conf.auth.$AUTHENTICATION /etc/httpd/conf.d/midpoint.conf
ln -sf /etc/httpd/conf.d/shib.conf.auth.$AUTHENTICATION /etc/httpd/conf.d/shib.conf

case $AUTHENTICATION in
shibboleth)
echo "*** Starting httpd WITH Shibboleth support"
set -e
rm -f /etc/httpd/logs/httpd.pid
export LD_LIBRARY_PATH=/opt/shibboleth/lib64:$LD_LIBRARY_PATH
(/usr/sbin/shibd -f) & httpd -DFOREGROUND
;;
internal)
echo "*** Starting httpd WITHOUT Shibboleth support"
rm -f /etc/httpd/logs/httpd.pid /run/httpd/httpd.pid
httpd -DFOREGROUND
;;
*)
echo "*** Couldn't start httpd: unsupported AUTHENTICATION variable value: '$AUTHENTICATION'"
sleep infinity
;;
esac
rm -f /etc/httpd/logs/httpd.pid /run/httpd/httpd.pid
httpd -DFOREGROUND
1 change: 0 additions & 1 deletion demo/grouper/.env
@@ -1,4 +1,3 @@
AUTHENTICATION=internal
ENV=demo
REPO_DATABASE_TYPE=mariadb
REPO_JDBC_URL=default
Expand Down
Expand Up @@ -101,8 +101,12 @@ p+tGUbGS2l873J5PrsbpeKEVR/IIoKo=

</KeyDescriptor>

<NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://localhost/idp/profile/SAML2/Redirect/SLO"/>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://localhost/idp/profile/SAML2/POST/SLO"/>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://localhost/idp/profile/SAML2/POST-SimpleSign/SLO"/>

<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>

<SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" Location="https://localhost/idp/profile/Shibboleth/SSO"/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://localhost/idp/profile/SAML2/POST/SSO"/>
Expand Down Expand Up @@ -198,8 +202,8 @@ p+tGUbGS2l873J5PrsbpeKEVR/IIoKo=
</KeyDescriptor>


<AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://localhost/idp/profile/SAML1/SOAP/AttributeQuery"/>
<AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://localhost/idp/profile/SAML2/SOAP/AttributeQuery"/>
<AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://localhost:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
<AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://localhost:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
<!-- If you uncomment the above you should add urn:oasis:names:tc:SAML:2.0:protocol to the protocolSupportEnumeration above -->

</AttributeAuthorityDescriptor>
Expand Down
205 changes: 165 additions & 40 deletions demo/grouper/configs-and-secrets/midpoint/shibboleth/sp-encrypt-key.pem
@@ -1,40 +1,165 @@
-----BEGIN PRIVATE KEY-----
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
/oz8xKl5PKwOrvk2DH+FwaAg
-----END PRIVATE KEY-----
RSA Private-Key: (3072 bit, 2 primes)
modulus:
00:e8:e6:3d:20:73:46:c8:db:3c:10:40:ea:36:15:
5b:e4:2d:b1:83:39:7e:f2:2e:34:4a:c6:54:34:6f:
28:7c:82:4c:d6:e6:74:56:77:ee:a1:25:fd:fc:2c:
ad:d1:78:86:7e:15:ed:f0:19:ea:35:ba:47:56:8c:
18:59:75:bd:0c:89:db:cf:41:f2:5e:47:38:f8:df:
1a:e0:76:80:bf:48:c6:e9:4e:9a:b9:18:54:df:27:
7e:08:e5:6c:53:4d:92:d3:10:27:c3:69:ad:81:32:
97:7a:3b:f3:ac:42:0b:1c:77:02:20:39:32:07:6f:
e3:4d:0b:ea:f9:66:11:f3:47:23:0b:0e:1c:05:13:
35:1c:82:c0:c4:bd:3f:a8:c1:27:92:08:c4:3d:0c:
79:ff:b7:a1:48:c0:bd:5b:0f:66:ed:b8:10:99:f3:
4d:46:ac:66:72:34:17:c6:82:fd:8c:d5:6f:13:9b:
04:d7:32:9a:d0:36:22:97:9c:fe:02:de:d4:1d:3d:
78:36:54:76:e5:cf:2f:f6:ac:e7:b4:16:be:02:6b:
5a:3f:1b:08:af:8b:76:3d:0f:30:f4:af:5b:3a:f8:
06:73:79:f1:dc:5a:62:00:a0:44:7e:ed:9e:16:6e:
74:fb:c2:8c:16:a4:43:39:31:a3:f9:e3:b1:12:0a:
b6:6d:e5:37:d5:26:51:88:97:6e:5f:9e:6e:ed:03:
49:01:54:68:57:ce:da:13:8e:51:33:40:af:f4:2e:
0b:e1:90:2f:e5:3b:54:07:72:6d:36:cf:f8:a7:07:
e4:b6:cd:51:2a:98:93:14:b0:85:b1:73:e5:ac:a6:
a3:92:a9:a6:76:01:f4:ae:62:c9:24:56:bc:62:21:
9f:05:c7:36:fe:72:16:b9:94:6d:eb:76:04:f2:65:
33:3b:fb:35:a7:8f:69:9e:fa:ca:9a:1b:cc:d8:e3:
34:16:e0:68:d1:02:b1:0d:59:0f:d7:de:d9:0f:14:
05:ed:26:da:04:0f:e5:8b:b1:e5
publicExponent: 65537 (0x10001)
privateExponent:
4c:dd:e0:82:db:49:1b:75:b0:27:35:25:97:e0:08:
ca:10:82:ab:ea:c8:09:2a:52:bb:f3:25:4b:80:fc:
7d:cb:8b:8c:c9:d6:cf:cb:19:89:3a:3e:cf:81:f7:
84:51:21:22:70:1e:6d:c6:3f:d4:a7:bc:6f:c6:21:
2b:35:7e:c5:aa:a2:4f:8f:56:6c:e3:58:dc:5a:d6:
46:0b:16:87:0b:80:0a:f4:94:80:4e:95:84:69:46:
61:ad:46:c9:5f:aa:fb:da:33:25:7d:b5:74:14:bc:
85:ed:4f:89:24:eb:01:e4:0d:61:91:3e:ff:d1:5f:
d5:c7:ff:2f:7d:0e:a3:9a:70:e8:6f:29:b4:4b:18:
96:66:59:35:15:b8:f2:fb:7d:11:e7:ae:cc:ef:57:
3c:9c:e0:b0:60:5c:9e:b7:40:a3:68:c2:a1:ec:f9:
2e:40:2c:37:b9:15:b7:c0:f7:ea:09:6f:75:ab:0e:
37:f0:4d:c4:36:79:c8:4c:5a:51:9c:35:08:89:92:
17:25:28:f7:4a:a7:31:fd:6e:d0:eb:17:a2:fb:2f:
79:53:8b:64:b1:3d:ff:49:0e:e1:55:7a:7e:06:17:
f2:8d:77:4a:fe:4d:2f:37:3c:59:7d:69:3d:9c:20:
fc:87:b1:de:89:0b:8b:3c:43:73:ae:53:b0:b9:6b:
48:fa:02:c3:21:d1:69:95:75:09:fb:fa:62:2b:7a:
24:76:cb:5d:1c:97:16:70:d5:1e:95:6f:32:af:b2:
52:a6:fd:48:6b:62:8c:80:72:36:17:85:15:71:36:
0b:66:b7:af:cf:17:79:6b:47:29:bc:55:bb:be:6b:
dd:c3:6b:c5:ac:26:f9:26:c5:6c:9a:a0:6e:e4:e2:
de:69:51:83:21:b2:00:d9:22:df:26:aa:b5:d9:f8:
b6:af:19:36:f1:5b:70:5d:78:1a:09:3b:6d:48:cf:
bc:55:8e:dd:95:3f:e6:3c:2a:97:dd:2c:76:78:ce:
c4:3e:de:91:54:7b:ab:8b:81
prime1:
00:fb:7a:ba:56:1b:7a:d1:85:cd:6b:0e:e6:e0:11:
48:4a:7b:55:9b:86:76:80:61:4d:b3:02:e5:ae:03:
d1:1c:e6:9c:69:05:4c:2a:1a:6a:b7:71:e6:34:a0:
13:d4:c0:ff:6b:90:ba:d0:79:14:8c:c0:7d:e6:6d:
a7:13:89:35:21:a7:5e:f0:4c:d4:3d:70:f5:16:f1:
5b:13:df:fe:89:f3:71:d8:ea:c2:f2:92:ab:12:64:
62:4e:60:98:a1:e9:78:e6:ea:17:b2:4b:0d:18:9c:
a7:7e:e4:69:d9:3a:40:55:26:6b:5d:a2:1b:18:a6:
62:30:96:6f:d1:06:40:8a:55:41:ba:b6:67:67:25:
74:8c:a4:18:91:21:4c:14:eb:7a:d0:f0:c9:24:4a:
99:cc:6d:35:76:f0:c9:c6:c2:18:41:44:6d:8c:db:
1c:3b:44:76:9d:c9:68:2d:79:bb:aa:ed:7f:7d:c3:
fb:08:06:b0:5a:01:58:c9:ea:f6:58:47:55
prime2:
00:ed:16:02:1c:42:bc:5a:1e:bf:7e:3c:59:fd:f7:
95:08:bd:73:ac:3b:58:df:d6:12:48:4d:38:9e:69:
e0:f2:ac:26:98:52:65:bb:76:6e:30:ad:45:d4:66:
bd:a8:52:5d:e8:86:ac:33:ee:6b:1a:16:69:0a:9c:
5e:9a:dc:bb:79:dd:15:80:5c:2b:6c:59:a4:89:7f:
99:fd:30:af:54:13:10:70:a4:45:7c:df:c5:18:c2:
32:6c:be:c9:37:8a:4f:82:f5:f3:12:a0:83:aa:49:
9f:ec:02:de:1c:2c:bf:60:50:3e:4a:7e:34:f2:61:
0f:66:e6:55:45:a8:ae:a5:ea:e5:f8:81:57:66:fb:
95:38:34:ab:51:c7:5d:8b:71:93:6d:9b:c3:bc:6d:
b2:d1:44:34:64:ea:6b:6d:8a:c0:3e:56:77:a9:e3:
f4:36:a6:2f:32:a1:52:13:9d:70:9e:f2:19:5b:bd:
b1:ee:d8:70:61:a1:a6:0e:7b:9a:e8:a0:51
exponent1:
00:f9:7d:e1:fd:e9:97:68:e5:41:4d:f4:63:d3:6a:
f1:f8:8a:f1:fc:b1:63:41:ac:c7:84:50:dc:83:4e:
e0:18:b7:25:f7:ff:3c:78:0c:eb:51:02:1c:2c:9b:
9f:f1:14:64:93:57:ec:2f:45:e0:c0:5f:7c:c8:ae:
82:f2:9b:ce:6d:8b:fa:61:97:27:7d:a9:62:4e:97:
b7:0f:39:cb:f3:1a:e6:19:19:97:bd:47:0b:97:dc:
a5:b7:32:98:5b:12:21:53:9e:6d:52:02:a9:84:80:
6e:a0:32:86:5c:f0:30:c1:09:b3:bd:1a:45:9d:a7:
fc:84:4d:cb:b3:69:6b:80:92:62:fa:95:5a:72:f7:
b2:f0:91:20:9a:63:99:72:ab:c8:96:20:3c:bd:d7:
91:4c:42:10:a7:e6:ed:98:56:19:f0:2e:ae:2c:ef:
78:cb:c7:f9:92:43:2e:2a:e7:b9:eb:33:62:a7:e8:
56:55:b9:25:1e:b6:75:5b:25:d3:ae:f3:5d
exponent2:
4d:0b:36:da:5a:31:7d:13:ba:e4:d9:d5:e0:bb:00:
fa:5b:1e:68:dc:cc:4f:c8:f0:1e:00:c2:22:70:83:
c2:38:81:3e:44:a0:7c:9f:ca:c5:14:b9:b9:81:3d:
a6:a2:45:94:17:97:84:34:b9:27:3c:1b:1c:70:9e:
29:b3:0b:55:59:ab:f0:0f:83:a8:ed:24:93:ee:1c:
6b:73:d3:b5:fd:8f:fd:1a:d4:dd:f4:95:c7:2a:ec:
59:fc:51:c5:33:b4:0c:f9:c1:e8:ce:b2:9a:b6:dc:
3a:44:e0:4a:c5:9b:d7:3f:9c:4e:76:de:db:d9:00:
b9:4e:a6:6d:41:98:a7:a0:42:e5:53:9a:c4:83:83:
05:45:d0:5a:7d:ef:ff:2d:84:5c:3d:1f:09:6f:98:
89:7a:a1:90:1d:c1:95:52:5e:90:a3:66:b5:95:b7:
39:bf:1d:5d:55:a1:27:70:a5:35:71:b5:1d:e3:f2:
1b:8c:c8:50:61:c8:65:b2:73:2f:9f:51
coefficient:
00:c7:04:ff:52:f2:f0:85:87:85:2b:a5:07:47:02:
7f:cf:57:8a:18:00:bc:47:60:7d:b6:59:a0:75:d6:
71:4f:dd:ea:6d:5a:b8:95:95:ca:c3:7a:2c:a9:d8:
be:a6:05:af:be:68:3d:68:af:6b:fd:d3:b5:13:dd:
d2:d7:59:ac:9e:84:c8:f9:6f:71:4e:bf:b2:e7:2f:
5d:37:f8:71:e5:d7:90:31:42:be:df:0a:0b:a2:0e:
8b:b0:68:8a:13:62:1a:98:23:50:04:59:20:77:85:
6f:85:78:06:fb:6a:53:3d:82:7d:9f:2b:84:03:e9:
da:fa:d7:c4:e9:b4:9a:7e:82:7c:29:04:f5:ae:64:
45:41:84:5b:a0:16:3f:c7:1a:ad:b2:5e:8d:87:ce:
09:2b:b9:02:c3:6e:cd:35:d8:6c:b3:2b:a2:8a:97:
da:f0:d2:cc:e2:6f:b2:78:0e:a7:fe:8c:fc:c4:a9:
79:3c:ac:0e:ae:f9:36:0c:7f:85:c1:a0:20
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----