You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. If the certificate already exists you will need to revoke it before running your chosen playbook
10
10
11
11
### For sites outside the Princeton domain
12
-
1. Create the CSR (certificate signing request) - can be automated with [playbooks/cert_renewal.yml](https://github.com/pulibrary/princeton_ansible/blob/main/playbooks/incommon_certbot.yml)
13
-
2.Submit it to gandi via [this form](https://shop.gandi.net/en/certificate/create)
14
-
3. Your TLS/SSL cert will be created and returned to you via a email within 3 hours from gandi.net
12
+
1. Create a new entry under [sites](https://github.com/pulibrary/princeton_ansible/blob/dac77a6c2e0f1301201c9b2a63b9ebead5f7b7ac/group_vars/nginxplus/production.yml#L16)
13
+
2.Run the [nginxplus playbook](https://github.com/pulibrary/princeton_ansible/blob/main/playbooks/nginxplus.yml)
14
+
3. Your TLS/SSL cert will be on the production loadbalancer
15
15
4. Verify the files you get back and add them to your server configuration.
16
16
17
17
## Verifying certbot certificate renewals
@@ -28,244 +28,109 @@ Our certificate management system is Sectigo. Operations folks can [log into Sec
28
28
29
29
These certs are not managed by our usual process. These certs cover:
30
30
- sites we do not serve from the load balancers
31
-
- sites without the '.princeton.edu' extension
32
31
- vendor-hosted sites with the '.princeton.edu' extension
33
32
Many of these certs must be deployed manually. Some must also be renewed manually. If a private key is kept in princeton_ansible, it is encrypted as a file in the `/keys/` directory of the repo.
34
33
35
-
cicognara.org
36
-
Purpose: public site for the Cicognara collection (a collaborative project)
37
-
Managed: on gandi.net, private key is in princeton_ansible
38
-
Deployed: on the load balancers
34
+
cicognara.org
35
+
Purpose: public site for the Cicognara collection (a collaborative project)
Managed: in ServiceNow, private key is on princeton_ansible
45
-
Deployed: on Google cloud, on dev.pulcloud.io
44
+
dataspace-dev.princeton.edu
45
+
Purpose: dev/staging site for dspace
46
+
Managed: Via [Lego](lego.md)
47
+
Deployed: on Google cloud, on dev.pulcloud.io
46
48
47
49
dataspace-staging.princeton.edu
48
-
49
-
dss2.princeton.edu
50
-
Purpose: secures dataset downloads from a separate server for DSS via a web browser
51
-
Managed: in ServiceNow - John will move to letsencrypt
52
-
Deployed: on the dss2 CentOS VM
50
+
Purpose: dev/staging site for dspace
51
+
Managed: Via [Lego](lego.md)
52
+
Deployed: on Google cloud, on dev.pulcloud.io
53
+
54
+
dss2.princeton.edu
55
+
Purpose: secures dataset downloads from a separate server for DSS via a web browser
56
+
Managed: in ServiceNow - John will move to letsencrypt
57
+
Deployed: on the dss2 CentOS VM
53
58
Notes: cannot be a SAN name for the main DSS cert, because we only want to secure this functionality on one machine - can be tricky to maintain because server access requires signing nondisclosure agreements (for protected data)
54
59
55
-
ezproxy.princeton.edu
56
-
Purpose: allows access to journals by confirming Princeton affiliation
57
-
Managed: on ezproxy-prod1 by letsencrypt
58
-
Deployed: in /etc/letsencrypt/live/ezproxy on the ezproxy-prod1 server
60
+
ezproxy.princeton.edu
61
+
Purpose: allows access to journals by confirming Princeton affiliation
62
+
Managed: on ezproxy-prod1 by letsencrypt
63
+
Deployed: in /etc/letsencrypt/live/ezproxy on the ezproxy-prod1 server
59
64
60
-
imagecat2.princeton.edu
65
+
imagecat2.princeton.edu
61
66
Philippe will shut down the server once he has copied whatever we need from it. Once it's gone, we can revoke the cert.
62
67
63
-
lib-aeon.princeton.edu
64
-
Purpose: redirects traffic to hosted Aeon service at https://princeton.aeon.atlas-sys.com
65
-
Managed: for new site by the vendor
66
-
Deployed: to new site by the vendor
68
+
lib-aeon.princeton.edu
69
+
Purpose: redirects traffic to hosted Aeon service at https://princeton.aeon.atlas-sys.com
70
+
Managed: for new site by the vendor
71
+
Deployed: to new site by the vendor
67
72
Notes: We would like to redirect the old URL on the load balancers and power off the old lib-aeon machine. The templates for printing Aeon call slips, which used to live on the lib-aeon machine, have been moved to a fileshare called aeonprint on lib-fileshare.
68
73
69
-
lib-gisportal.princeton.edu
70
-
Purpose: for maps (Wangyal)
71
-
Managed: in ServiceNow
72
-
Deployed: in IIS on a physical machine that runs MS HyperV virtualization - cluster of lib-geoserv1 and lib-geoserv2 (not the Lib-Gisportal2 VM) server
74
+
lib-gisportal.princeton.edu
75
+
Purpose: for maps (Wangyal)
76
+
Managed: in ServiceNow
77
+
Deployed: in IIS on a physical machine that runs MS HyperV virtualization - cluster of lib-geoserv1 and lib-geoserv2 (not the Lib-Gisportal2 VM) server
73
78
Notes: windows physical machine, you must be an admin on the Windows box, expires 2024/07/30
74
79
75
-
lib-illsql.princeton.edu
76
-
Purpose: interlibrary loan
77
-
Managed: in ServiceNow
78
-
Deployed: in IIS, on the lib-illiad-new VM
80
+
lib-illsql.princeton.edu
81
+
Purpose: interlibrary loan
82
+
Managed: in ServiceNow
83
+
Deployed: in IIS, on the lib-illiad-new VM
79
84
Notes: Windows VM; cert has a SAN name of lib-illiad.princeton.edu; we hope to migrate this to a hosted platform in 2024
80
85
81
-
libserv97.princeton.edu
82
-
Purpose: Philippe's test machine, may disappear in 2024
83
-
Managed: in ServiceNow
86
+
libserv97.princeton.edu
87
+
Purpose: Philippe's test machine, may disappear in 2024
88
+
Managed: in ServiceNow
84
89
Deployed: directly on the libserv97 VM (dev environment)
85
90
86
91
oar.princeton.edu
87
-
88
-
oar-dev.princeton.edu
89
-
Purpose: open access repository
90
-
Managed: in ServiceNow, private key is on princeton_ansible
91
-
Deployed: on Google cloud at dev.pulcloud.io
92
-
93
-
oar-staging.princeton.edu
94
-
Purpose: open access repository
95
-
Managed: in ServiceNow, private key is on princeton_ansible
96
-
Deployed: on Google cloud at staging.pulcloud.io
97
-
98
-
pulmirror.princeton.edu
99
-
Purpose: distributing Ubuntu packages
100
-
Managed: in ServiceNow, private key is in princeton_ansible
The step :point_up_2: above will create `${NEW_HOST_NAME}.csr` and
198
-
`${NEW_HOST_NAME}_priv.key` in your current directory.
199
-
200
-
#### 2. Submit the Certificate request to gandi.net
201
-
202
-
Submit the CSR to gandi.net. Use the following guidance:
203
-
204
-
* (SKIP if not SAN) Before submitting it you can check to see if your CSR contains the SAN you
205
-
specified in the `${NEW_HOST_NAME}_san.cnf` file by doing.
206
-
207
-
```bash
208
-
openssl req -noout -text -in ${NEW_HOST_NAME}.csr | grep DNS
209
-
```
210
-
211
-
* Provide a `cat`'ed copy of the Certificate Signing Request
212
-
with the following command
213
-
214
-
```
215
-
cat ${NEW_HOST_NAME}.csr
216
-
```
217
-
218
-
#### 4. Verify the files you get back
219
-
220
-
* Gandi.net provides the certificates in the form of an email. You will want the Certificate and Root/Intermediate files:
221
-
222
-
* `vi ${NEW_HOST_NAME}_cert.cer` and copy and paste including `-----BEGIN CERTIFICATE-----` to `-----END CERTIFICATE-----`
223
-
* `vi ${NEW_HOST_NAME}_interm.cer` and copy and paste the rest of the certificates marked as `X.509 Root/Intermediate(s)`. This should have Multiple begin and end certificates, which should be included.
224
-
225
-
1. Create the chained file from the data returned by gandi.net:
226
-
227
-
* Concatenate the certificate and the intermediate certificates to create a chained `.pem` file that includes the contents of both files:
In July of every year [tigris.princeton.edu](tigris.princeton.edu) will get an automatic renewal. The following steps will be needed to ensure the certificate remains renewed.
133
+
In July of every year [tigris.princeton.edu](tigris.princeton.edu) will get an automatic renewal. The following steps will be needed to ensure the certificate remains renewed.
269
134
* Open a ticket with tigris (aka Gimmal) support at [email protected] and ask who should receive the new chained file.
270
135
* You will need the [vaulted private key](https://github.com/pulibrary/princeton_ansible/blob/main/keys/tigris_princeton_edu_priv.key) and the certificate and intermediate certificate to generate a pfx file that you will ship to the vendor
0 commit comments