Reikalavimai
Šiame vadove naudojama „Ubuntu 16“.04 kaip operacinė sistema, kurioje veikia žiniatinklio serveris. Tačiau tuos pačius veiksmus galima naudoti bet kurioms kitoms „Ubuntu“ versijoms, jei tik nustatymai nesiskiria. Šiame vadove daroma prielaida, kad vartotojas jau turi įdiegtą žiniatinklio serverį ir tai yra „Nginx“. Kaip „SSH“ klientas naudojamas „Putty“ ir kaip failų redaktorius rekomenduojamas „Nano“.
Sprendimas
- „Lašeliuose“ sukurtą interneto serverį galima pasiekti naudojant SSH protokolą. Atsisiųskite ir įdiekite „Putty“ iš savo oficialios svetainės. Programa yra visiškai nemokama.
- Atsisiuntę glaistą, atsisiųskite „Nano“. „Putty“ tikslas yra pasiekti „Linux“ konsolę, kad būtų galima įvesti apvalkalo komandas, o „Nano“ naudojamas redaguoti vidinius failus, tokius kaip numatytasis „Nginx“ failas.
- Paleiskite glaistą ir eikite į skirtuką „Sesija“.
- Laukelyje „Pagrindinio kompiuterio vardas“ įveskite „DigitalOcean“ lašelio, kuriame įdiegtas žiniatinklio serveris, IP adresą. Lašelių IP adresą galite rasti https: // debesyje.skaitmeninis.com / lašeliai. Uosto lauke įveskite 22.
- Pateikę visus reikiamus laukus, kaip parodyta aukščiau, paspauskite Gerai, kad pritaikytumėte pakeitimus ir prisijungtumėte prie Lašelio. Prisijungdamas prie sistemos, jis paprašys lašelio vartotojo vardo ir slaptažodžio. Kuriant lašelį, tiek vartotojo vardas, tiek slaptažodis siunčiami el. Paštu į registruotą el. Pašto adresą „DigitalOcean“.
- Šiame vadove naudojamas „Certbot“, trečiosios šalies įrankis, skirtas automatizuoti visą skaitmeninių sertifikatų gavimo ir atnaujinimo procesą. „Certbot“ turi savo svetainę, iš kurios lengvai galima sukurti naudojamas komandas. Kaip nurodyta „Certbot“, tai yra tinkamos komandos įdiegti „Certbot“ į „Ubuntu“. Pirmiausia ji atnaujina paketo informaciją vietinėje saugykloje, tada įdiegia programinės įrangos ypatybių bendrą paketą, kuriame pateikiami keli naudingi scenarijai tvarkant asmeninio paketo pasiekimus (PPA), tada įdiegia „certbot“, tada vėl atnaujina vietinę saugyklą, tada galiausiai įdiegia python certbot nginx paketas. Prieš eidami į kitą žingsnį, įsitikinkite, kad visi šie paketai yra tinkamai įdiegti.
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get atnaujinimas
$ sudo apt-get install python-certbot-nginx
- Eikite į svetainę, iš kurios buvo įsigytas domenas. Šiame vadove „Porkbun“ naudojamas kaip domeno registratorius, tada pridėkite A įrašą prie domeno. Tipas yra įrašas, pagrindinis kompiuteris tuščias, jei IP yra susietas su šakniniu domenu, kitaip naudokite padomenio pavadinimą be šakninio domeno, pavyzdžiui, jei tai yra branduolys.com, tiesiog naudokitės www. Kaip atsakymą įveskite lašelio IP adresą.
- Lygiai taip pat nukreipkite WWW srautą į šakninį domeną taip, kaip nurodyta toliau. Tipas yra „CNAME“, pagrindinis kompiuteris yra „WWW“, atsakymas yra „nucuta.com “arba jūsų domeną. Šis žingsnis yra svarbus, nes jis nukreipia visą www srautą į šakninį domeną.
- Norėdami pasiekti numatytąjį „Nginx“ failą, naudokite šią „Putty“ komandą. Pagal numatytuosius nustatymus numatytasis failas naudoja vieną serverio bloką, kuriame yra pagrindinis domenas. Nano redaktorius yra labai rekomenduojamas, nes jį naudoti gana patogu, palyginti su kitais.
- Numatytame faile eikite į serverį užblokuokite ir nukreipkite HTTP srautą į HTTP, o kitame serverio bloke, kuriame tvarkomas saugus srautas, pakeiskite serverio pavadinimą į, pavyzdžiui, domeno pavadinimą
- Įveskite šią komandą, norėdami iš naujo paleisti „Nginx“ žiniatinklio serverį. Kiekvieną kartą, kai numatytasis failas buvo pakeistas, visas „Nginx“ serveris turi būti paleistas iš naujo, kad nauji pakeitimai turėtų poveikį.
- Pagal numatytuosius nustatymus užkarda blokuoja visą srautą, išskyrus 80 ir 22 prievadus. HTTPS naudoja 443 prievadą; todėl jį reikia atidaryti rankiniu būdu, norint pasiekti žiniatinklio serverį iš kliento pusės. Uosto atidarymas priklauso nuo ugniasienės.
CSF (sukonfigūruota serverio užkarda)
- Atidaro CSF konfigūracijos failą įvesdami šią komandą.
- Prie TCP įėjimo ir išvesties pridėkite šiuos prievadus.
TCP_OUT = "20,21,22,25,53,80,443"- Paleiskite CSF iš naujo įvesdami
csf -r
USF (nesudėtinga užkarda)
- Įveskite šias dvi komandas, kad pridėtumėte HTTPS prie išimčių sąrašo. „Nginx Full“ pakete yra HTTP ir HTTPS prievadai; taigi pridėjus visą paketą galima srautą įeiti ir iš jo išeiti.
sudo ufw ištrinti leisti „Nginx HTTP“- Norėdami pamatyti būseną, įveskite šią komandą
ufw statusas
- Patikrinkite 443 prievadą iš išorinės svetainės ir įsitikinkite, kad jis tikrai atsidaro. Jei uostas atidarytas, bus parašyta „443 uostas atidarytas“
- Dabar naudokite „Certbot“, kad gautumėte SSL sertifikatą į domeną. D parametras reikalingas norint nurodyti domeną. Užšifruokime, išleidžiamas vienas sertifikatas, skirtas tiek root, tiek www padomeniui. Turint tik vieną bet kuriai versijai, naršyklėje bus pateiktas įspėjimas, jei lankytojas pasieks kitą versiją; todėl svarbu gauti abiejų versijų sertifikatą. sudo certbot --nginx -d nucuta.com -d www.nucuta.com
- „Certbot“ paprašys peradresuoti visą HTTP srautą į HTTPS, tačiau to nereikia, nes tai jau atlikta atlikus vieną iš ankstesnių veiksmų.
- Dabar eikite į „SSL Lab“ svetainę ir patikrinkite sertifikato kokybę ar kitas problemas ir jo konfigūraciją. https: // www.ssllabs.com / ssltest /
- Jei dabartinė konfigūracija nėra pakankamai apsaugota, eikite į „Mozilla SSL“ konfigūravimo generatorių ir sugeneruokite žiniatinklio serverio nustatymus. https: // mozilla.github.io / server-side-tls / ssl-config-generator /. Kadangi čia naudojamas „Nginx“, būtinai naudokite „Nginx“ kaip žiniatinklio serverį. Jis siūlo tris galimybes, tarpinis, senas ir modernus. Naudojant seną parinktį svetainė suderinama praktiškai su visomis naršyklėmis, įskaitant labai senas naršykles, tokias kaip IE 6, o tarpinė parinktis leidžia ją idealiai pritaikyti vidutiniams vartotojams. Šiuolaikinė parinktis sukuria konfigūraciją, reikalingą maksimaliam saugumui užtikrinti, tačiau kadangi prekybos tinklapyje funkcija neveiks tinkamai senesnėse naršyklėse. Taigi, labai rekomenduojama svetainėms, kuriose saugumas kelia didžiausią rūpestį.
- Eikite į savo svetainę ir dešiniuoju pelės mygtuku spustelėkite užrakto piktogramą, tada parinktį „Sertifikatas“, kad pamatytumėte sertifikatą.
- Jei tai rodo būsimą datą po TO, galiojančią iš pasirinkimo, tai reiškia, kad sertifikato įgijimo procesas buvo baigtas. Tačiau svarbu nukreipti srautą į atitinkamą domeno versiją, pavyzdžiui, HTTP ir WWW srautą galima peradresuoti HTTPS šaknies domeną, kaip parodyta šiame vadove. Sertifikatą automatiškai atnaujins „certbot“; taigi jis amžinai yra nemokamas svetainės savininkui.