Jak nastavit Apache HTTP s certifikátem SSL?

Zabezpečme Apache pomocí SSL/TLS certifikátu.

Po implementaci certifikátu bude nakonfigurovaná doména/IP přístupná přes HTTPS.

Pojďme to začít.

Na vysoké úrovni uděláme následující.

  • Zkompilujte Apache HTTP 2.4.5 s modulem SSL
  • Získejte certifikát SSL
  • Nakonfigurujte Apache tak, aby podporoval SSL

Nainstalujte Apache pomocí SSL ze zdroje

Pro konfiguraci SSL musí být Apache HTTP zkompilován s mod_ssl. Budu používat CentOS 7 VM od Digitální oceán to demonstrovat.

  • Přihlaste se k serveru Linux pomocí root a stáhněte si nejnovější verzi Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .

Poznámka: můžete zkontrolujte zde pro nejnovější verzi.

  • Extrahujte příkazem gunzip
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
  • Budete mít novou složku „httpd-2.4.25“
  • Jděte dovnitř a proveďte následující konfigurační příkaz
./configure --enable-ssl –-enable-so

Poznámka: Pokud to děláte na zbrusu novém serveru, můžete zaznamenat problémy související s APR, PCRE, OpenSSL a můžete se podívat na průvodce odstraňováním problémů.

Ujistěte se, že z výše uvedeného konfiguračního příkazu nedostanete žádnou chybu, a poté musíte nainstalovat pomocí příkazů make.

make 
make install

Jako obvykle zajistěte, aby nedošlo k chybám z výše uvedených příkazů. To znamená, že jste nainstalovali webový server Apache s podporou SSL.

  Jak sloučit a zrušit sloučení buněk v aplikaci Microsoft Excel

Získání SSL certifikátu

Existuje několik způsobů, jak vygenerovat a získat certifikát SSL podepsaný certifikační autoritou.

Pokud chcete implementovat SSL na intranetový webový server, pak většina organizace má interní tým vydavatelů certifikátů, takže to musíte prověřit. Stále však musíte vygenerovat CSR (Certificate Signing Request) a můžete to udělat pomocí OpenSSL.

Pokud však chcete zabezpečit internetovou adresu URL, můžete si zakoupit certifikát od VeriSign, GoDaddy, Namecheap, ZeroSSLatd., nebo získejte certifikát ZDARMA od Pojďme šifrovat.

Let’s Encrypt je projekt Linux Foundation Collaboration Project, který nabízí ZDARMA certifikát SSL/TLS. Pomocí Let’s Encrypt získám jeden certifikát pro svou doménu – Chandan.io

Existuje několik způsobů, jak generovat CSR, ale ten nejjednodušší, který jsem našel, je použití „SSL ZDARMA“online nástroj.

  Jak odinstalovat Chromium a zbavit se ho z počítače

Zadejte adresu URL, kterou chcete zabezpečit

Ověřte vlastnictví domény jednou z uvedených metod a stáhněte si soubory certifikátu domény.

Získáte tři soubory, které použijeme ke konfiguraci webového serveru Apache.

  • klíč – toto je váš soubor klíče a neměl by být s nikým veřejně sdílen
  • Certifikát – aktuální certifikát SSL pro vaši doménu
  • Ca_bundle – kořenový/zprostředkující certifikát podepisujícího
  • Přeneste stažený soubor na webový server. Brzy je budeme potřebovat.

    Konfigurace Apache SSL

    A posledním krokem by bylo nakonfigurovat Apache tak, aby mohl obsluhovat požadavek přes HTTPS.

    • Přihlaste se na webový server Apache
    • Vytvořte zálohu souboru httpd.conf (výchozí umístění /usr/local/apache2/conf/)
    • Otevřete soubor pomocí editoru vi a ujistěte se, že modul mod_ssl & httpd-ssl.conf existuje a není komentován
    LoadModule ssl_module modules/mod_ssl.so 
    Include conf/extra/httpd-ssl.conf

    Ke konfiguraci podrobností certifikátu použijeme soubor httpd-ssl.conf. K zajištění správných parametrů potřebujete následující.

  • SSLCertificateFile – Cesta k souboru CRT certifikátu, který jste si stáhli dříve
  • SSLCertificateKeyFile – private.a cesta k souboru klíče
  • SSLCertificateChainFile – cesta k souboru ca_bundle.crt
  • Tip: Možná budete chtít vytvořit novou složku s názvem „ssl“ a ponechat v ní všechny soubory související s certifikáty.

    • V případě potřeby vytvořte zálohu a upravte soubor pomocí editoru vi.
    SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt"
    SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt"
    SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"

    Dále musíte nakonfigurovat direktivu „ServerName“. Obvykle je to název vaší domény/URL

    ServerName chandan.io
    • Uložte soubor a restartujte webový server Apache
    cd /usr/local/apache2/bin 
    ./apachectl stop 
    ./apachectl start

    A nakonec se musíte ujistit, že vaše doména je namapována na nově nakonfigurovanou IP adresu webového serveru. Až budete hotovi, zkuste se ke své doméně dostat pomocí HTTPS.

      Jak sdílet to nejlepší ze Skype AKA Skype příběh

    A jak vidíte, Chandan.io je přístupný přes https s certifikátem, který jsem nakonfiguroval.

    Výše uvedené kroky jsou nezbytné pro nastavení certifikátu SSL a musíte SSL dále vyladit, aby se zpevnil a zabezpečil, což jsem vysvětlil zde. Před spuštěním můžete také otestovat svůj webový server SSL/TLS, abyste se ujistili, že není vystaven běžným bezpečnostním chybám.

    Doufám, že vám to poskytne představu o tom, jak implementovat certifikát SSL na váš webový server Apache, takže adresa URL je přístupná přes HTTPS.

    Užili jste si čtení článku? Co takhle sdílet se světem?