Hvordan bruke HTTPS på Arch Linux Webserver

Forutsetninger

  • En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen .)
  • En kjørende webserver, enten Apache eller Nginx
  • Sudo tilgang
    • Kommandoer som kreves for å kjøres som root er prefikset av #, og de som kan kjøres som en vanlig bruker av $. Den anbefalte måten å kjøre kommandoer som root er å, som en vanlig bruker, prefiksere hver av dem med sudo.
  • Ha et tekstredigeringsprogram installert, og bli kjent med det, for eksempel vi, vim, nano, emacs eller en annen lignende editor.

Sikker servering via HTTPS

Servering av innhold via HTTPS kan bruke ekstremt sterk kryptering, slik at ingen som fanger opp trafikk mellom brukeren og webserveren kan lese det. Den krypterer ikke bare selve trafikken, men også URL-en man får tilgang til, som ellers kan avsløre informasjon. I en tid har Google delvis bestemt søkerangeringer basert på om en side bruker HTTPS, som en del av initiativet HTTPS Everywhere.

Merk : et DNS-oppslag avslører domenenavnet som er koblet til, men hele URL-en blir ikke eksponert under den prosessen.

Skaff SSL/TLS-sertifikat

Teknisk sett erstattet TLS SSL for HTTPS-sertifikater, men de fleste steder fortsatte ganske enkelt å kalle TLS-sertifikater med det mer populære uttrykket SSL-sertifikater. Etter vanlig bruk vil denne veiledningen gjøre det samme.

For å bruke HTTPS trenger nettserveren din en privat nøkkel ( .key) for privat bruk, og et sertifikat ( .crt) for offentlig deling som inkluderer en offentlig nøkkel. Et sertifikat må signeres. Du kan signere det selv, men moderne nettlesere vil klage over at de ikke gjenkjenner signeren. For eksempel vil Chrome vise: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Hvis bare en privat gruppe mennesker skal bruke nettstedet, kan dette være akseptabelt, fordi nettlesere vil tillate en måte å fortsette på. For eksempel, på Chrome, klikk "Avansert", deretter "Fortsett til... (utrygt)"; den vil fortsatt vise "Ikke sikker" og krysse ut "https".

Merk at denne prosessen vil be deg om ditt land, stat/forsyn, lokalitet, organisasjon, organisasjonsenhet og vanlige navn, og din e-postadresse; som alle er tilgjengelige i alle nettlesere som kobler til nettstedet ditt via HTTPS.

Vær også oppmerksom på at hvis du gir virtuelle vertssertifikater, må du oppgi distinkte filnavn nedenfor, og peke på dem i dine virtuelle vertskonfigurasjoner.

Bytt til riktig katalog for webserveren din.

Hvis du installerte Apache:

$ cd /etc/httpd/conf

Hvis du installerte Nginx:

$ cd /etc/nginx

Når du er i riktig katalog, generer du en privat nøkkel ( server.key) og et selvsignert sertifikat ( server.crt):

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

Angi skrivebeskyttede tillatelser, og la bare den private nøkkelen leses med rot:

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

Alternativt kan du få et sertifikat signert av en pålitelig sertifiseringsinstans. Du kan betale ulike selskaper (sertifikatmyndigheter) for å signere sertifikatet for deg. Når du vurderer sertifiseringsinstanser, kan det være viktig å se nærmere på hvilke nettlesere og hvilke versjoner som vil gjenkjenne dem. Noen nyere sertifikatmyndigheter kan kanskje ikke anerkjennes som mer offisielle enn et selvsignert sertifikat på gamle nettleserversjoner.

Du trenger vanligvis ikke bare en offentlig IP-adresse, men også et domenenavn. Noen sertifiseringsinstanser kan utstede et sertifikat til en offentlig IP-adresse, men det blir sjelden gjort.

