Cum se utilizează HTTPS pe Arch Linux Webserver

Cerințe preliminare

  • Un server Vultr care funcționează actualizat pe Arch Linux (consultați acest articol .)
  • Un server web care rulează, fie Apache sau Nginx
  • Acces Sudo
    • Sunt prefixate comenzile care trebuie rulate ca root #, iar cele care pot fi rulate ca utilizator obișnuit de $. Modul recomandat de a rula comenzile ca root este, ca utilizator obișnuit, să prefixăm fiecare cu sudo.
  • Aveți instalat un editor de text și cunoașteți-l, cum ar fi vi, vim, nano, emacs sau un alt editor similar.

Servire securizată prin HTTPS

Servirea conținutului prin HTTPS poate utiliza o criptare extrem de puternică, astfel încât nimeni să nu intercepteze traficul între utilizator și serverul web nu îl poate citi. Acesta nu numai că criptează traficul în sine, ci și adresa URL accesată, care poate expune informații. De ceva timp, Google a determinat parțial clasările de căutare pe baza dacă o pagină folosește HTTPS, ca parte a inițiativei HTTPS Everywhere.

Notă : o căutare DNS expune numele domeniului la care este conectat, dar întreaga adresă URL nu este expusă în timpul acelui proces.

Obțineți certificatul SSL / TLS

Tehnic, TLS a înlocuit SSL pentru certificatele HTTPS, dar, majoritatea locurilor au continuat pur și simplu să apeleze la certificatele TLS cu termenul mai popular Certificate SSL. După utilizarea comună, acest ghid va face la fel.

Pentru a utiliza HTTPS, serverul dvs. web are nevoie de o cheie privată ( .key) pentru a o folosi în mod privat și un certificat ( .crt) pentru a partaja public care include o cheie publică. Trebuie să fie semnat un certificat. Îl poți semna singur, însă browserele moderne se vor plânge că nu recunosc semnatarul. De exemplu, Chrome va arăta: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Dacă doar un grup privat de persoane va utiliza site-ul web, acest lucru poate fi acceptabil, deoarece browserele vor permite o modalitate de a continua. De exemplu, pe Chrome, faceți clic pe „Advanced”, apoi „Continuați la ... (nesigur)”; va afișa în continuare „Nu este securizat” și va parcurge „https”.

Rețineți că acest proces vă va solicita țara, statul / providența, localitatea, organizația, unitatea organizațională și numele comune și adresa dvs. de e-mail; toate acestea fiind accesibile în browserul oricui se conectează la site-ul dvs. prin HTTPS.

De asemenea, rețineți că, dacă oferiți certificate de gazde virtuale, va trebui să dați nume de fișiere distincte mai jos și indicați-le în configurațiile de gazdă virtuală.

Schimbați-vă în directorul corespunzător pentru serverul dvs. web.

Dacă ați instalat Apache:

$ cd /etc/httpd/conf

Dacă ați instalat Nginx:

$ cd /etc/nginx

Odată ajuns în directorul corespunzător, generați o cheie privată ( server.key) și un certificat autofirmat ( server.crt):

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

Setați permisiunile numai de citire și permiteți citirea cheii private numai de către root:

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

Alternativ, puteți obține un certificat semnat de o autoritate de certificare de încredere. Puteți plăti diverse companii (autoritățile de certificare) pentru a vă semna certificatul pentru dvs. Când se ia în considerare autoritățile de certificare, poate fi important să se analizeze ce browsere și ce versiuni le vor recunoaște. Este posibil ca unele autorități de certificare mai noi să nu fie recunoscute ca fiind mai oficiale decât un certificat auto-semnat pe versiunile vechi ale browserului.

De obicei, nu aveți nevoie doar de o adresă IP publică, ci și de un nume de domeniu. Unele autorități de certificare pot emite un certificat pe o adresă IP publică, dar se face foarte rar.

Mulți furnizori oferă un proces gratuit de 30 de zile, care este recomandat să înceapă, astfel încât să vă asigurați că procesul funcționează pentru dvs. înainte de a plăti pentru asta. Prețurile pot varia de la câțiva dolari pe an la sute, în funcție de tipul acesta și de opțiuni precum mai multe domenii sau subdomenii. Un certificat standard va indica doar că autoritatea care semnează a verificat persoana care a obținut certificatul ar putea face modificări pe domeniu. Un certificat de validare extinsă va indica, de asemenea, că autoritatea de semnare a efectuat o anumită diligență verificând solicitantul și, în browserele moderne, va afișa o bară verde în adresa URL sau în apropierea acesteia. Când verificați că puteți face modificări pe domeniu, unele autorități semnatare vă vor solicita să primiți e-mail la o adresă sonoră importantă la numele domeniului, cum ar fi[email protected]. Mulți oferă o verificare alternativă, cum ar fi oferirea unui fișier pentru a fi plasat pe serverul dvs., cum ar fi plasarea fișierului lor /srv/http/.well-known/pki-validation/pentru Apache sau /usr/share/nginx/html/.well-known/pki-validation/pentru Nginx, pentru configurații de director de găzduire unice; sau creează temporar o intrare CNAME pe care o furnizează în înregistrările DNS ale domeniului dvs.

Autoritatea de semnare pe care o alegeți poate avea pași ușor diferiți, dar majoritatea vor accepta următoarea procedură:

În directorul propriu, generați o cheie privată ( server.key):

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

Setați cheia privată doar în citire, numai prin root:

# chmod 400 server.key

Generați o cerere de semnare a certificatului ( server.csr). Trebuie să introduceți numele dvs. de domeniu atunci când vă solicită Common Nameși puteți lăsa parola de provocare goală:

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

Setați cererea de semnare a certificatului numai în citire, numai prin root:

# chmod 400 server.csr

Vizualizați conținutul cererii de semnare a certificatului. Această informație este codată base64, deci va arăta ca niște caractere aleatorii:

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

Parcurgeți procesul autorității de semnare și, atunci când vi se solicită să inserați în CSR, copiați și lipiți întregul fișier, inclusiv -----liniile. În funcție de autoritatea de semnare pe care ai ales-o și de tipul de certificat, este posibil să îți ofere imediat certificatul semnat sau poate fi un număr de zile. După ce vă dau certificatul semnat, copiați-l (inclusiv liniile -----BEGIN CERTIFICATE-----și -----END CERTIFICATE-----liniile) într-un fișier numit server.crt, în directorul corespunzător, dat mai sus pentru serverul dvs. web și setați-l doar în citire:

# chmod 444 server.crt

Configurați serverul dvs. Web pentru a utiliza cheia privată și certificatul

Dacă utilizați un firewall, va trebui să activați portul TCP sosit 443.

Pentru Apache

Editați /etc/httpd/conf/httpd.confși dezcomentați aceste linii:

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

Rețineți dacă utilizați gazde virtuale, făcând modificarea de mai sus pentru a /etc/httpd/conf/httpd.confutiliza același certificat pe toate gazdele. Pentru a oferi fiecărui gazdă propriul său certificat pentru a evita browserele care se plâng de certificatul care nu se potrivește cu numele de domeniu, trebuie să editați fiecare dintre fișierele de configurare /etc/httpd/conf/vhosts/pentru a indica propriul certificat și cheia privată:

  • Schimbați <VirtualHost *:80>la <VirtualHost *:80 *:443>.
  • În VirtualHostsecțiune, adăugați următoarele:

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

Reporniți Apache:

# systemctl restart httpd

Pentru Nginx

Modificați /etc/nginx/nginx.confși aproape de jos, deconectați HTTPS serversecțiunea și schimbați liniile în următoarele:

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

Rețineți dacă utilizați gazde virtuale, făcând modificările de mai sus să /etc/nginx/nginx.conftrimiteți toate gazdele în acea locație. Pentru a oferi fiecărui gazdă propriul său certificat, trebuie să editați fiecare fișier de configurare /etc/nginx/sites-enabled/pentru a avea un bloc de server suplimentar pentru a indica propriul certificat și cheia privată:

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

Reporniți Nginx:

# systemctl restart nginx


Leave a Comment

Cum se instalează Nginx 1.14 pe Arch Linux

Cum se instalează Nginx 1.14 pe Arch Linux

Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (vezi acest articol.) Acces Sudo. Comenzile care trebuie rulate ca root sunt prefixate de #. Th

Cum se instalează Apache 2.4 pe Arch Linux

Cum se instalează Apache 2.4 pe Arch Linux

Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux. Consultați acest ghid pentru mai multe informații. Acces Sudo. Comenzile necesare pentru a fi rulate ca root

Instalare Server Mumble pe Arch Linux

Instalare Server Mumble pe Arch Linux

