Zeile 3:
Zeile 3:
cert_client: Rechner, auf den die Zertifikate übertragen werden.
cert_client: Rechner, auf den die Zertifikate übertragen werden.
−
==Cert_master==
+
==cert_master==
===Software besorgen/installieren:===
===Software besorgen/installieren:===
Zeile 218:
Zeile 218:
cp $CHAINFILE /home/cert/$DOMAIN/
cp $CHAINFILE /home/cert/$DOMAIN/
−
chmod 500 $(find /home/cert -mindepth 1 -type d )
+
chmod 750 $(find /home/cert -mindepth 1 -type d )
−
chmod 400 $(find /home/cert -mindepth 1 -type f )
+
chmod 740 $(find /home/cert -mindepth 1 -type f )
−
chown cert.cert -R /home/cert/*
+
chown root.cert -R /home/cert/*
# cleanup unused cert files
# cleanup unused cert files
Zeile 272:
Zeile 272:
</source>
</source>
−
==SSH konfigurieren==
+
===Transferbenutzer anlegen===
−
/etc/ssh/sshd_config: Hier wird /etc/ssh/authorized_keys_local als zusätzliche Quelle für erlaubte public keys hinzugefügt.
+
Dieser Benutzer wird verwendet als Transferbenutzer zwischen cert_master und cert_client
+
+
<source lang=bash inline> adduser --home /home/cert --disabled-login -gecos "" cert</source>
+
+
===SSH konfigurieren===
+
+
'''/etc/ssh/sshd_config''': Hier wird /etc/ssh/authorized_keys_local als zusätzliche Quelle für erlaubte public keys hinzugefügt.
<source lang=bash>
<source lang=bash>
AuthorizedKeysFile %h/.ssh/authorized_keys /etc/ssh/authorized_keys_local
AuthorizedKeysFile %h/.ssh/authorized_keys /etc/ssh/authorized_keys_local
</source>
</source>
−
/etc/ssh/sshd_config: Hier wird ein chroot jail für den Zertifikatsuser eingerichtet, so dass ein geleakter private key kein manipulieren des Cert_master zulässt. Die Permissions von /home/cert (wie gesetzt in hooks.sh) verhindern ein überschreiben der Zertifikate, internal-sftp erlaubt nur sftp über die Verbindung.
+
'''/etc/ssh/sshd_config''': Hier wird ein chroot jail für den Zertifikatsuser eingerichtet, so dass ein geleakter private key kein manipulieren des cert_master zulässt. Die Permissions von /home/cert (wie gesetzt in hooks.sh) verhindern ein überschreiben der Zertifikate, internal-sftp erlaubt nur sftp über die Verbindung.
<source lang=bash>
<source lang=bash>
Match User cert
Match User cert
Zeile 289:
Zeile 295:
</source>
</source>
−
/etc/ssh/authorized_keys_local: Hier kommen alle public keys von hosts rein, die Zertifikate abrufen wollen.
+
'''/etc/ssh/authorized_keys_local''': Hier kommen alle public keys von hosts rein, die Zertifikate abrufen wollen.
+
+
===Cron===
+
+
Das script in cron.daily läuft einmal täglich (wann wird bestimmt von Debian). Dann werden neue Zertifikate abgerufen und alte erneuert.
+
'''/etc/cron.daily/ssl_certs''': dehydrated wird aufgerufen und stdout wird verworfen. Stderr wird über cron per mail weiter gegeben.
+
<source lang=bash>
+
#!/bin/bash
+
+
dehydrated -c -g -f /etc/dehydrated/config > /dev/null
+
</source>
+
+
==cert_client==
+
+
==SSH kofigurieren==