Mange leverandører tilbyr en gratis 30 dagers prøveversjon, som anbefales til å begynne med, slik at du kan sørge for at prosessen fungerer for deg før du betaler for den. Prisene kan variere fra noen få dollar per år til hundrevis, avhengig av hvilken type det er og alternativer som flere domener eller underdomener. Et standardsertifikat vil bare indikere at signeringsmyndigheten har bekreftet at personen som skaffer sertifikatet kan gjøre endringer på domenet. Et utvidet valideringssertifikat vil også indikere at signeringsmyndigheten har utført noen due diligence-kontroll av rekvirenten og vil, i moderne nettlesere, vise en grønn linje i eller i nærheten av URL-en. Når du bekrefter at du kan gjøre endringer på domenet, vil noen signeringsmyndigheter kreve at du mottar e-post på en viktig klingende adresse på domenenavnet, som f.eks.[email protected]. Mange tilbyr alternativ verifisering, for eksempel å gi deg en fil å plassere på serveren din, for eksempel å plassere filen deres i /srv/http/.well-known/pki-validation/for Apache eller /usr/share/nginx/html/.well-known/pki-validation/for Nginx, for enkelt vertskatalogkonfigurasjoner; eller midlertidig opprette en CNAME-oppføring de gir deg i domenets DNS-poster.

Signeringsmyndigheten du velger kan ha litt forskjellige trinn, men de fleste vil godta følgende prosedyre:

Generer en privat nøkkel i riktig katalog ( server.key):

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

Sett den private nøkkelen til skrivebeskyttet, bare ved rot:

# chmod 400 server.key

Generer en forespørsel om sertifikatsignering ( server.csr). Du må angi domenenavnet ditt når det ber deg om Common Name, og du kan la utfordringspassordet stå tomt:

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

Sett sertifikatsigneringsforespørselen til skrivebeskyttet, bare ved rot:

# chmod 400 server.csr

Se innholdet i forespørselen om sertifikatsignering. Denne informasjonen er base64-kodet, så den vil se ut som tilfeldige tegn:

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

Gå gjennom signeringsmyndighetens prosess, og når du blir bedt om å lime inn din CSR, kopier og lim inn hele denne filen inkludert -----linjene. Avhengig av signeringsmyndigheten du valgte og typen sertifikat, kan de umiddelbart gi deg det signerte sertifikatet, eller det kan ta flere dager. Når de gir deg det signerte sertifikatet, kopiere den (inkludert -----BEGIN CERTIFICATE-----og -----END CERTIFICATE-----linjer) i en fil som heter server.crt, i riktig katalog, gitt ovenfor for webserveren din, og sett den til skrivebeskyttet:

# chmod 444 server.crt

Konfigurer webserveren din til å bruke den private nøkkelen og sertifikatet

Hvis du bruker en brannmur, må du aktivere innkommende TCP-trafikk til port 443.

For Apache

Rediger /etc/httpd/conf/httpd.confog fjern kommentarene til disse linjene:

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

Merk at hvis du bruker virtuelle verter, vil endringen ovenfor /etc/httpd/conf/httpd.confbruke det samme sertifikatet på alle verter. For å gi hver vert sitt eget sertifikat for å unngå at nettlesere klager over at sertifikatet ikke samsvarer med domenenavnet, må du redigere hver av konfigurasjonsfilene deres for /etc/httpd/conf/vhosts/å peke på sitt eget sertifikat og private nøkkel:

  • Bytt <VirtualHost *:80>til <VirtualHost *:80 *:443>.
  • VirtualHostLegg til følgende i seksjonen:

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

Start Apache på nytt:

# systemctl restart httpd

For Nginx

Rediger /etc/nginx/nginx.confog nær bunnen, fjern kommentarer fra HTTPS serverdelen og endre linjene til følgende:

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

Merk at hvis du bruker virtuelle verter, vil endringen ovenfor /etc/nginx/nginx.confsende alle verter til det stedet. For å gi hver vert sitt eget sertifikat, må du redigere hver av konfigurasjonsfilene deres for /etc/nginx/sites-enabled/å ha en ekstra serverblokk for å peke til sitt eget sertifikat og private nøkkel:

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

Start Nginx på nytt:

# systemctl restart nginx

Installerer 2019 Arch Linux på en Vultr-server

Installerer 2019 Arch Linux på en Vultr-server

Introduksjon Arch Linux har en mindre, men fortsatt sterk, følge enn mer populære distribusjoner. Filosofien er ganske annerledes, med fordeler en

Installere Arch Linux på en Vultr-server

Installere Arch Linux på en Vultr-server

Vultr gir deg den fantastiske funksjonaliteten til å la deg bruke ditt eget tilpassede bilde i tillegg til deres utmerkede maler, som lar deg kjøre

Bruke Devtools på Arch Linux

Bruke Devtools på Arch Linux

Pakken Devtools ble opprinnelig laget for at Trusted Users skulle lage pakker for de offisielle depotene. Den kan imidlertid brukes av vanlige brukere

Bruker Makepkg på Arch Linux

Bruker Makepkg på Arch Linux

Hvis du bruker makepkg direkte, forurenser det systemet ditt noe. Base-devel-pakkegruppen må være installert. På denne måten er det som standard kun nødvendig med avhengigheter

Slik installerer du PostgreSQL 11.1 på Arch Linux

Slik installerer du PostgreSQL 11.1 på Arch Linux

Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) Sudo-tilgang. Kommandoer som kreves for å kjøres som root er prefikset av #, og én

Hvordan bruke HTTPS på Arch Linux Webserver

Hvordan bruke HTTPS på Arch Linux Webserver

Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) En kjørende webserver, enten Apache eller Nginx Sudo-tilgangskommandoer kreves t

Installer Arch Linux med Btrfs Snapshotting

Installer Arch Linux med Btrfs Snapshotting

Forord Arch Linux er en generell distribusjon kjent for sin banebrytende teknologi og fleksible konfigurasjon. Med Btrfs-øyeblikksbilder kan vi ta

Bygge pakker på Arch Linux (inkludert AUR)

Bygge pakker på Arch Linux (inkludert AUR)

På Arch Linux er de offisielle depotene: kjerne, ekstra og fellesskap. Disse pakkene er allerede kompilert, og de er installert gjennom pacman. For th

Sett opp Spigot Server på Arch Linux

Sett opp Spigot Server på Arch Linux

Denne opplæringen forklarer hvordan du setter opp en Minecraft-server ved å bruke Spigot på Arch Linux. Denne opplæringen forutsetter at du er en vanlig bruker (ikke-root) og har

Slik installerer du Nginx 1.14 på Arch Linux

Slik installerer du Nginx 1.14 på Arch Linux

Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) Sudo-tilgang. Kommandoer som kreves for å kjøres som root, har # foran. Th

Hvordan installere Apache 2.4 på Arch Linux

Hvordan installere Apache 2.4 på Arch Linux

Forutsetninger En Vultr-server som kjører oppdatert Arch Linux. Se denne veiledningen for mer informasjon. Sudo tilgang. Kommandoer som kreves for å kjøres som root ar

Slik installerer du Python 3.7 på en Arch Linux-webserver

Slik installerer du Python 3.7 på en Arch Linux-webserver

Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) En kjørende webserver, enten Apache- eller Nginx Sudo-tilgang: Kommandoer krever

Hvordan installere Perl 5.28 på en Arch Linux Webserver

Hvordan installere Perl 5.28 på en Arch Linux Webserver

Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) En kjørende webserver, enten Apache- eller Nginx Sudo-tilgang: Kommandoer krever

Hvordan installere PHP 7.3 på en Arch Linux Webserver

Hvordan installere PHP 7.3 på en Arch Linux Webserver

Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) En kjørende webserver, enten Apache- eller Nginx Sudo-tilgang. Kommandoer krever

Sett opp Mumble Server på Arch Linux

Sett opp Mumble Server på Arch Linux

Denne opplæringen forklarer hvordan du setter opp en Mumble-server (Murmur) på Arch Linux. Alt som gjøres i denne opplæringen gjøres som root-bruker. Installasjon en

Sett opp en Counter-Strike: Global Offensive (CSGO) Server på Arch Linux

Sett opp en Counter-Strike: Global Offensive (CSGO) Server på Arch Linux

Denne opplæringen forklarer hvordan du setter opp en Counter-Strike: Global Offensive-server på Arch Linux. Denne opplæringen forutsetter at du logget på med standard bruk

Sett opp en Team Fortress 2-server på Arch Linux

Sett opp en Team Fortress 2-server på Arch Linux

Denne opplæringen forklarer hvordan du setter opp en Team Fortress 2-server på Arch Linux. Jeg antar at du er logget inn med en ikke-root brukerkonto som har sudo-tilgang

Hvordan installere MariaDB 10.3 eller MySQL 8.0 på Arch Linux

Hvordan installere MariaDB 10.3 eller MySQL 8.0 på Arch Linux

Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) Sudo-tilgang: Kommandoer som kreves for å kjøres som root er prefikset av #, og en

Hvordan installere MongoDB 4.0 på Arch Linux

Hvordan installere MongoDB 4.0 på Arch Linux

Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen) Sudo-tilgang: Kommandoer som kreves for å kjøres som root er prefikset av #, og en

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer