Hur man använder HTTPS på Arch Linux Webserver

Förutsättningar

  • En Vultr-server som kör uppdaterad Arch Linux (se den här artikeln .)
  • En webbserver som körs, antingen Apache eller Nginx
  • Sudo tillgång
    • Kommandon som krävs för att köras som root har prefixet #, och de som kan köras som en vanlig användare av $. Det rekommenderade sättet att köra kommandon som root är att, som en vanlig användare, prefixa var och en av dem med sudo.
  • Ha en textredigerare installerad och bekanta dig med den, såsom vi, vim, nano, emacs eller annan liknande editor.

Säker servering via HTTPS

Att visa innehåll via HTTPS kan använda extremt stark kryptering, så ingen som avlyssnar trafik mellan användaren och webbservern kan läsa det. Den krypterar inte bara själva trafiken, utan även URL:en som nås, vilket annars kan exponera information. Under en tid har Google delvis bestämt sökrankningar baserat på om en sida använder HTTPS, som en del av initiativet HTTPS Everywhere.

Obs : en DNS-sökning avslöjar domännamnet som ansluts till, men hela URL:en exponeras inte under den processen.

Skaffa SSL/TLS-certifikat

Tekniskt sett ersatte TLS SSL för HTTPS-certifikat, men de flesta ställen fortsatte helt enkelt att kalla TLS-certifikat med den mer populära termen SSL-certifikat. Efter vanlig användning kommer den här guiden att göra detsamma.

För att använda HTTPS behöver din webbserver en privat nyckel ( .key) för att den ska kunna använda den privat, och ett certifikat ( .crt) för att dela offentligt som inkluderar en offentlig nyckel. Ett certifikat måste undertecknas. Du kan signera det själv, men moderna webbläsare kommer att klaga på att de inte känner igen undertecknaren. Till exempel kommer Chrome att visa: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Om bara en privat grupp människor kommer att använda webbplatsen, kan detta vara acceptabelt, eftersom webbläsare tillåter ett sätt att fortsätta. Till exempel, i Chrome, klicka på "Avancerat" och sedan på "Fortsätt till... (osäkert)"; det kommer fortfarande att visa "Ej säker" och stryka över "https".

Observera att denna process kommer att fråga dig om ditt land, stat/försörjning, ort, organisation, organisationsenhet och vanliga namn samt din e-postadress; allt är tillgängligt i allas webbläsare som ansluter till din webbplats via HTTPS.

Observera också att om du ger certifikat för virtuella värdar måste du ange distinkta filnamn nedan och peka på dem i dina virtuella värdkonfigurationer.

Byt till rätt katalog för din webbserver.

Om du installerade Apache:

$ cd /etc/httpd/conf

Om du installerade Nginx:

$ cd /etc/nginx

Väl i rätt katalog genererar du en privat nyckel ( server.key) och ett självsignerat certifikat ( server.crt):

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

Ställ in skrivskyddade behörigheter och låt endast den privata nyckeln läsas av roten:

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

Alternativt kan du få ett certifikat signerat av en betrodd certifikatutfärdare. Du kan betala olika företag (certifikatmyndigheter) för att signera ditt certifikat åt dig. När man överväger certifikatutfärdare kan det vara viktigt att undersöka vilka webbläsare och vilka versioner som känner igen dem. Vissa nyare certifikatutfärdare kanske inte erkänns som något mer officiellt än ett självsignerat certifikat på gamla webbläsarversioner.

Du behöver vanligtvis inte bara en offentlig IP-adress, utan också ett domännamn. Vissa certifikatutfärdare kan utfärda ett certifikat till en offentlig IP-adress, men det görs sällan.

Många leverantörer erbjuder en gratis 30 dagars provperiod, vilket rekommenderas att börja med så att du kan se till att processen fungerar för dig innan du betalar för den. Priserna kan variera från några få dollar per år till hundratals, beroende på vilken typ det är och alternativ som flera domäner eller underdomäner. Ett standardcertifikat kommer bara att indikera att den undertecknande myndigheten har verifierat att personen som skaffar certifikatet kan göra ändringar på domänen. Ett certifikat för utökad validering kommer också att indikera att den undertecknande myndigheten utförde en viss due diligence-granskning av begäranden och kommer, i moderna webbläsare, att visa en grön stapel i eller nära URL:en. När du verifierar att du kan göra ändringar på domänen kommer vissa signeringsmyndigheter att kräva att du får e-post på en viktig klingande adress vid domännamnet, som t.ex.[email protected]. Många erbjuder alternativ verifiering, som att ge dig en fil att placera på din server, som att placera sin fil i /srv/http/.well-known/pki-validation/för Apache eller /usr/share/nginx/html/.well-known/pki-validation/för Nginx, för enstaka värdkatalogkonfigurationer; eller tillfälligt skapa en CNAME-post som de tillhandahåller dig i din domäns DNS-poster.

