Verwendung von HTTPS auf Arch Linux Webserver

Voraussetzungen

  • Ein Vultr-Server, auf dem Arch Linux auf dem neuesten Stand ist (siehe diesen Artikel ).
  • Ein laufender Webserver, entweder Apache oder Nginx
  • Sudo Zugang
    • Befehlen, die als root ausgeführt werden müssen, wird ein Präfix vorangestellt #, und Befehle , die als normaler Benutzer ausgeführt werden können $. Die empfohlene Methode zum Ausführen von Befehlen als Root besteht darin, jedem von ihnen als regulärer Benutzer ein Präfix voranzustellen sudo.
  • Lassen Sie einen Texteditor installieren und machen Sie sich mit ihm vertraut, z. B. vi, vim, nano, emacs oder einem anderen ähnlichen Editor.

Sicheres Servieren über HTTPS

Das Bereitstellen von Inhalten über HTTPS kann eine extrem starke Verschlüsselung verwenden, sodass niemand, der den Datenverkehr zwischen dem Benutzer und dem Webserver abfängt, ihn lesen kann. Es verschlüsselt nicht nur den Datenverkehr selbst, sondern auch die URL, auf die zugegriffen wird, wodurch ansonsten Informationen verfügbar gemacht werden können. Seit einiger Zeit ermittelt Google im Rahmen der HTTPS Everywhere-Initiative teilweise Suchrankings basierend darauf, ob eine Seite HTTPS verwendet.

Hinweis : Bei einer DNS-Suche wird zwar der Domänenname angezeigt, mit dem eine Verbindung hergestellt wird, während dieses Vorgangs wird jedoch nicht die gesamte URL angezeigt.

Besorgen Sie sich ein SSL / TLS-Zertifikat

Technisch gesehen ersetzte TLS SSL für HTTPS-Zertifikate, aber die meisten Orte nannten TLS-Zertifikate einfach weiter mit dem populäreren Begriff SSL-Zertifikate. Nach der allgemeinen Verwendung wird in diesem Handbuch dasselbe getan.

Um HTTPS verwenden zu können, benötigt Ihr Webserver einen privaten Schlüssel ( .key) für die private Verwendung und ein Zertifikat ( .crt) für die öffentliche Freigabe, das einen öffentlichen Schlüssel enthält. Ein Zertifikat muss unterschrieben sein. Sie können es selbst signieren, aber moderne Browser werden sich beschweren, dass sie den Unterzeichner nicht erkennen. In Chrome wird beispielsweise Folgendes angezeigt : Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Wenn nur eine private Gruppe von Personen die Website nutzt, kann dies akzeptabel sein, da Browser eine Möglichkeit zum Fortfahren bieten. Klicken Sie in Chrome beispielsweise auf "Erweitert" und dann auf "Weiter zu ... (unsicher)". Es wird weiterhin "Nicht sicher" angezeigt und das "https" durchgestrichen.

Beachten Sie, dass Sie bei diesem Vorgang nach Ihrem Land, Ihrem Bundesland / Ihrer Vorsehung, Ihrem Ort, Ihrer Organisation, Ihrer Organisationseinheit und Ihren allgemeinen Namen sowie Ihrer E-Mail-Adresse gefragt werden. All dies ist in jedem Browser verfügbar, der über HTTPS eine Verbindung zu Ihrer Website herstellt.

Beachten Sie außerdem, dass Sie, wenn Sie Zertifikate für virtuelle Hosts vergeben, unten unterschiedliche Dateinamen angeben und in Ihren Konfigurationen für virtuelle Hosts darauf verweisen müssen.

Wechseln Sie in das richtige Verzeichnis für Ihren Webserver.

Wenn Sie Apache installiert haben:

$ cd /etc/httpd/conf

Wenn Sie Nginx installiert haben:

$ cd /etc/nginx

Generieren Sie im richtigen Verzeichnis einen privaten Schlüssel ( server.key) und ein selbstsigniertes Zertifikat ( server.crt):

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

Legen Sie schreibgeschützte Berechtigungen fest und lassen Sie nur zu, dass der private Schlüssel von root gelesen wird:

# chmod 400 server.key
# chmod 444 server.crt

