Jak používat HTTPS na webovém serveru Arch Linux

Předpoklady

  • Server Vultr s aktuální verzí Arch Linuxu (viz tento článek .)
  • Běžící webový server, buď Apache nebo Nginx
  • Sudo přístup
    • Příkazy, které je třeba spouštět jako root, mají předponu #a příkazy , které lze spouštět jako běžný uživatel, mají předponu $. Doporučený způsob, jak spouštět příkazy jako root, je jako běžný uživatel zadat každému z nich předponu sudo.
  • Mějte nainstalovaný textový editor a seznamte se s ním, jako je vi, vim, nano, emacs nebo jiný podobný editor.

Zabezpečené poskytování přes HTTPS

Poskytování obsahu prostřednictvím HTTPS může používat extrémně silné šifrování, takže jej nemůže přečíst nikdo, kdo zachycuje provoz mezi uživatelem a webovým serverem. Nešifruje pouze samotný provoz, ale také adresu URL, ke které se přistupuje, což může jinak odhalit informace. Google již nějakou dobu částečně určuje hodnocení ve vyhledávání podle toho, zda stránka používá HTTPS, v rámci iniciativy HTTPS Everywhere.

Poznámka : Vyhledávání DNS odhalí název domény, ke které se připojujete, ale během tohoto procesu není odhalena celá adresa URL.

Získejte certifikát SSL/TLS

Technicky TLS nahradilo SSL certifikáty HTTPS, ale většina míst jednoduše pokračovala v označování certifikátů TLS populárnějším pojmem certifikáty SSL. Po běžném používání bude tento průvodce dělat totéž.

Chcete-li používat HTTPS, váš webový server potřebuje soukromý klíč ( .key), aby jej mohl soukromě používat, a certifikát ( .crt) pro veřejné sdílení, který obsahuje veřejný klíč. Certifikát musí být podepsán. Můžete to podepsat sami, ale moderní prohlížeče si budou stěžovat, že nepoznají podepisujícího. Chrome například zobrazí: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Pokud bude web používat pouze soukromá skupina lidí, může to být přijatelné, protože prohlížeče umožní způsob, jak pokračovat. Například v prohlížeči Chrome klikněte na „Upřesnit“ a poté na „Pokračovat k... (nebezpečné)“; bude stále zobrazovat „Nezabezpečeno“ a přeškrtnout „https“.

Upozorňujeme, že tento proces se vás zeptá na vaši zemi, stát/poskytování, lokalitu, organizaci, organizační jednotku a obecná jména a vaši e-mailovou adresu; to vše je dostupné v prohlížeči každého, kdo se připojuje k vašemu webu přes HTTPS.

Všimněte si také, že pokud udělujete certifikáty virtuálním hostitelům, budete muset níže zadat odlišné názvy souborů a ukázat na ně v konfiguracích virtuálních hostitelů.

Přejděte do správného adresáře pro váš webový server.

Pokud jste nainstalovali Apache:

$ cd /etc/httpd/conf

Pokud jste nainstalovali Nginx:

$ cd /etc/nginx

Jakmile budete ve správném adresáři, vygenerujte soukromý klíč ( server.key) a certifikát s vlastním podpisem ( server.crt):

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

Nastavte oprávnění pouze pro čtení a povolte čtení soukromého klíče pouze rootovi:

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

Případně můžete získat certifikát podepsaný důvěryhodnou certifikační autoritou. Můžete zaplatit různým společnostem (certifikačním autoritám), aby za vás podepsaly váš certifikát. Při zvažování certifikačních autorit může být důležité podívat se na to, které prohlížeče a které verze je rozpoznají. Některé novější certifikační autority nemusí být ve starých verzích prohlížečů uznávány jako oficiálnější než certifikáty s vlastním podpisem.

Obvykle potřebujete nejen veřejnou IP adresu, ale také název domény. Některé certifikační autority mohou vydat certifikát na veřejnou IP adresu, ale zřídka se to dělá.

Mnoho poskytovatelů nabízí bezplatnou 30denní zkušební verzi, kterou se doporučuje začít, abyste se mohli ujistit, že proces funguje pro vás, než za něj zaplatíte. Ceny se mohou lišit od několika dolarů za rok až po stovky, v závislosti na typu a možnostech, jako je více domén nebo subdomén. Standardní certifikát bude pouze indikovat, že podepisující autorita ověřila, že osoba, která certifikát získává, může provádět změny v doméně. Certifikát Extended Validation bude také indikovat, že podepisující autorita provedla určitou náležitou péči a prověřila žadatele, a v moderních prohlížečích zobrazí v adrese URL nebo v její blízkosti zelený pruh. Při ověřování, že můžete provádět změny v doméně, budou některé podepisovací autority vyžadovat, abyste obdrželi e-mail na důležitou znějící adresu v názvu domény, jako je např.[email protected]. Mnoho z nich nabízí alternativní ověření, jako je například poskytnutí souboru k umístění na váš server, například umístění jejich souboru /srv/http/.well-known/pki-validation/pro Apache nebo /usr/share/nginx/html/.well-known/pki-validation/pro Nginx, pro konfigurace jednoho hostitelského adresáře; nebo dočasné vytvoření položky CNAME, kterou vám poskytují v záznamech DNS vaší domény.

Podpisová autorita, kterou zvolíte, může mít mírně odlišné kroky, ale většina bude akceptovat následující postup:

Ve správném adresáři vygenerujte soukromý klíč ( server.key):

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

Nastavte soukromý klíč na pouze pro čtení, pouze pro uživatele root:

# chmod 400 server.key

Vygenerujte žádost o podpis certifikátu ( server.csr). Když vás požádá o Common Name, musíte zadat název své domény a heslo výzvy můžete nechat prázdné:

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

Nastavte požadavek na podpis certifikátu pouze pro čtení, pouze pro uživatele root:

# chmod 400 server.csr

Prohlédněte si obsah žádosti o podpis certifikátu. Tyto informace jsou zakódovány v base64, takže budou vypadat jako náhodné znaky:

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

Projděte si proces vaší podpisové autority a až budete požádáni o vložení vašeho CSR, zkopírujte a vložte celý tento soubor včetně -----řádků. V závislosti na zvolené autoritě pro podepisování a typu certifikátu vám mohou podepsaný certifikát poskytnout okamžitě, nebo to může být několik dní. Jakmile vám dají podepsaný certifikát, zkopírujte jej (včetně řádků -----BEGIN CERTIFICATE-----a -----END CERTIFICATE-----) do souboru s názvem server.crt, ve správném adresáři uvedeném výše pro váš webový server a nastavte jej pouze pro čtení:

# chmod 444 server.crt

Nakonfigurujte svůj webový server tak, aby používal soukromý klíč a certifikát

Pokud používáte firewall, budete muset povolit příchozí TCP provoz na port 443.

Pro Apache

Upravte /etc/httpd/conf/httpd.confa odkomentujte tyto řádky:

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

Všimněte si, že pokud používáte virtuální hostitele, provedení výše uvedené změny na /etc/httpd/conf/httpd.confbude používat stejný certifikát na všech hostitelích. Chcete-li dát každému hostiteli vlastní certifikát, aby si prohlížeče nestěžovaly na certifikát, který neodpovídá názvu domény, musíte upravit každý jejich konfigurační soubor tak, /etc/httpd/conf/vhosts/aby odkazoval na jeho vlastní certifikát a soukromý klíč:

  • Změnit <VirtualHost *:80>na <VirtualHost *:80 *:443>.
  • Do VirtualHostsekce přidejte následující:

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

Restartujte Apache:

# systemctl restart httpd

Pro Nginx

Upravte /etc/nginx/nginx.confa v dolní části odkomentujte HTTPS serversekci a změňte řádky na následující:

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

Všimněte si, že pokud používáte virtuální hostitele, provedení výše uvedené změny na /etc/nginx/nginx.confodešle všechny hostitele do tohoto umístění. Chcete-li dát každému hostiteli vlastní certifikát, musíte upravit každý jeho konfigurační soubor tak, /etc/nginx/sites-enabled/aby měl další blok serveru, který bude odkazovat na jeho vlastní certifikát a soukromý klíč:

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;
    }
}

Restartujte Nginx:

# systemctl restart nginx

Instalace 2019 Arch Linuxu na Vultr Server

Instalace 2019 Arch Linuxu na Vultr Server

Úvod Arch Linux má menší, ale stále silnější následovníky než populárnější distribuce. Jeho filozofie je zcela odlišná, s výhodami an

Instalace Arch Linuxu na server Vultr

Instalace Arch Linuxu na server Vultr

Vultr vám poskytuje úžasnou funkcionalitu, která vám umožňuje používat váš vlastní obrázek kromě jejich vynikajících šablon, což vám umožňuje spouštět

Použití Devtools na Arch Linuxu

Použití Devtools na Arch Linuxu

Balíček Devtools byl původně vytvořen pro důvěryhodné uživatele, aby správně vytvářel balíčky pro oficiální úložiště. Může jej však používat i běžný uživatel

Použití Makepkg na Arch Linuxu

Použití Makepkg na Arch Linuxu

Pokud používáte přímo makepkg, poněkud to znečišťuje váš systém. Musí být nainstalována skupina balíčků base-devel. Tímto způsobem jsou ve výchozím nastavení potřeba pouze závislosti

Jak nainstalovat PostgreSQL 11.1 na Arch Linux