Den undertecknande myndighet du väljer kan ha lite olika steg, men de flesta accepterar följande procedur:

Skapa en privat nyckel i rätt katalog ( server.key):

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

Ställ in den privata nyckeln på skrivskyddad, endast med root:

# chmod 400 server.key

Generera en begäran om certifikatsignering ( server.csr). Du måste ange ditt domännamn när det ber dig om Common Name, och du kan lämna utmaningslösenordet tomt:

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

Ställ in begäran om certifikatsignering till skrivskyddad, endast genom rot:

# chmod 400 server.csr

Visa innehållet i begäran om certifikatsignering. Denna information är base64-kodad, så den kommer att se ut som slumpmässiga tecken:

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

Gå igenom din undertecknande myndighets process och när du uppmanas att klistra in din CSR, kopiera och klistra in hela filen inklusive -----raderna. Beroende på vilken undertecknande myndighet du valde och typen av certifikat kan de omedelbart ge dig det undertecknade certifikatet, eller det kan ta ett antal dagar. När de ger dig det signerade certifikatet, kopiera den (inklusive -----BEGIN CERTIFICATE-----och -----END CERTIFICATE-----linjer) i en fil med namnet server.crt, i rätt katalog, som anges ovan för webbservern, och ställ in den på skrivskyddad:

# chmod 444 server.crt

Konfigurera din webbserver för att använda den privata nyckeln och certifikatet

Om du använder en brandvägg måste du aktivera inkommande TCP-trafik till port 443.

För Apache

Redigera /etc/httpd/conf/httpd.confoch avkommentera dessa rader:

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

Observera att om du använder virtuella värdar, genom att göra ovanstående ändring till /etc/httpd/conf/httpd.confkommer samma certifikat att användas på alla värdar. För att ge varje värd ett eget certifikat för att undvika att webbläsare klagar på att certifikatet inte matchar domännamnet, måste du redigera var och en av deras konfigurationsfiler för /etc/httpd/conf/vhosts/att peka på dess eget certifikat och privata nyckel:

  • Ändra <VirtualHost *:80>till <VirtualHost *:80 *:443>.
  • VirtualHostLägg till följande i avsnittet:

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

Starta om Apache:

# systemctl restart httpd

För Nginx

Redigera /etc/nginx/nginx.confoch nära botten, avkommentera ut HTTPS serveravsnittet och ändra raderna till följande:

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

Observera att om du använder virtuella värdar, gör du ovanstående ändring till /etc/nginx/nginx.confatt alla värdar skickas till den platsen. För att ge varje värd ett eget certifikat måste du redigera var och en av deras konfigurationsfiler för /etc/nginx/sites-enabled/att ha ett extra serverblock som pekar på dess eget certifikat och privata nyckel:

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

Starta om Nginx:

# systemctl restart nginx

Installerar 2019 Arch Linux på en Vultr-server

Installerar 2019 Arch Linux på en Vultr-server

Inledning Arch Linux har en mindre, men fortfarande stark, efterföljare än mer populära distributioner. Dess filosofi är helt annorlunda, med fördelar en

Installera Arch Linux på en Vultr-server

Installera Arch Linux på en Vultr-server

Vultr ger dig den fantastiska funktionaliteten att låta dig använda din egen anpassade bild förutom deras utmärkta mallar, vilket gör att du kan köra

Använda Devtools på Arch Linux

Använda Devtools på Arch Linux

Paketet Devtools skapades ursprungligen för betrodda användare för att korrekt skapa paket för de officiella förråden. Det kan dock användas av vanliga användare

Använder Makepkg på Arch Linux

Använder Makepkg på Arch Linux

Om du använder makepkg direkt, förorenar det ditt system något. Bas-devel-paketgruppen måste installeras. På detta sätt, som standard, behövs endast beroenden

Hur man installerar PostgreSQL 11.1 på Arch Linux

