
Sichere Verbindungen zu Nextcloud und ONLYOFFICE
Eine der grundlegendsten Aufgaben, zu der wir gezwungen sein werden, wird darin bestehen, den Zugang zu Nextcloud und ONLYOFFICE zu sichern, vor allem, wenn wir vorhaben, über das Internet zu arbeiten. Also, In diesem Dokument sehen wir uns an, wie Sie unverschlüsselten HTTP-Datenverkehr durch sicheren HTTPS-Datenverkehr ersetzen können, wir werden zunächst die Konfiguration für Nextcloud und schließlich auf ONLYOFFICE sehen.
Sicheren Zugriff auf Nextcloud ermöglichen,
Wenn wir möchten, dass Benutzer sicher auf Nextcloud zugreifen können, Wir müssen ein Zertifikat auf dem Apache-Server unserer Nextcloud installieren. Ich nehme an, dass wir bereits einen FQDN für diesen Dienst im Kopf haben werden, Das Zertifikat muss also für diesen Domainnamen gültig sein, oder verwenden Sie ein Wildcard-Zertifikat und das war's! In meinem Szenario werde ich den Namen data.openservices.eus verwenden, um auf den Nextcloud-Server zu verweisen, und natürlich werde ich den entsprechenden DNS-Eintrag in der öffentlichen und privaten Zone erstellen.
Bevor Sie beginnen, Was brauchen wir? Die Zertifikate! Wir müssen sie im richtigen Format präsentieren, Wir müssen das Zertifikat haben, Ihr privater Schlüssel und die Zertifikatskette der Zertifizierungsstelle. Wir machen es Ihnen leicht, Angenommen, ich habe eine PFX-Datei, die ich auf einem anderen Server generiert habe (IIS unter Windows zum Beispiel), wir werden es mit SCP auf den Server kopieren, Und zusätzlich müssen wir eine Datei mit der Zertifikatskette der ausstellenden Stellen suchen oder erstellen, dass unser Zertifikatsanbieter es uns zu diesem Zeitpunkt 😉 in der Regel zugesandt hat
So lösen Sie sich von einer PFX-Datei und erhalten das öffentliche Zertifikat auf der einen Seite und den privaten Schlüssel auf der anderen Seite, Das können wir mit diesem Beispiel tun:
[Quellcode]openSSL PKCS12 -in Wildcard_Open_Services.pfx -clcerts -nokeys -out wildcard_open_services.cer
openSSL PKCS12 -in Wildcard_Open_Services.pfx -nocerts -nodes -out wildcard_open_services.key[/Quellcode]
Wir beginnen mit der Aktivierung des SSL-Moduls und bearbeiten die Konfigurationsdatei der Nextcloud-Site.
[Quellcode]sudo a2enmod ssl[/Quellcode]
Wir kopieren die Zertifikate, die wir gerade generiert haben, in das Apache-Zertifikatsverzeichnis sowie die Datei mit der gesamten Kette der Zwischen-CAs:
[Quellcode]sudo cp wildcard_open_services.* /etc/apache2/ssl
sudo mv openservices_eus.ca-bundle /etc/apache2/ssl/cadena.crt[/Quellcode]
Wir bearbeiten die Datei /etc/apache2/sites-enabled/default-ssl.conf für die Konfiguration der Apache Secure Site und ändern die Einträge, die auf das Zertifikat verweisen, zur privaten Schlüssel- und Zertifikatskette:
[Quellcode]SSLCertificateFile /etc/apache2/ssl/wildcard_open_services.cer
SSLCertificateKeyFile /etc/apache2/ssl/wildcard_open_services.key
SSLCertificateChainFile /etc/apache2/ssl/cadena.crt[/Quellcode]
Aufzeichnen und Neustarten von Apache & Wir bestätigen, dass wir jetzt in der Lage sein werden, über sicheres HTTPS auf die Nextcloud-Site zuzugreifen:
[Quellcode]Sudo Service Apache2 Neustart[/Quellcode]
Die Standardseite von Nextcloud in Apache einfügen,
Übrigens, wenn Sie vermeiden möchten, dass Ihre Benutzer /nextcloud eingeben müssen, und diese Site daher als Standardseite in Apache festlegen möchten, Wir werden die Konfigurationsdateien /etc/apache2/sites-enabled/000-default.conf und /etc/apache2/sites-enabled/default-ssl.conf der Sites bearbeiten, Ändern der Route:
[Quellcode]DocumentRoot /var/www/nextcloud[/Quellcode]
Und wir haben Apache neu gestartet!
[Quellcode]Sudo Service Apache2 Neustart[/Quellcode]
Sicheren Zugriff auf ONLYOFFICE ermöglichen,
Wenn wir den Datenverkehr und den Zugriff auf Document Server sichern möchten, Wir müssen ein SSL-Zertifikat in Nginx installieren, das ist der Webserver, den wir verwenden, und verschlüsseln somit Ihre Verbindungen mit HTTPS, Darüber hinaus werden wir am Ende sehen, wie Sie den Port ändern können, falls wir daran interessiert sind, dieses Szenario später für das Internet zu öffnen.
Wie zuvor, ONLYOFFICE muss auch über die Zertifikate im Nginx-spezifischen Format verfügen, Wir müssen das öffentliche Zertifikat im Zertifikatsordner belassen, den privaten Schlüssel und ein Zertifikat mit der Kette aller Zwischen- oder Root-CAs.
Wir erinnern uns an die Schritte, die befolgt wurden, um sich von einer PFX-Datei zu trennen und einerseits das öffentliche Zertifikat und andererseits den privaten Schlüssel zu erhalten:
[Quellcode]openSSL PKCS12 -in Wildcard_Open_Services.pfx -clcerts -nokeys -out wildcard_open_services.cer
openSSL PKCS12 -in Wildcard_Open_Services.pfx -nocerts -nodes -out wildcard_open_services.key[/Quellcode]
Außerdem, wenn wir keine Probleme mit der Vertrauenswürdigkeit des Zertifikats haben wollen, Es wird empfohlen, die Zertifikatsdatei mit der Kette aller CAs zu generieren, So etwas kann uns helfen, den folgenden Befehl zu erhalten, die 1 Datei mit allen Zertifikaten:
[Quellcode]cat /etc/ssl/certs/wildcard_open_services.cer openservices_eus.ca-bundle > wildcard_open_services_y_cadena.cer[/Quellcode]
Wir kopieren die generierten Dateien in das Zertifikatsverzeichnis, Wir stoppen Nginx, und erstellen Sie eine Konfigurationsdatei für den sicheren ONLYOFFICE-Zugriff:
[Quellcode]sudo cp wildcard_open_services.* /etc/ssl/certs/
sudo service nginx stop
sudo cp -f /etc/onlyoffice/documentserver/nginx/onlyoffice-documentserver-ssl.conf.template /etc/nginx/conf.d/onlyoffice-documentserver.conf[/Quellcode]
Wir bearbeiten die Konfigurationsdatei und fügen den Pfad zum Zertifikat und seinen privaten Schlüssel hinzu:
[Quellcode]sudo vim /etc/nginx/conf.d/onlyoffice-documentserver.conf
ssl_certificate /etc/ssl/certs/wildcard_open_services_y_cadena.cer;
ssl_certificate_key /etc/ssl/certs/wildcard_open_services.key;[/Quellcode]
Übrigens, Es ist an der Zeit, wenn wir den Port ändern wollen, Die Konfigurationsdatei, Wir werden den Abschnitt, in dem Sie zuhören, ändern und den Port auswählen, der Sie interessiert:
[Quellcode]Zuhören 0.0.0.0:4443 SSL-Verbindung;
Zuhören [::]:4443 SSL-default_server;[/Quellcode]
Es reicht aus, Nginx erneut zu starten und zu überprüfen, ob wir über die neue URL darauf zugreifen können, mit HTTPS:// und zu dem von uns angegebenen Port:
[Quellcode]Sudo-Dienst nginx start[/Quellcode]