Jak nainstalovat PostgreSQL 11.1 na Arch Linux

Předpoklady Server Vultr s aktuální verzí Arch Linuxu (viz tento článek.) Přístup Sudo. Příkazy požadované ke spuštění jako root mají předponu # a jedna

Jak používat HTTPS na webovém serveru Arch Linux

Jak používat HTTPS na webovém serveru Arch Linux

Předpoklady Server Vultr s aktuální verzí Arch Linuxu (viz tento článek.) Spuštěný webový server, buď Apache nebo Nginx Sudo.

Nainstalujte Arch Linux s Btrfs Snapshoting

Nainstalujte Arch Linux s Btrfs Snapshoting

Preface Arch Linux je univerzální distribuce známá pro svou špičkovou technologii a flexibilní konfiguraci. Se snímky Btrfs můžeme pořídit

Vytváření balíčků na Arch Linuxu (včetně AUR)

Vytváření balíčků na Arch Linuxu (včetně AUR)

Na Arch Linuxu jsou oficiálními repozitáři: core, extra a community. Tyto balíčky jsou již zkompilovány a instalují se pomocí pacmana. Pro th

Nastavte Spigot Server na Arch Linuxu

Nastavte Spigot Server na Arch Linuxu

Tento tutoriál vysvětluje, jak nastavit server Minecraft pomocí Spigot na Arch Linuxu. Tento tutoriál předpokládá, že jste normální uživatel (ne root) a máte hav

Jak nainstalovat Nginx 1.14 na Arch Linux

Jak nainstalovat Nginx 1.14 na Arch Linux

Předpoklady Server Vultr s aktuální verzí Arch Linuxu (viz tento článek.) Přístup Sudo. Příkazy požadované ke spuštění jako root mají předponu #. Th

Jak nainstalovat Apache 2.4 na Arch Linux

Jak nainstalovat Apache 2.4 na Arch Linux

Předpoklady Server Vultr s aktuální verzí Arch Linuxu. Další informace naleznete v této příručce. Sudo přístup. Příkazy požadované ke spuštění jako root ar

Jak nainstalovat Python 3.7 na webový server Arch Linux

Jak nainstalovat Python 3.7 na webový server Arch Linux

Předpoklady Server Vultr s aktuální verzí Arch Linuxu (viz tento článek.) Spuštěný webový server, přístup k Apache nebo Nginx Sudo: Příkazy vyžadují

Jak nainstalovat Perl 5.28 na webový server Arch Linux

Jak nainstalovat Perl 5.28 na webový server Arch Linux

Předpoklady Server Vultr s aktuální verzí Arch Linuxu (viz tento článek.) Spuštěný webový server, přístup k Apache nebo Nginx Sudo: Příkazy vyžadují

Jak nainstalovat PHP 7.3 na webový server Arch Linux

Jak nainstalovat PHP 7.3 na webový server Arch Linux

Předpoklady Server Vultr s aktuální verzí Arch Linuxu (viz tento článek.) Spuštěný webový server s přístupem Apache nebo Nginx Sudo. Příkazy vyžadují

Nastavte Mumble Server na Arch Linuxu

Nastavte Mumble Server na Arch Linuxu

Tento tutoriál vysvětluje, jak nastavit server Mumble (Murmur) na Arch Linuxu. Vše, co se v tomto tutoriálu provádí, se provádí jako uživatel root. Instalace an

Nastavte Counter-Strike: Global Offensive (CSGO) Server na Arch Linuxu

Nastavte Counter-Strike: Global Offensive (CSGO) Server na Arch Linuxu

Tento tutoriál vysvětluje, jak nastavit Counter-Strike: Global Offensive server na Arch Linuxu. Tento tutoriál předpokládá, že jste se přihlásili standardním způsobem

Nastavte server Team Fortress 2 na Arch Linuxu

Nastavte server Team Fortress 2 na Arch Linuxu

Tento tutoriál vysvětluje, jak nastavit server Team Fortress 2 na Arch Linuxu. Předpokládám, že jste přihlášeni pomocí jiného uživatelského účtu než root, který má sudo přístup

Jak nainstalovat MariaDB 10.3 nebo MySQL 8.0 na Arch Linux

Jak nainstalovat MariaDB 10.3 nebo MySQL 8.0 na Arch Linux

Předpoklady Server Vultr s aktuální verzí Arch Linuxu (viz tento článek.) Přístup Sudo: Příkazy vyžadované ke spuštění jako root mají předponu # a jedna

Jak nainstalovat MongoDB 4.0 na Arch Linux

Jak nainstalovat MongoDB 4.0 na Arch Linux

Předpoklady Server Vultr s aktuální verzí Arch Linuxu (viz tento článek) Přístup Sudo: Příkazy, které je třeba spouštět jako root, mají předponu # a jedna

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více