Hur man installerar PostgreSQL 11.1 på Arch Linux

Förutsättningar En Vultr-server som kör uppdaterad Arch Linux (se den här artikeln.) Sudo-åtkomst. Kommandon som krävs för att köras som root har prefixet # och ett

Hur man använder HTTPS på Arch Linux Webserver

Hur man använder HTTPS på Arch Linux Webserver

Förutsättningar En Vultr-server som kör uppdaterad Arch Linux (se den här artikeln.) En webbserver som körs, antingen Apache eller Nginx Sudo-åtkomstkommandon krävs t

Installera Arch Linux med Btrfs Snapshotting

Installera Arch Linux med Btrfs Snapshotting

Förord ​​Arch Linux är en allmän distribution välkänd för sin banbrytande teknologi och flexibla konfiguration. Med Btrfs ögonblicksbilder kan vi ta

Bygga paket på Arch Linux (inklusive AUR)

Bygga paket på Arch Linux (inklusive AUR)

På Arch Linux är de officiella förråden: kärna, extra och community. Dessa paket är redan kompilerade och de installeras via pacman. För th

Installera Spigot Server på Arch Linux

Installera Spigot Server på Arch Linux

Denna handledning förklarar hur man ställer in en Minecraft-server med Spigot på Arch Linux. Denna handledning förutsätter att du är en normal användare (inte-root) och hav

Hur man installerar Nginx 1.14 på Arch Linux

Hur man installerar Nginx 1.14 på Arch Linux

Förutsättningar En Vultr-server som kör uppdaterad Arch Linux (se den här artikeln.) Sudo-åtkomst. Kommandon som krävs för att köras som root har # prefix. Th

Hur man installerar Apache 2.4 på Arch Linux

Hur man installerar Apache 2.4 på Arch Linux

Förutsättningar En Vultr-server som kör uppdaterad Arch Linux. Se den här guiden för mer information. Sudo tillgång. Kommandon som krävs för att köras som root ar

Hur man installerar Python 3.7 på en Arch Linux-webbserver

Hur man installerar Python 3.7 på en Arch Linux-webbserver

Förutsättningar En Vultr-server som kör uppdaterad Arch Linux (se den här artikeln.) En webbserver som körs, antingen Apache eller Nginx Sudo-åtkomst: Kommandon kräver

Hur man installerar Perl 5.28 på en Arch Linux-webbserver

Hur man installerar Perl 5.28 på en Arch Linux-webbserver

Förutsättningar En Vultr-server som kör uppdaterad Arch Linux (se den här artikeln.) En webbserver som körs, antingen Apache eller Nginx Sudo-åtkomst: Kommandon kräver

Hur man installerar PHP 7.3 på en Arch Linux-webbserver

Hur man installerar PHP 7.3 på en Arch Linux-webbserver

Förutsättningar En Vultr-server som kör uppdaterad Arch Linux (se den här artikeln.) En webbserver som körs, antingen Apache- eller Nginx Sudo-åtkomst. Kommandon kräver

Installera Mumble Server på Arch Linux

Installera Mumble Server på Arch Linux

Denna handledning förklarar hur man ställer in en Mumble-server (Murmur) på Arch Linux. Allt som görs i denna handledning görs som rotanvändare. Installation en

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

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

Denna handledning förklarar hur man ställer in en Counter-Strike: Global Offensive-server på Arch Linux. Den här handledningen förutsätter att du har loggat in med standardanvändning

Konfigurera en Team Fortress 2-server på Arch Linux

Konfigurera en Team Fortress 2-server på Arch Linux

Denna handledning förklarar hur man ställer in en Team Fortress 2-server på Arch Linux. Jag antar att du är inloggad med ett icke-root användarkonto som har sudo-åtkomst

Hur man installerar MariaDB 10.3 eller MySQL 8.0 på Arch Linux

Hur man installerar MariaDB 10.3 eller MySQL 8.0 på Arch Linux

Förutsättningar En Vultr-server som kör uppdaterad Arch Linux (se den här artikeln.) Sudo-åtkomst: Kommandon som krävs för att köras som root har prefixet #, och en

Hur man installerar MongoDB 4.0 på Arch Linux

Hur man installerar MongoDB 4.0 på Arch Linux

Förutsättningar En Vultr-server som kör uppdaterad Arch Linux (se den här artikeln) Sudo-åtkomst: Kommandon som krävs för att köras som root har prefixet #, och en

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer