GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Generieren Sie SSL-Zertifikate mit LetsEncrypt unter Debian Linux

Einführung

Falls Sie es noch nicht bemerkt haben, ist Verschlüsselung wichtig. Für das Web bedeutet dies die Verwendung von SSL-Zertifikaten zur Sicherung des Webdatenverkehrs. Vor kurzem sind Mozilla und Google so weit gegangen, Websites ohne SSL-Zertifikate in Firefox und Chrome als unsicher zu markieren.

Um das Web mit Verschlüsselung auf den neuesten Stand zu bringen, hat die Linux Foundation zusammen mit der Electronic Frontier Foundation und vielen anderen LetsEncrypt entwickelt. LetsEncrypt ist ein Projekt, das entwickelt wurde, um Benutzern den Zugriff auf kostenlose SSL-Zertifikate für ihre Websites zu ermöglichen. Bis heute hat LetsEncrypt Millionen von Zertifikaten ausgestellt und ist ein durchschlagender Erfolg.

Die Verwendung von LetsEncrypt ist für Debian einfach, insbesondere wenn das Certbot-Dienstprogramm von EFF verwendet wird.

Betriebssystem

  • Betriebssystem :Debian-Linux
  • Version :9 (Dehnung)

Installation für Apache

Certbot hat ein spezielles Installationsprogramm für den Apache-Server. Debian hat diesen Installer in seinen Repositories verfügbar.

# apt install python-certbot-apache

Das Paket stellt den certbot bereit Befehl. Das Apache-Plug-in stellt eine Schnittstelle mit dem Apache-Server her, um Informationen über Ihre Konfigurationen und die Domänen zu ermitteln, für die es Zertifikate generiert. Daher erfordert das Generieren Ihrer Zertifikate nur einen kurzen Befehl.

# certbot --apache

Certbot generiert Ihre Zertifikate und konfiguriert Apache für deren Verwendung.

Installation für Nginx

Nginx erfordert etwas mehr manuelle Konfiguration. Andererseits, wenn Sie Nginx verwenden, sind Sie wahrscheinlich an manuelle Konfigurationen gewöhnt. In jedem Fall ist Certbot weiterhin über die Debian-Repositories zum Download verfügbar.

# apt install certbot

Das Certbot-Plugin befindet sich noch in der Alpha-Phase, daher wird die Verwendung nicht wirklich empfohlen. Certbot hat ein weiteres Dienstprogramm namens „Webroot“, das die Installation und Wartung von Zertifikaten vereinfacht. Um ein Zertifikat zu erhalten, führen Sie den folgenden Befehl aus und geben Sie Ihren Web-Root-Director und alle Domänen an, die von dem Zertifikat abgedeckt werden sollen.

# certbot certonly --webroot -w /var/www/site1 -d site1.com -d www.site1.com -w /var/www/site2 -d site2.com -d www.site2.com

Sie können ein Zertifikat für mehrere Domains mit einem Befehl verwenden.

Nginx erkennt die Zertifikate erst, wenn Sie sie zu Ihrer Konfiguration hinzufügen. Alle SSL-Zertifikate müssen innerhalb des server aufgelistet werden Block für ihre jeweilige Website. Sie müssen in diesem Block auch angeben, dass der Server auf Port 443 lauschen muss und verwenden Sie SSL.

server {
	listen 443 default ssl;
	# Your
	# Other

	ssl_certificate /path/to/cert/fullchain.pem
	ssl_certificate_key /path/to/cert/privkey.pem

	# Config
	# Lines
}

Speichern Sie Ihre Konfiguration und starten Sie Nginx neu, damit die Änderungen wirksam werden.

# systemctl restart nginx

Automatische Verlängerung mit Cron

Unabhängig davon, ob Sie Apache oder Nginx verwenden, müssen Sie Ihre Zertifikate erneuern. Sich daran zu erinnern, kann ein Schmerz sein, und Sie möchten definitiv nicht, dass sie verfallen. Die beste Möglichkeit, Ihre Zertifikate zu erneuern, besteht darin, einen Cron-Job zu erstellen, der zweimal täglich ausgeführt wird. Zweimal tägliche Verlängerungen werden empfohlen, da sie verhindern, dass Zertifikate aufgrund einer Sperrung verfallen, was von Zeit zu Zeit passieren kann. Um es klar zu sagen, erneuern sie sich nicht jedes Mal. Das Dienstprogramm prüft, ob die Zertifikate veraltet sind oder innerhalb von dreißig Tagen vorliegen werden. Sie werden nur verlängert, wenn sie die Kriterien erfüllen.

Erstellen Sie zunächst ein einfaches Skript, das das Verlängerungsdienstprogramm von Certbot ausführt. Es ist wahrscheinlich eine gute Idee, es in das Home-Verzeichnis Ihres Benutzers oder in ein Skriptverzeichnis zu legen, damit es nicht bereitgestellt wird.

#! /bin/bash

certbot renew -q

Vergessen Sie nicht, das Skript auch ausführbar zu machen.

$ chmod +x renew-certs.sh

Jetzt können Sie das Skript als Cron-Job hinzufügen. Öffnen Sie Ihre Crontab und fügen Sie das Skript hinzu.

# crontab -e
* 3,15 * * * /home/user/renew-certs.sh

Nach dem Beenden sollte das Skript jeden Tag um 3:00 Uhr und 15:00 Uhr ausgeführt werden. nach der Uhr des Servers.

Abschlussgedanken

Die Verschlüsselung Ihres Webservers schützt sowohl Ihre Gäste als auch Sie selbst. Auch bei der Darstellung von Seiten in Browsern wird die Verschlüsselung weiterhin eine Rolle spielen, und es ist nicht allzu weit hergeholt anzunehmen, dass sie auch bei SEO eine Rolle spielen wird. Wie auch immer Sie es betrachten, die Verschlüsselung Ihres Webservers ist eine gute Idee, und LetsEncrypt ist der einfachste Weg, dies zu tun.


Debian
  1. So ersetzen Sie Systemd durch SysV Init unter Debian Linux

  2. Erste Schritte mit Jekyll unter Debian 9 Stretch Linux

  3. So verschlüsseln Sie das Verzeichnis mit EncFS unter Debian 9 Stretch Linux

  4. Sichern Sie Apache2 mit Let’s Encrypt SSL auf Debian 10/11

  5. Speicherort des SSL-Zertifikats unter UNIX/Linux

So installieren Sie Etherpad mit Nginx und SSL unter Debian 11

MX Linux 19 veröffentlicht mit Debian 10.1 „Buster“ und anderen Verbesserungen

So generieren Sie eine SSL/TLS-Zertifikatsignierungsanforderung (CSR) unter Debian 10

So verschlüsseln Sie Linux-Partitionen mit VeraCrypt unter Debian 10

So erneuern Sie SSL-Zertifikate von Let’s Encrypt automatisch

Meistern Sie selbstsignierte Zertifikate unter Windows und Linux