Wie man

Sichere Taiga-Projektmanagementplattform mit Let's Encrypt SSL

Sichere Taiga-Projektmanagementplattform mit Let's Encrypt SSL

In unseren vorherigen Artikeln haben wir die Installation des Taiga Project Management Tools auf CentOS 8 und Ubuntu 20tu behandelt.04 Linux-Server. In diesem Blogbeitrag zeigen wir Ihnen, wie Sie Ihre Taiga-Projektmanagement-Plattform mit Let's Encrypt HTTPS-Zertifikaten härten. Let's Encrypt ist eine kostenlose, automatisierte und offene Zertifizierungsstelle der gemeinnützigen Internet Security Research Group (ISRG).

In diesem Handbuch wird davon ausgegangen, dass Sie den Nginx-Webserver verwenden, um Taiga über einen Domänennamen bereitzustellen. NGINX wird als statischer Datei-Webserver verwendet, um taiga-front-dist zu bedienen und Proxy-Anfragen an taiga-back zu senden. Sie müssen den nginx-Dienst stoppen, bevor Sie mit dieser Anleitung fortfahren.

Stoppen Sie den nginx-Dienst

Überprüfen Sie den nginx-Dienst, wenn Laufen:

$ systemctl status nginx ● nginx.service - Der nginx HTTP- und Reverse-Proxy-Server Geladen: geladen (/usr/lib/systemd/system/nginx.Bedienung; aktiviert; Herstellervoreinstellung: deaktiviert) Aktiv: aktiv (läuft) seit Sa. 03.10.2020 00:03:47 MESZ; 1 Tag 1h vor Main PID: 11870 (nginx) Aufgaben: 3 (Limit: 24392) Speicher: 5.8M CGroup: /system.Scheibe/nginx.service ├─11870 nginx: Master-Prozess /usr/sbin/nginx ├─11871 nginx: Worker-Prozess └─11872 nginx: Worker-Prozess Okt 03 00:03:47 Projekte.mietenbestengineers.com systemd[1]: Starten des nginx HTTP- und Reverse-Proxy-Servers… Okt 03 00:03:47 Projekte.mietenbestengineers.com nginx[11866]: nginx: die Konfigurationsdatei /etc/nginx/nginx.conf-Syntax ist in Ordnung 03. Okt. 00:03:47 Projekte.mietenbestengineers.com nginx[11866]: nginx: Konfigurationsdatei /etc/nginx/nginx.conf-Test ist erfolgreich 03. Okt 00:03:47 Projekte.mietenbestengineers.com systemd[1]: nginx.service: Fehler beim Parsen der PID aus der Datei /run/nginx.pid: Ungültiges Argument 03. Okt 00:03:47 Projekte.mietenbestengineers.com systemd[1]: Der nginx HTTP- und Reverse-Proxy-Server gestartet.

Wenn es sich im laufenden Zustand befindet, stoppen Sie es.

sudo systemctl stop nginx

certbot-Tool installieren

Installieren Sie dann das certbot-Tool, mit dem wir Let's Encrypt-Zertifikate automatisch bereitstellen können.

wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto sudo mv certbot-auto /usr/local/bin sudo chmod 0755 /usr/local/bin/certbot-auto

Führen Sie das certbot-auto-Tool aus, um Betriebssystemabhängigkeiten zu installieren.

certbot-auto --os-packages-only

Stimmen Sie der Paketinstallation zu:

Transaktionszusammenfassung =============================================== ================================================ ================================================ ============== 36 Pakete installieren Upgrade 1 Paket Download-Gesamtgröße: 52 M Ist das in Ordnung [J/N]: J

Erhalten Sie Let's Encrypt SSL-Zertifikate

Domainnamen für Ihre Taiga-Plattform speichern.

DOMAIN='Projekte.mietenbestengineers.com'

Machen Sie dasselbe für E-Mails, um Benachrichtigungen über den Ablauf des Zertifikats zu erhalten.

EMAIL="[email protected]"

Wenn http- und https-Ports in der Firewall nicht zulässig sind, fügen Sie sie für CentOS-Server hinzu.

sudo Firewall-cmd --add-service=http,https --permanent sudo Firewall-cmd --reload

Anforderung von Zertifikaten mit certbot-auto Kommandozeilen-Tool.

certbot-auto certonly --standalone -d $DOMAIN --preferred-challenges http --agree-tos -n -m $EMAIL --keep-until-expiring

Erwarten Sie eine Erfolgsmeldung nach vollständiger Ausführung.

WICHTIGE HINWEISE: - Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter: /etc/letsencrypt/live/projects.mietenbestengineers.com/fullchain.pem Ihre Schlüsseldatei wurde gespeichert unter: /etc/letsencrypt/live/projects.mietenbestengineers.com/privkey.pem Ihr Zertifikat läuft am 01.01.2021 ab. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie einfach certbot-auto erneut aus. Um *alle* Ihrer Zertifikate nicht interaktiv zu erneuern, führen Sie "certbot-auto renew" aus - Ihre Zugangsdaten wurden in Ihrem Certbot-Konfigurationsverzeichnis unter /etc/letsencrypt . gespeichert. Sie sollten jetzt ein sicheres Backup dieses Ordners erstellen. Dieses Konfigurationsverzeichnis enthält auch Zertifikate und private Schlüssel, die von Certbot erhalten wurden, daher ist es ideal, regelmäßige Backups dieses Ordners zu erstellen. - Wenn Ihnen Certbot gefällt, denken Sie bitte daran, unsere Arbeit zu unterstützen, indem Sie an ISRG / Let's Encrypt spenden: https://letsencrypt.org/spenden Spenden an EFF: https://eff.org/donate-le

Als nächstes generieren Sie einen starken DH-Parameter:

sudo openssl dhparam -out /etc/ssl/dhparam.pem 2048

Bestätigung.

$ll /etc/ssl/dhparam.pem -rw-r--r--. 1 Wurzel Wurzel 424 4. Okt 02:14 /etc/ssl/dhparam.pem

Aktualisieren Sie die Nginx-Konfigurationsdatei

Ich werde jetzt die Nginx-Konfigurationsdatei aktualisieren, um SSL-Optionen festzulegen.

Aber zuerst sichern wir die aktuelle Konfiguration.

$ sudo cp /etc/nginx/conf.d/taiga.conf,.bak-$(Datum +%F:%T) $ $ ls /etc/nginx/conf.d/ taiga.conf taiga.conf.bak-2020-10-04:02:01:47

Bearbeiten Sie die Taiga.conf Datei mit Ihrem bevorzugten Dateieditor - ersetzen Domain Namen und SSL-Pfade mit deinen Werten.

sudo vim /etc/nginx/conf.d/taiga.conf

Aktualisieren Sie den Konfigurationsinhalt wie folgt.

# http auf https-Server umleiten  listen 80; server_name-Projekte.mietenbestengineers.com www.Projekte.mietenbestengineers.com; # Korrekte Werte setzen return 301 https://$server_name$request_uri;  Server  hören 443 ssl; server_name-Projekte.mietenbestengineers.com www.Projekte.mietenbestengineers.com; # Korrekte Werte setzen large_client_header_buffers 4 32k; client_max_body_size 50M; Zeichensatz utf-8; Indexindex.html; # Frontend-Speicherort /  root /home/taiga/taiga-front-dist/dist/; try_files $uri $uri/ /index.html;  # Backend-Speicherort /api  proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Schema $schema; proxy_set_header X-Forwarded-Proto $schema; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8001/API; proxy_redirect aus;  # Admin-Zugriff (/admin/) Standort /admin  proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Schema $schema; proxy_set_header X-Forwarded-Proto $schema; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8001$request_uri; proxy_redirect aus;  # Speicherort der statischen Dateien /static  Alias ​​/home/taiga/taiga-back/static;  # Speicherort der Mediendateien /media  Alias ​​/home/taiga/taiga-back/media;  # Veranstaltungsort /events  proxy_pass http://127.0.0.1:8888/Ereignisse; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Verbindung "upgrade"; proxy_connect_timeout 7d; proxy_send_timeout 7d; proxy_read_timeout 7d;  # SSL add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; add_header Public-Key-Pins 'pin-sha256="klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY="; pin-sha256="633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q="; maximales Alter=2592000; includeSubDomains'; ssl an; ssl_certificate /etc/letsencrypt/live/projects.mietenbestengineers.com/fullchain.pem; # SSL-Zertifikatspfad festlegen ssl_certificate_key /etc/letsencrypt/live/projects.mietenbestengineers.com/privkey.pem; # SSL-Schlüsselpfad festlegen ssl_session_timeout 5m; SSL-Protokolle TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_chiffren an; ssl_chiffren 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-G SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE- RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS- AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK'; ssl_session_cache freigegeben:SSL:10m; ssl_dhparam /etc/ssl/dhparam.pem; ssl_heftung an; ssl_stapling_verify an; 

nginx-Konfiguration validieren.

$ sudo nginx -t nginx: die Konfigurationsdatei /etc/nginx/nginx.conf-Syntax ist in Ordnung nginx: Konfigurationsdatei /etc/nginx/nginx.conf-Test ist erfolgreich

Aktualisieren Sie die Taiga Frontend- und Backend-Konfigurationen

Vor der Aktivierung der HTTPS-Site muss die Konfiguration für das Frontend und das Backend aktualisiert werden. Ändern Sie das Schema von http zu https in allen Konfigurationen.

$ sudo su - taiga

Back-End-Konfiguration aktualisieren:

$ vim ~/taiga-back/settings/local.py

Dies ist meine aktualisierte Konfiguration.

von .gemeinsamer Import * MEDIA_URL = "https://projects.mietenbestengineers.com/media/" STATIC_URL = "https://Projekte.mietenbestengineers.com/static/" SITES["front"]["scheme"] = "https" SITES["front"]["domain"] = "projects.mietenbestengineers.com" SECRET_KEY = "OQOEJNSJIQHDBQNSUQEJSNNANsqQPAASQLSMSOQND" DEBUG = Falsch PUBLIC_REGISTER_ENABLED = Wahr DEFAULT_FROM_EMAIL = "[email protected]" SERVER_EMAIL = DEFAULT_FROM_EMAIL_PUCELERY.Veranstaltungen.Back-Ends.Kaninchenmq.EventsPushBackend" EVENTS_PUSH_BACKEND_OPTIONS = "url": "amqp://taiga:[email protected]:5672/taiga" # Entkommentieren und mit den richtigen Verbindungsparametern füllen # um den E-Mail-Versand zu aktivieren. EMAIL_HOST_USER sollte mit @domain enden.tld #EMAIL_BACKEND = "django.Ader.mail.Back-Ends.smtp.EmailBackend" #EMAIL_USE_TLS = False #EMAIL_HOST = "localhost" #EMAIL_HOST_USER = "" #EMAIL_HOST_PASSWORD = "" #EMAIL_PORT = 25 # Entkommentieren und mit den richtigen Verbindungsparametern füllen # zum Aktivieren von github Login/Singin. #GITHUB_API_CLIENT_ID = "yourgithubclientid" #GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"

Machen Sie dasselbe für die Frontend-Konfigurationsdatei.

$ vim ~/taiga-front-dist/dist/conf.json

Siehe unten.

 "api": "https://Projekte.mietenbestengineers.com/api/v1/", "eventsUrl": "ws://projects.mietenbestengineers.com/events", "eventsMaxMissedHeartbeats": 5, "eventsHeartbeatIntervalTime": 60000, "eventsReconnectTryInterval": 10000, "debug": true, "debugInfo": false, "defaultLanguage": "en", "themes": ["taiga ." "], "defaultTheme": "taiga", "publicRegisterEnabled": true, "feedbackEnabled": true, "supportUrl": "https://tree.Taiga.io/support", "privacyPolicyUrl": null, "termsOfServiceUrl": null, "GDPRUrl": null, "maxUploadFileSize": null, "contribPlugins": [], "tribeHost": null, "importers": [], " gravatar": true, "rtlLanguages": ["fa"] 

Starten Sie alle Taiga-Dienste nach Konfigurationsaktualisierungen neu.

sudo systemctl Neustart 'taiga*'

nginx-Dienst neu starten.

sudo systemctl Neustart nginx

Laden Sie die Taiga-Webkonsole und bestätigen Sie, ob Sie von http zu https umgeleitet werden.

Zertifikatsdetails prüfen.

Cronjob zur automatischen Zertifikatserneuerung hinzufügen.

# crontab -e 0 0,12 * * * root /usr/local/bin/certbot-auto renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"

Ähnliche Anleitungen:

Docker Container Registry mit Podman einrichten und SSL verschlüsseln

Sichern Sie den iRedMail-Server mit dem SSL-Zertifikat von Let's Encrypt

Verwenden von Let's Encrypt Wildcard SSL-Zertifikat mit Nginx und Apache

So installieren Sie PostgreSQL 12 auf Ubuntu 20.18.04.04/16.04
Diese Anleitung führt Sie durch die Schritte zur Installation von PostgreSQL 12 auf Ubuntu 20.18.04.04/16.04 Linux-System. PostgreSQL ist eines der am...
Installieren Sie Microsoft SQL Server 2019 auf Ubuntu 20.18.04.04/16.04 LTS
MS SQL ist ein relationales Datenbanksystem von Microsoft, das 2016 als Open Source veröffentlicht wurde. In dieser Anleitung führe ich Sie durch die ...
Installieren Sie Microsoft SQL Server 2019 auf CentOS 7 / Fedora
SQL Server läuft unter Linux ab SQL Server 2017. Dieser SQL Server ist dieselbe SQL Server-Datenbank-Engine, die auf Microsoft-Betriebssystemen ausgef...