Acest tutorial explică modul de configurare a unui server Mumble (Murmur) pe Arch Linux. Tot ce este făcut în acest tutorial este realizat ca utilizator root. Instalarea an

Instalați Arch Linux cu Btrfs Snapshotting

Instalați Arch Linux cu Btrfs Snapshotting

Preface Arch Linux este o distribuție de uz general, binecunoscută pentru tehnologia de ultimă oră și configurația flexibilă. Cu instantanee Btrfs, putem lua

Instalarea unui server Counter-Strike: Global Offensive (CSGO) pe Arch Linux

Instalarea unui server Counter-Strike: Global Offensive (CSGO) pe Arch Linux

Acest tutorial explică modul de configurare a unui server Counter-Strike: Global Offensive pe Arch Linux. Acest tutorial presupune că v-ați autentificat cu o utilizare standard

Instalarea Arch Linux pe un server Vultr

Instalarea Arch Linux pe un server Vultr

Vultr vă oferă funcționalitatea minunată de a vă permite să folosiți propria imagine personalizată, pe lângă șabloanele lor excelente, care vă permite să rulați

Utilizarea Devtools pe Arch Linux

Utilizarea Devtools pe Arch Linux

Pachetul Devtools a fost inițial creat pentru utilizatori de încredere pentru a crea corect pachete pentru depozitele oficiale. Cu toate acestea, acesta poate fi utilizat de către un utilizator obișnuit

Instalarea serverului Spigot pe Arch Linux

Instalarea serverului Spigot pe Arch Linux

Acest tutorial explică cum să configurați un server Minecraft folosind Spigot pe Arch Linux. Acest tutorial presupune că sunteți un utilizator normal (nu root) și hav

Cum se instalează PostgreSQL 11.1 pe Arch Linux

Cum se instalează PostgreSQL 11.1 pe Arch Linux

Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (vezi acest articol.) Acces Sudo. Comenzile care trebuie rulate ca root sunt prefixate de # și unu

Cum se instalează MongoDB 4.0 pe Arch Linux

Cum se instalează MongoDB 4.0 pe Arch Linux

Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (vezi acest articol) Acces Sudo: Comenzile care trebuie rulate ca root sunt prefixate de #, și una

Instalarea 2019 Arch Linux pe un server Vultr

Instalarea 2019 Arch Linux pe un server Vultr

Introducere Arch Linux are o distribuție mai mică, dar totuși puternică, în urma distribuțiilor mai populare. Filozofia sa este cu totul diferită, cu avantaje

Cum se instalează PHP 7.3 pe un server Web Arch Linux

Cum se instalează PHP 7.3 pe un server Web Arch Linux

Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (consultați acest articol) Comenzile necesită

Construirea de pachete pe Arch Linux (inclusiv AUR)

Construirea de pachete pe Arch Linux (inclusiv AUR)

Pe Arch Linux, depozitele oficiale sunt: ​​core, extra și comunitare. Aceste pachete sunt deja compilate și sunt instalate prin intermediul Pacman. Pentru th

Cum se instalează Python 3.7 pe un Arch Linux Webserver

Cum se instalează Python 3.7 pe un Arch Linux Webserver

Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (consultați acest articol.) Un server web care rulează, fie accesul Apache, fie Nginx Sudo: Comenzile necesită

Folosind Makepkg pe Arch Linux

Folosind Makepkg pe Arch Linux

Dacă utilizați direct makepkg, acesta poluează oarecum sistemul dumneavoastră. Trebuie să fie instalat grupul de pachete de bază de dezvoltare. În acest mod, în mod implicit, sunt necesare dependențele onl

Configurați un server Team Fortress 2 pe Arch Linux

Configurați un server Team Fortress 2 pe Arch Linux

Acest tutorial explică modul de configurare a unui server Team Fortress 2 pe Arch Linux. Presupun că sunteți conectat cu un cont de utilizator non-root care are acces sudo

Cum se instalează MariaDB 10.3 sau MySQL 8.0 pe Arch Linux

Cum se instalează MariaDB 10.3 sau MySQL 8.0 pe Arch Linux

Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (a se vedea acest articol.) Acces Sudo: Comenzile necesare pentru a fi rulate ca root sunt prefixate de # și una

Cum se instalează Perl 5.28 pe un Arch Linux Webserver

Cum se instalează Perl 5.28 pe un Arch Linux Webserver

Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (consultați acest articol.) Un server web care rulează, fie accesul Apache, fie Nginx Sudo: Comenzile necesită

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe