Nginx

Nginxi SSL-i seadistamine Linuxis

Nginxi SSL-i seadistamine Linuxis

SSL (tähistab turvalist sokli kihti) on veebiprotokoll, mis muudab serveri ja kliendi vahelise liikluse selle krüpteerimisega turvaliseks. Server ja kliendid edastavad liiklust turvaliselt, ilma et kolmandad osapooled tõlgendaksid. Samuti aitab see kliendil kontrollida veebisaidi identiteeti, millega ta suhtleb.

Selles postituses kirjeldame, kuidas SSL-i Nginxi jaoks seadistada. Demonstreerime protseduuri, kasutades ise allkirjastatud sertifikaati. Ise allkirjastatud sertifikaat ainult krüpteerib ühenduse, kuid ei kinnita teie serveri identiteeti. Seetõttu tuleks seda kasutada ainult keskkondade testimiseks või sisemiste LAN-teenuste jaoks. Tootmiskeskkonna jaoks on parem kasutada CA (sertifikaadi väljaandja) allkirjastatud sertifikaate.

Eeldused

Selle postituse jaoks peaksid teil olema järgmised eeldused:

Siin on selgitatud protseduuri Debian 10 (Buster) masin.

1. samm: ise allkirjastatud sertifikaadi genereerimine

Meie esimene samm on ise allkirjastatud sertifikaadi genereerimine. CSR (Certificate Signing Request) ja võtme loomiseks väljastage terminalis järgmine käsk:

$ sudo openssl req -x509 -sõlmed -päevad 365 -newkey rsa: 2048 -keyout / etc / ssl / private / selfsigned-nginx.võti -out / etc / ssl / certs / selfsigned-nginx.krt

Teil palutakse esitada mõni teave, näiteks riigi nimi, osariik, asukoht, üldnimi (teie domeeninimi või IP-aadress) ja e-posti aadress.

Ülalolevas käsus loob OpenSSL kaks järgmist faili:

Nüüd looge dhparam.pem-fail kasutades järgmist käsku:

$ sudo avab dhparam -out / etc / ssl / certs / dhparam.pem 2048

2. samm: Nginxi konfigureerimine SSL-i kasutamiseks

Eelmises etapis oleme loonud CSR-i ja võtme. Selles etapis konfigureerime Nginxi SSL-i kasutamiseks. Selleks loome konfiguratsioonijupi ja lisame teavet meie SSL-sertifikaadi failide ja võtmete asukohtade kohta.

Uue konfiguratsioonijupi loomiseks väljastage terminalis järgmine käsk ise allkirjastatud.konf fail aastal / etc / nginx / katkendid.

$ sudo nano / etc / nginx / snippets / ise allkirjastatud.konf

Lisage faili järgmised read:

ssl_certificate / etc / ssl / certs / selfsigned-nginx.crt;
ssl_certificate_key / etc / ssl / private / selfsigned-nginx.võti;

The ssl_sertifikaat on seatud väärtusele ise allkirjastatud-nginx.krt (sertifikaadifail) ssl_certificate_key on seatud väärtusele ise allkirjastatud-nginx.võti (võtmefail).

Salvestage ja sulgege ise allkirjastatud.konf faili.

Nüüd loome veel ühe koodifaili ssl-params.konf ja konfigureerige mõned SSL-i põhiseaded. Välja andmiseks terminalis väljastage järgmine käsk ssl-params.konf fail:

$ sudo nano / etc / nginx / snippets / ssl-params.konf

Lisage faili järgmine sisu:

ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers sisse;
ssl_dhparam / etc / ssl / certs / dhparam.pem;
ssl_cifhers ECDHE-RSA-AES256-GCM-SHA512: DHE-RSA-AES256-GCM-SHA512: ECDHE-RSA-AES256-GCM-SHA384: DHE-RSA-AES256-GCM-SHA384: ECDA4E
ssl_ecdh_curve secp384r1;
ssl_session_timeout 10m;
ssl_session_cache jagatud: SSL: 10m;
ssl_session_tickets off;
# ssl_stapling on;
# ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 kehtivat = 300s;
resolver_timeout 5s;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode = block";

Kuna me ei kasuta CA-ga allkirjastatud sertifikaati, oleme SSL-i klammerdamise keelanud. Kui kasutate CA-ga allkirjastatud sertifikaati, tühjendage ssl_stapling sissekanne.

3. samm: Nginxi konfigureerimine SSL-i kasutamiseks

Nüüd avame mõne konfiguratsiooni tegemiseks Nginxi serveriploki konfiguratsioonifaili.  Selles etapis eeldame, et olete juba seadistanud serveriploki, mis sarnaneb järgmisega:

server
kuulata 80;
kuulama [::]: 80;
juur / var / www / test.org / html;
indeksindeks.HTML-i register.htm indeks.nginx-debian.HTML;
serveri_nimi test.org www.test.org;
asukoht /
proov_failid $ uri $ uri / = 404;

Nginxi serveriploki konfiguratsioonifaili avamiseks kasutage järgmist käsku:

$ sudo nano / etc / nginx / sites-available / test.org

Nüüd muutke olemasolevat server blokeerige, et see näeks välja selline:

server
kuulata 443 ssl;
kuulama [::]: 443 ssl;
sisaldavad juppe / ise allkirjastatud.konf;
lisada juppe / ssl-parame.konf;
juur / var / www / test.org / html;
indeksindeks.HTML-i register.htm indeks.nginx-debian.HTML;
serveri_nimi test.org www.test.org;

Ülaltoodud konfiguratsioonides oleme lisanud ka SSL-i jupid ise allkirjastatud.konf ja ssl-params.konf mille oleme varem konfigureerinud.

Järgmisena lisage a teine ​​server blokeerida.

server
kuulata 80;
kuulama [::]: 80;
serveri_nimi test.org www.test.org;
tagastage 302 https: // $ server_name $ request_uri;

Ülaltoodud konfiguratsioonis, tagastus 302 suunab HTTP ümber HTTPS-i.

Märge: Asendage test kindlasti.oma domeeninimega org. Nüüd salvestage ja sulgege fail.

4. samm: lubage SSL-liiklus tulemüüri kaudu

Kui teie süsteemis on lubatud tulemüür, peate selle kaudu lubama SSL-liikluse.  Nginx pakub teile ufw-ga kolme erinevat profiili. Neid saate vaadata terminali alloleva käsu abil:

$ sudo ufw rakenduste loend

Näete järgmist Nginxi liikluse kolme profiiliga väljundit.

Tulemüüris peate lubama profiili „Nginx Full”. Selleks kasutage järgmist käsku:

$ sudo ufw lubab 'Nginx Full'

Selleks, et kontrollida, kas profiil on tulemüüris lubatud, kasutage järgmist käsku:

$ sudo ufw olek

5. samm: testige NGINX-i konfiguratsioonifaili

Nüüd testige Nginxi konfiguratsioonifaili, kasutades terminalis järgmist käsku:

$ sudo nginx -t

Peaksite nägema allpool olevat väljundit.


Looge nüüd sümboolne link saitide ja saitide vahel:

$ ln -s / etc / nginx / sites-available / test.com / etc / nginx / saidid lubatud /

Seejärel taaskäivitage teenus Nginx konfiguratsioonimuudatuste rakendamiseks. Selleks kasutage järgmist käsku:

$ sudo systemctl taaskäivitage nginx

6. samm: testige SSL-i

SSL-i testimiseks navigeerige järgmisele aadressile:

https: // domeen või IP-aadress

Kuna oleme ise allkirjastatud sertifikaadi seadistanud, näeme seetõttu hoiatust, et ühendus pole turvaline. Järgmine leht kuvatakse brauseri Mozilla Firefox kasutamisel.

Klõpsake nuppu Täpsem nuppu.

Klõpsake nuppu Lisa erand.

Seejärel klõpsake nuppu Kinnitage turvaerand.

Nüüd näete oma HTTPS-i saiti, kuid hoiatusmärgiga (lukustage kollase hoiatusmärgiga) oma veebisaidi turvalisuse kohta.

Samuti kontrollige oma domeeni või IP-aadressi abil, kasutades http-i, kas ümbersuunamine töötab õigesti.

http: // domeeni või IP-aadress

Kui teie sait suunab automaatselt HTTPS-i, tähendab see, et ümbersuunamine toimis õigesti. Ümbersuunamise püsivaks konfigureerimiseks muutke serveriploki konfiguratsioonifaili, kasutades terminali allolevat käsku:

$ sudo nano / etc / nginx / sites-available / test.org

Nüüd muutke tagastust 302 tagastama 301 failis ning seejärel salvestage ja sulgege.

Nii saate Debian 10 süsteemis Nginxi jaoks SSL-i seadistada. Oleme demonstreerimiseks seadnud ise allkirjastatud sertifikaadi. Kui olete tootmiskeskkonnas, hankige alati CA sertifikaat.

Hiire vasakklõps nupp ei tööta Windows 10-s
Kui kasutate oma sülearvuti või lauaarvutiga spetsiaalset hiirt, kuid hiire vasakklõps nupp ei tööta mingil põhjusel operatsioonisüsteemis Windows 10/...
Kursor hüppab või liigub juhuslikult Windows 10-s kirjutamise ajal
Kui leiate, et hiire kursor hüppab või liigub Windowsi sülearvutisse või arvutisse kirjutades automaatselt, juhuslikult, võivad mõned neist soovituste...
Kuidas muuta hiire ja puuteplaatide kerimise suund Windows 10-s ümber
Hiir ja PuuteplaatNeed muudavad arvutamise mitte ainult lihtsaks, vaid ka tõhusamaks ja vähem aeganõudvaks. Me ei kujuta ette elu ilma nende seadmetet...