Tilbake i gamle dager var det ganske normalt at nettsteder serverer innhold over den tradisjonelle HTTP -protokollen, da sikkerhet ikke var et stort problem. Imidlertid, i dag på grunn av økningen av nettkriminalitet som identifiserer tyverier, kredittkortstyverier, er det veldig viktig å sikre kanalen som kommuniserer med serveren. Let's Encrypt er en sertifikatmyndighet som gir SSL/TLS -sertifikater gratis. Sertifikatene som er utstedt av dem er gyldige i 3 måneder, noe som betyr 90 dager sammenlignet med et år eller mer av Certificate Certificate-myndighetene i kommersiell klasse. Imidlertid gir den samme beskyttelse som betalte sertifikater; Derfor blir det ofte valgt av mange bloggere og små nettstedseiere mot nettkriminelle. Denne artikkelen har til hensikt å demonstrere hvordan du kan sikre de digitaloceiske dråpene med Let's Encrypt.
Krav
Denne guiden bruker Ubuntu 16.04 som operativsystem som webserveren kjører på. Imidlertid kan de samme trinnene brukes til andre Ubuntu -versjoner så vel som lenge det ikke er noen forskjell i innstillingene. Denne guiden antar at brukeren allerede har en webserver installert, og det er Nginx. Som SSH -klient brukes kitt, og som filredigereren Nano anbefales.
Løsning
- Nettserveren som er opprettet på dråpene kan nås via SSH-protokollen. Last ned og installer kitt fra det offisielle nettstedet. Søknaden er helt gratis.
sudo apt-get install putty
- Etter å ha lastet ned kitt, gå videre og last ned Nano. Hensikten med kitt er tilgang til Linux -konsollen for å skrive skallkommandoer, mens Nano brukes til å redigere interne filer som NGINX standardfil.
sudo apt-get install nano
- Start Pitty og naviger til Session -fanen.
- Skriv inn IP-adressen til Digitalocean-dråpen i feltet vertsnavn der webserveren er installert. IP -adressen til dråpene finner du i https: // sky.Digitalocean.com/dråper. I havnefeltet, type 22.
- Etter å ha sendt inn alle nødvendige felt som sett ovenfor, trykk ok for å bruke endringene og påloggingen på dråpen. Når du logger på systemet, vil det spørre brukernavnet og passordet til dråpen. Både brukernavn, og passordet sendes til den registrerte e -posten i Digitalocean når du oppretter dråpen.
- Denne guiden bruker CertBot, et tredjepartsverktøy for å automatisere hele prosessen med å hente og fornye de digitale sertifikatene. Certbot har sin egen webside hvor kommandoene som skal brukes kan genereres med letthet. Som per certbot er de riktige kommandoene for å installere certbot på ubuntu disse. Først oppdaterer den pakkeinformasjonen i det lokale depotet, deretter installerer den programvareegenskaper vanlig pakke som gir noen nyttige skript i håndtering av personlig pakke oppnådde (PPA), deretter installerer den CertBot, deretter oppdaterer den igjen det lokale depotet, så installerer den til slutt Python CertBot Nginx -pakke. Forsikre deg om at alle disse pakkene er installert riktig før du drar til neste trinn.
$ sudo apt-get oppdatering
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa: certbot/certbot
$ sudo apt-get oppdatering
$ sudo apt-get install python-certbot-nginx
- Naviger til nettstedet hvor domenet ble kjøpt. Denne guiden bruker Porkbun som Domain Registrar, og legg deretter til en post til domenet. Type er en post, vert er tom hvis IP er assosiert med rotdomenet, ellers bruk underdomenenavnet uten rotdomenet, for eksempel hvis det er nukuta.com, bare bruk www. Som svaretypen er IP -adressen til dråpen.
- På samme måte, omdirigere www -trafikk til rotdomenet som følgende. Type er “CNAME”, Host er “www”, svaret er “nukuta.com ”eller ditt domene. Dette trinnet er viktig ettersom det omdirigerer all WWW -trafikk til rotdomenet.
- Bruk følgende kommando på kitt for å få tilgang til standardfilen til Nginx. Standardfilen bruker som standard en serverblokk der det primære domenet er lokalisert. Nano Editor anbefales sterkt, da det er ganske praktisk å bruke sammenlignet med andre.
sudo nano/etc/nginx/nettsteder-tilgjengelig/standard
- I standardfilen, naviger til Server blokkering og omdirigerer HTTP -trafikk til HTTPS, og i den andre serverblokken der Secured Traffic håndteres, kan du endre servernavn til domenenavn, for eksempel
server_name nukuta.com www.Nucuta.com
- Skriv inn følgende kommando for å starte NGINX -webserveren på nytt. Hver gang en endring ble gjort i standardfilen, må hele Nginx -serveren startes på nytt for at nye endringer har noen effekt.
sudo SystemCTL Reload Nginx
- Som standard blokkerer brannmuren all trafikk bortsett fra til port 80 og 22. HTTPS bruker porten 443; Derfor må det åpnes manuelt for å få tilgang til webserveren fra klientsiden. Åpne porten avhenger av brannmuren.
I CSF (konfigurert serverbrannmur)
- Åpner CSF -konfigurasjonsfilen ved å skrive følgende kommando.
Nano/etc/CSF/CSF.konf
- Legg til følgende porter i TCP inn og ut.
Tcp_in = "20,21,22,25,53,80,443"
Tcp_out = "20,21,22,25,53,80,443"
- Start CSF på nytt ved å skrive
CSF -r
I USF (ukomplisert brannmur)
- Skriv inn følgende to kommandoer for å legge til https til unntakslisten. “Nginx Full” -pakken har både HTTP- og HTTPS -porter; Derfor legger til hele pakken både trafikk inn og ut.
sudo ufw tillater 'nginx full'
sudo ufw slett tillat 'nginx http'
- Skriv inn følgende kommando for å se statusen
UFW -status
- Sjekk 443 -porten fra et eksternt nettsted for å sikre at den åpnes helt sikkert. Hvis porten er åpen, vil den si “443 port er åpen”
- Bruk nå certbot for å hente SSL -sertifikatet til domenet. D -parameter er påkrevd for å spesifisere domenet. La oss kryptere ett sertifikat for både Root og WWW -underdomenet. Å ha bare en for en av versjonene vil gi en advarsel i nettleseren hvis en besøkende får tilgang til den andre versjonen; Derfor er det viktig å få sertifikatet for begge versjoner.
sudo certbot --nginx -d nukuta.com -d www.Nucuta.com
- Certbot vil be om å omdirigere all HTTP -trafikk til HTTPS, men det er ikke nødvendig, da det allerede er gjort i et av de foregående trinnene.
- Naviger nå til SSL Lab -nettstedet og sjekk kvaliteten eller andre problemer med sertifikatet og dets konfigurasjon. https: // www.sslabs.com/ssltest/
- Hvis den gjeldende konfigurasjonen ikke er sikret nok, navigerer du til Mozilla SSL -konfigurasjonsgeneratoren og genererer innstillingene for webserveren din. https: // mozilla.github.IO/server-side-TLS/SSL-Config-Generator/. Siden her bruker Nginx, må du sørge for å bruke Nginx som webserver. Det tilbyr tre alternativer, mellomliggende, gammel og moderne. Gammelt alternativ gjør nettstedet kompatibelt med praktisk talt alle nettleser, inkludert super gamle nettlesere som IE 6, mens det mellomliggende alternativet gjør det ideelt for gjennomsnittlige brukere, genererer moderne alternativ konfigurasjon som kreves for maksimal sikkerhet, men ettersom en avveining vil nettstedet ikke fungere Riktig på eldre nettlesere. Så det anbefales sterkt for nettsteder der sikkerheten er en stor bekymring.
- Naviger til nettstedet ditt, og høyreklikk på låsikonet, deretter "Certificate" -alternativet for å se sertifikatet.
- Hvis det viser en fremtidig dato etter å ha gyldig fra alternativet, noe som betyr at sertifikatinnkjøpsprosessen ble fullført. Imidlertid er det viktig å omdirigere trafikk til den relevante versjonen av domenet, for eksempel kan HTTP og WWW -trafikk omdirigeres HTTPS Root Domain som sett i denne guiden. Sertifikatet blir automatisk fornyet av CertBot; Derfor er det for alltid tilgjengelig for nettstedseieren gratis.