Alternativ können Sie ein von einer vertrauenswürdigen Zertifizierungsstelle signiertes Zertifikat erhalten. Sie können verschiedene Unternehmen (Zertifizierungsstellen) bezahlen, um Ihr Zertifikat für Sie zu unterschreiben. Bei der Prüfung von Zertifizierungsstellen kann es wichtig sein, zu prüfen, welche Browser und welche Versionen sie erkennen. Einige neuere Zertifizierungsstellen werden möglicherweise nicht als offizieller anerkannt als ein selbstsigniertes Zertifikat in alten Browserversionen.

In der Regel benötigen Sie nicht nur eine öffentliche IP-Adresse, sondern auch einen Domainnamen. Einige Zertifizierungsstellen können ein Zertifikat an eine öffentliche IP-Adresse ausstellen, dies wird jedoch selten durchgeführt.

Viele Anbieter bieten eine kostenlose 30-Tage-Testversion an, die zunächst empfohlen wird, damit Sie sicherstellen können, dass der Prozess für Sie funktioniert, bevor Sie dafür bezahlen. Die Preise können von einigen Dollar pro Jahr bis zu Hunderten variieren, je nachdem, um welchen Typ es sich handelt und um Optionen wie mehrere Domains oder Subdomains. Ein Standardzertifikat zeigt nur an, dass die Signaturbehörde überprüft hat, ob die Person, die das Zertifikat erhält, Änderungen an der Domäne vornehmen kann. Ein erweitertes Validierungszertifikat zeigt auch an, dass die Signaturbehörde eine Due Diligence-Prüfung des Anforderers durchgeführt hat, und zeigt in modernen Browsern einen grünen Balken in oder in der Nähe der URL an. Wenn Sie überprüfen, ob Sie Änderungen an der Domain vornehmen können, müssen Sie von einigen Signaturbehörden eine E-Mail an eine wichtige Adresse unter dem Domainnamen erhalten, z[email protected]. Viele bieten alternative Überprüfungen an, z. B. das Bereitstellen einer Datei auf Ihrem Server, z. B. das Ablegen der Datei /srv/http/.well-known/pki-validation/für Apache oder /usr/share/nginx/html/.well-known/pki-validation/Nginx für Konfigurationen einzelner Hostverzeichnisse. oder vorübergehend einen CNAME-Eintrag erstellen, den Sie in den DNS-Einträgen Ihrer Domain erhalten.

Die von Ihnen ausgewählte Signaturberechtigung kann leicht unterschiedliche Schritte ausführen, die meisten akzeptieren jedoch das folgende Verfahren:

Generieren Sie im richtigen Verzeichnis einen privaten Schlüssel ( server.key):

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

Setzen Sie den privaten Schlüssel auf schreibgeschützt, nur für root:

# chmod 400 server.key

Generieren Sie eine Zertifikatsignierungsanforderung ( server.csr). Sie müssen Ihren Domain-Namen Common Nameeingeben, wenn Sie danach gefragt werden , und Sie können das Challenge-Passwort leer lassen:

# openssl req -new -sha256 -key server.key -out server.csr

Setzen Sie die Zertifikatsignierungsanforderung auf schreibgeschützt, nur für root:

# chmod 400 server.csr

Zeigen Sie den Inhalt der Zertifikatsignierungsanforderung an. Diese Informationen sind base64-codiert und sehen daher wie zufällige Zeichen aus:

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

Führen Sie den Prozess Ihrer Signaturbehörde durch, und kopieren Sie die gesamte Datei einschließlich der -----Zeilen , wenn Sie aufgefordert werden, sie in Ihre CSR einzufügen . Abhängig von der von Ihnen ausgewählten Signaturberechtigung und der Art des Zertifikats erhalten Sie möglicherweise sofort das signierte Zertifikat, oder es kann einige Tage dauern. Wenn Sie das signierte Zertifikat erhalten haben, kopieren Sie es (einschließlich der -----BEGIN CERTIFICATE-----und -----END CERTIFICATE-----Zeilen) in eine Datei mit dem Namen server.crtim richtigen Verzeichnis, das oben für Ihren Webserver angegeben wurde, und setzen Sie es auf schreibgeschützt:

# chmod 444 server.crt

Konfigurieren Sie Ihren Webserver für die Verwendung des privaten Schlüssels und des Zertifikats

Wenn Sie eine Firewall verwenden, müssen Sie den eingehenden TCP-Verkehr für den Port aktivieren 443.

Für Apache

Bearbeiten /etc/httpd/conf/httpd.confund kommentieren Sie diese Zeilen:

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

Beachten Sie, dass bei Verwendung der virtuellen Hosts bei der obigen Änderung /etc/httpd/conf/httpd.confauf allen Hosts dasselbe Zertifikat verwendet wird. Um jedem Host ein eigenes Zertifikat zu geben, damit Browser sich nicht darüber beschweren, dass das Zertifikat nicht mit dem Domänennamen übereinstimmt, müssen Sie jede ihrer Konfigurationsdateien so bearbeiten, dass sie /etc/httpd/conf/vhosts/auf ihr eigenes Zertifikat und ihren eigenen privaten Schlüssel verweisen:

  • Wechseln Sie <VirtualHost *:80>zu <VirtualHost *:80 *:443>.
  • Fügen Sie innerhalb des VirtualHostAbschnitts Folgendes hinzu:

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

Starten Sie Apache neu:

# systemctl restart httpd

Für Nginx

Bearbeiten /etc/nginx/nginx.confund entfernen Sie den HTTPS serverAbschnitt in der Nähe des unteren Bereichs und ändern Sie die Zeilen wie folgt:

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

Hinweis: Wenn Sie virtuelle Hosts verwenden, werden durch Ausführen der obigen Änderung an /etc/nginx/nginx.confalle Hosts an diesen Speicherort gesendet. Um jedem Host ein eigenes Zertifikat zu geben, müssen Sie jede seiner Konfigurationsdateien bearbeiten /etc/nginx/sites-enabled/, um einen zusätzlichen Serverblock zu haben, der auf sein eigenes Zertifikat und seinen eigenen privaten Schlüssel verweist:

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

Starten Sie Nginx neu:

# systemctl restart nginx


Leave a Comment

Richten Sie einen Team Fortress 2-Server unter Arch Linux ein

Richten Sie einen Team Fortress 2-Server unter Arch Linux ein

In diesem Tutorial wird erläutert, wie Sie einen Team Fortress 2-Server unter Arch Linux einrichten. Ich gehe davon aus, dass Sie mit einem Nicht-Root-Benutzerkonto angemeldet sind, das über Sudo-Zugriff verfügt

So installieren Sie Python 3.7 auf einem Arch Linux Webserver

So installieren Sie Python 3.7 auf einem Arch Linux Webserver

Voraussetzungen Ein Vultr-Server, auf dem Arch Linux auf dem neuesten Stand ist (siehe diesen Artikel). Ein laufender Webserver, entweder Apache- oder Nginx Sudo-Zugriff: Befehle erforderlich

Richten Sie Mumble Server unter Arch Linux ein

Richten Sie Mumble Server unter Arch Linux ein

In diesem Tutorial wird erklärt, wie Sie einen Mumble-Server (Murmur) unter Arch Linux einrichten. Alles, was in diesem Tutorial gemacht wird, wird als Root-Benutzer gemacht. Installation an

Installation von 2019 Arch Linux auf einem Vultr-Server

Installation von 2019 Arch Linux auf einem Vultr-Server

Einführung Arch Linux hat eine kleinere, aber immer noch starke Anhängerschaft als populärere Distributionen. Ihre Philosophie ist ganz anders, mit Vorteilen

So installieren Sie Apache 2.4 unter Arch Linux

So installieren Sie Apache 2.4 unter Arch Linux

Voraussetzungen Ein Vultr-Server, auf dem Arch Linux auf dem neuesten Stand ist. Weitere Informationen finden Sie in diesem Handbuch. Sudo Zugang. Befehle, die als root ar ausgeführt werden müssen

Verwenden von Devtools unter Arch Linux

Verwenden von Devtools unter Arch Linux

Das Paket Devtools wurde ursprünglich für vertrauenswürdige Benutzer erstellt, um Pakete für die offiziellen Repositorys ordnungsgemäß zu erstellen. Es kann jedoch von gewöhnlichen Benutzern verwendet werden

So installieren Sie PHP 7.3 auf einem Arch Linux Webserver

So installieren Sie PHP 7.3 auf einem Arch Linux Webserver

Voraussetzungen Ein Vultr-Server, auf dem Arch Linux auf dem neuesten Stand ist (siehe diesen Artikel). Ein laufender Webserver, entweder Apache- oder Nginx Sudo-Zugriff. Befehle erfordern

So installieren Sie PostgreSQL 11.1 unter Arch Linux

So installieren Sie PostgreSQL 11.1 unter Arch Linux

Voraussetzungen Ein Vultr-Server, auf dem Arch Linux auf dem neuesten Stand ist (siehe diesen Artikel). Sudo-Zugriff. Befehle, die als root ausgeführt werden müssen, werden mit dem Präfix # und eins versehen

Installieren Sie Arch Linux mit Btrfs Snapshotting

Installieren Sie Arch Linux mit Btrfs Snapshotting

Vorwort Arch Linux ist eine Allzweckdistribution, die für ihre Spitzentechnologie und flexible Konfiguration bekannt ist. Mit Btrfs-Schnappschüssen können wir machen

Erstellen von Paketen unter Arch Linux (einschließlich AUR)

Erstellen von Paketen unter Arch Linux (einschließlich AUR)

Unter Arch Linux sind die offiziellen Repositorys: Core, Extra und Community. Diese Pakete sind bereits kompiliert und werden über pacman installiert. Für th

So installieren Sie Perl 5.28 auf einem Arch Linux Webserver

So installieren Sie Perl 5.28 auf einem Arch Linux Webserver

Voraussetzungen Ein Vultr-Server, auf dem Arch Linux auf dem neuesten Stand ist (siehe diesen Artikel). Ein laufender Webserver, entweder Apache- oder Nginx Sudo-Zugriff: Befehle erforderlich

Verwenden von Makepkg unter Arch Linux

Verwenden von Makepkg unter Arch Linux

Wenn Sie makepkg direkt verwenden, verschmutzt es Ihr System etwas. Die Basisentwicklungspaketgruppe muss installiert sein. Auf diese Weise werden standardmäßig nur Abhängigkeiten benötigt

So installieren Sie Nginx 1.14 unter Arch Linux

So installieren Sie Nginx 1.14 unter Arch Linux

Voraussetzungen Ein Vultr-Server, auf dem Arch Linux auf dem neuesten Stand ist (siehe diesen Artikel). Sudo-Zugriff. Befehlen, die als root ausgeführt werden müssen, wird # vorangestellt. Th

Richten Sie den Spigot Server unter Arch Linux ein

Richten Sie den Spigot Server unter Arch Linux ein

In diesem Tutorial wird erklärt, wie Sie einen Minecraft-Server mit Spigot unter Arch Linux einrichten. In diesem Tutorial wird davon ausgegangen, dass Sie ein normaler Benutzer (nicht root) sind und hav

So installieren Sie MariaDB 10.3 oder MySQL 8.0 unter Arch Linux

So installieren Sie MariaDB 10.3 oder MySQL 8.0 unter Arch Linux

Voraussetzungen Ein Vultr-Server, auf dem Arch Linux auf dem neuesten Stand ist (siehe diesen Artikel). Sudo-Zugriff: Befehle, die als Root ausgeführt werden müssen, werden mit dem Präfix # und eins versehen

Richten Sie einen CSGO-Server (Counter-Strike: Global Offensive) unter Arch Linux ein

Richten Sie einen CSGO-Server (Counter-Strike: Global Offensive) unter Arch Linux ein

In diesem Tutorial wird erläutert, wie Sie einen Counter-Strike: Global Offensive-Server unter Arch Linux einrichten. In diesem Lernprogramm wird davon ausgegangen, dass Sie sich mit einer Standardverwendung angemeldet haben

So installieren Sie MongoDB 4.0 unter Arch Linux

So installieren Sie MongoDB 4.0 unter Arch Linux

Voraussetzungen Ein Vultr-Server, auf dem Arch Linux auf dem neuesten Stand ist (siehe diesen Artikel) Sudo-Zugriff: Befehle, die als Root ausgeführt werden müssen, werden mit dem Präfix # und eins versehen

Installieren von Arch Linux auf einem Vultr-Server

Installieren von Arch Linux auf einem Vultr-Server

Vultr bietet Ihnen die großartige Funktionalität, Ihr eigenes benutzerdefiniertes Bild zusätzlich zu den hervorragenden Vorlagen verwenden zu können, mit denen Sie es ausführen können

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.