Konfigurieren Sie Apache mit einem selbstsignierten TLS / SSL-Zertifikat unter Ubuntu 16.04

SSL und sein Nachfolger TLS (Secure Sockets Layer / Transport Layer Security) fügen eine Verschlüsselungsschicht zwischen dem Client und dem Server hinzu. Ohne diese Technologie werden Daten im Klartext an den Server gesendet, sodass Dritte alle von Ihrem Server gesendeten und empfangenen Informationen lesen können.

In diesem Tutorial erfahren Sie, wie Sie ein SSL / TLS-Zertifikat erstellen und unter Apache 2.4 unter Ubuntu 16.04 aktivieren. Ich gehe davon aus, dass Apache bereits eingerichtet ist und ausgeführt wird. Weitere Informationen zum Installieren eines LAMP-Stacks finden Sie in diesem Vultr-Dokument .

Beachtung

SSL / TLS-Zertifikate werden normalerweise von einer vertrauenswürdigen Zertifizierungsstelle (Zertifizierungsstelle) generiert. Wenn Sie es selbst generieren, sind Sie der Unterzeichner, was bedeutet, dass der Browser nicht überprüfen kann, ob die Identität des Zertifikats vertrauenswürdig ist, und den Benutzer warnt. Obwohl es möglich ist, diese Warnung zu umgehen, sollten öffentlich zugängliche Websites ein von einer vertrauenswürdigen Zertifizierungsstelle signiertes Zertifikat verwenden. Let's encrypt ist eine Zertifizierungsstelle, die kostenlose Zertifikate anbietet. Sie können lernen , wie ihr Zertifikat in Apache und Ubuntu 16.04 installieren hier .

Für interne Anwendungen kann die Verwendung eines selbstsignierten Zertifikats gültig sein, insbesondere wenn Sie keinen Domänennamen haben.


Schritt 1: Generieren des Zertifikats

  1. Erstellen wir zunächst einen Speicherort für die Datei.

    mkdir ~/certificates
    cd ~/certificates
    
  2. Generieren Sie CSR und privaten Schlüssel.

    openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes
    

    Es werden Informationen für die Zertifikatanforderung angefordert. Vervollständigen Sie mit den entsprechenden Informationen.

    Country Name (2 letter code) [AU]: US
    State or Province Name (full name) [Some-State]: FL
    Locality Name (eg, city) []: Miami
    Organization Name (eg, company) [My Company]: My Company
    Organizational Unit Name (eg, section) []:
    

    Der allgemeine Name sollte Ihr Domainname oder die IP-Adresse des Servers sein. Füllen Sie auch Ihre E-Mail aus.

    Common Name (e.g. server FQDN or YOUR name) []: 203.0.113.122
    Email Address []:[email protected]
    
  3. Verschieben Sie nun das Zertifikat in den Apache-Konfigurationsordner.

    mkdir /etc/apache2/ssl
    mv ~/certificates/* /etc/apache2/ssl/.
    
  4. Das Zertifikat ist fertig! Als nächstes bereiten wir Apache auf die Arbeit mit dem Zertifikat vor.

Schritt 2: Firewall-Konfiguration

  1. Wir müssen sicherstellen, dass der TCP-Port 443 geöffnet ist. Dieser Port wird in SSL-Verbindungen anstelle von Port 80 verwendet. In diesem Lernprogramm wird UFW verwendet.

  2. Stellen Sie sicher, dass UFW aktiviert ist.

    sudo ufw enable
    
  3. Erlauben Sie nun die vordefinierten Apache-Einstellungen für die Firewall.

    sudo ufw allow 'Apache Full'
    
  4. Wenn Sie " sudo ufw status" eingeben , wird eine Liste der aktuellen Regeln angezeigt. Ihre Konfiguration sollte folgendermaßen aussehen:

    To                         Action      From
    --                         ------      ----
    Apache Full                ALLOW       Anywhere
    OpenSSH                    ALLOW       Anywhere
    Apache Full (v6)           ALLOW       Anywhere (v6)
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    
  5. Sie sollten OpenSSH hier auch für zukünftige Verbindungen zulassen.

    sudo ufw allow 'OpenSSH'
    

Schritt 3: Konfiguration des virtuellen Apache-Hosts

  1. Navigieren Sie zum Standardkonfigurationsverzeichnis der Apache-Site.

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. Diese Datei teilt dem Server mit, wo nach dem SSL-Zertifikat gesucht werden soll. Wenn die Kommentare entfernt sind, sollte es wie folgt aussehen.

    <IfModule mod_ssl.c>
      <VirtualHost _default_:443>
       ServerAdmin webmaster@localhost
    
       DocumentRoot /var/www/html
    
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
    
       SSLEngine on
    
       SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
       SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    
       <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
       </FilesMatch>
       <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
       </Directory>
    
     </VirtualHost>
    </IfModule>
    
  3. Bearbeiten Sie diese Zeile:

    ServerAdmin [email protected]
    
  4. Fügen Sie dies direkt unter der ServerAdminLinie hinzu:

    ServerName ADD_YOUR_IP_OR_DOMAIN_NAME_HERE
    
  5. Bearbeiten Sie nun diese Zeilen mit unserem Zertifikatspeicherort:

    SSLCertificateFile    /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
  6. Unsere endgültige Datei sollte folgendermaßen aussehen:

    <IfModule mod_ssl.c>
     <VirtualHost _default_:443>
      ServerAdmin [email protected]
      ServerName 203.0.113.122
    
      DocumentRoot /var/www/html
    
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
    
      SSLEngine on
    
      SSLCertificateFile    /etc/apache2/ssl/apache.crt
      SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
      <FilesMatch "\.(cgi|shtml|phtml|php)$">
       SSLOptions +StdEnvVars
      </FilesMatch>
      <Directory /usr/lib/cgi-bin>
       SSLOptions +StdEnvVars
      </Directory>
    
     </VirtualHost>
    </IfModule>
    
  7. Speichern und schließen Sie die Datei.

Schritt 4: Aktivieren des Apache SSL-Moduls

  1. Aktivieren Sie das SSL-Modul, indem Sie Folgendes eingeben:

    sudo a2enmod ssl
    
  2. Aktivieren Sie nun die gerade bearbeitete Site:

    sudo a2ensite default-ssl.conf
    
  3. Starten Sie Apache neu:

    sudo service apache2 restart
    
  4. Lassen Sie uns auf die neue sichere Website zugreifen! Öffnen Sie es in Ihrem Browser (geben Sie https: // ein ).

    https://YOUR_SERVER_IP
    

Ihr Browser warnt Sie, wie erwartet, dass das Zertifikat ungültig ist. Dies geschieht, weil das Zertifikat nicht signiert ist. Befolgen Sie die von Ihrem Browser angebotenen Schritte, um zu Ihrer Website zu gelangen.

Schritt 5: Leiten Sie den gesamten HTTP-Verkehr zu HTTPS um (optional)

  1. Öffnen Sie die virtuelle Apache-Standardhostdatei:

    nano /etc/apache2/sites-available/000-default.conf
    
  2. Fügen Sie diese Zeile in das <VirtualHost *:80>Tag ein:

    Redirect / https://YOUR_SERVER_IP_OR_DOMAIN/
    
  3. Laden Sie die Apache-Konfiguration neu:

    sudo service apache2 reload
    

Der gesamte Website-Verkehr wird jetzt automatisch zu HTTPS umgeleitet.



Leave a Comment

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.