Come usare HTTPS su Webserver Arch Linux

Prerequisiti

  • Un server Vultr in esecuzione su Arch Linux aggiornato (vedi questo articolo .)
  • Un server web in esecuzione, Apache o Nginx
  • Accesso al Sudo
    • I comandi che devono essere eseguiti come root hanno il prefisso #e quelli che possono essere eseguiti come utente normale da $. Il modo raccomandato per eseguire i comandi come root è, come utente normale, aggiungere un prefisso a ciascuno di essi sudo.
  • Avere un editor di testo installato e conoscerlo, come vi, vim, nano, emacs o un altro editor simile.

Servizio sicuro tramite HTTPS

La pubblicazione di contenuti tramite HTTPS può utilizzare una crittografia estremamente potente, quindi nessuno può intercettare il traffico tra l'utente e il server Web. Non solo crittografa il traffico stesso, ma anche l'URL a cui si accede, che altrimenti può esporre informazioni. Da qualche tempo, Google ha determinato parzialmente le classifiche di ricerca in base al fatto che una pagina utilizzi HTTPS, come parte dell'iniziativa HTTPS Everywhere.

Nota : una ricerca DNS espone il nome di dominio a cui si è connessi, ma l'intero URL non viene esposto durante tale processo.

Ottieni certificato SSL / TLS

Tecnicamente, TLS ha sostituito SSL per i certificati HTTPS, ma la maggior parte dei posti ha semplicemente continuato a chiamare i certificati TLS con il termine più popolare certificati SSL. Dopo l'uso comune, questa guida farà lo stesso.

Per usare HTTPS, il tuo server web ha bisogno di una chiave privata ( .key) per poterlo usare privatamente e di un certificato ( .crt) per condividere pubblicamente che include una chiave pubblica. Un certificato deve essere firmato. Puoi firmarlo da solo, ma i browser moderni si lamenteranno di non riconoscere il firmatario. Ad esempio, Chrome mostrerà: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Se solo un gruppo privato di persone utilizzerà il sito Web, ciò può essere accettabile, poiché i browser consentiranno di procedere. Ad esempio, su Chrome, fai clic su "Avanzate", quindi "Procedi a ... (non sicuro)"; mostrerà comunque "Non sicuro" e cancellerà "https".

Nota che questo processo ti chiederà il tuo paese, stato / provvidenza, località, organizzazione, unità organizzativa e nomi comuni e il tuo indirizzo e-mail; tutto ciò è accessibile nel browser di chiunque si colleghi al tuo sito tramite HTTPS.

Si noti inoltre che se si stanno fornendo certificati di host virtuali, sarà necessario fornire nomi di file distinti di seguito e puntarli su configurazioni dell'host virtuale.

Passare alla directory corretta per il proprio server Web.

Se hai installato Apache:

$ cd /etc/httpd/conf

Se hai installato Nginx:

$ cd /etc/nginx

Una volta nella directory corretta, genera una chiave privata ( server.key) e un certificato autofirmato ( server.crt):

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

Imposta le autorizzazioni di sola lettura e consenti alla chiave privata solo di essere letta da root:

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

In alternativa, è possibile ottenere un certificato firmato da un'autorità di certificazione attendibile. Puoi pagare varie società (autorità di certificazione) per firmare il tuo certificato. Quando si considerano le autorità di certificazione, può essere importante esaminare quali browser e quali versioni li riconosceranno. Alcune autorità di certificazione più recenti potrebbero non essere riconosciute come più ufficiali di un certificato autofirmato su vecchie versioni del browser.

In genere non è necessario solo un indirizzo IP pubblico, ma anche un nome di dominio. Alcune autorità di certificazione possono emettere un certificato a un indirizzo IP pubblico, ma raramente viene eseguito.

Molti provider offrono una versione di prova gratuita di 30 giorni, che è consigliabile iniziare in modo che tu possa assicurarti che il processo funzioni per te prima di pagare. I prezzi possono variare da pochi dollari all'anno a centinaia, a seconda del tipo e delle opzioni come più domini o sottodomini. Un certificato standard indicherà solo che l'autorità di firma ha verificato che la persona che ottiene il certificato potrebbe apportare modifiche al dominio. Un certificato di convalida estesa indicherà anche che l'autorità di firma ha eseguito la dovuta diligenza per verificare il richiedente e, nei browser moderni, mostrerà una barra verde all'interno o vicino all'URL. Quando si verifica che è possibile apportare modifiche al dominio, alcune autorità firmatarie richiedono di ricevere e-mail a un indirizzo importante dal nome del dominio, ad esempio[email protected]. Molti offrono una verifica alternativa, come darti un file da posizionare sul tuo server, ad esempio inserendo il loro file /srv/http/.well-known/pki-validation/per Apache o /usr/share/nginx/html/.well-known/pki-validation/per Nginx, per le configurazioni della singola directory di hosting; o creando temporaneamente una voce CNAME che ti forniscono nei record DNS del tuo dominio.

L'autorità di firma scelta potrebbe avere passaggi leggermente diversi, ma la maggior parte accetterà la seguente procedura:

Nella directory corretta, genera una chiave privata ( server.key):

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

Imposta la chiave privata su sola lettura, solo per root:

# chmod 400 server.key

Genera una richiesta di firma del certificato ( server.csr). Devi inserire il tuo nome di dominio quando ti viene richiesto Common Namee puoi lasciare vuota la password della sfida:

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

Impostare la richiesta di firma del certificato su sola lettura, solo per root:

# chmod 400 server.csr

Visualizza i contenuti della richiesta di firma del certificato. Queste informazioni sono codificate in base64, quindi appariranno come caratteri casuali:

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

Passa attraverso il processo della tua autorità di firma e, quando ti viene richiesto di incollare il tuo CSR, copia e incolla l'intero file, comprese le -----linee. A seconda dell'autorità di firma che hai scelto e del tipo di certificato, potrebbero immediatamente fornirti il ​​certificato firmato o potrebbero essere diversi giorni. Una volta che ti hanno dato il certificato firmato, copialo (includendo le linee -----BEGIN CERTIFICATE-----e -----END CERTIFICATE-----) in un file chiamato server.crt, nella directory corretta, indicato sopra per il tuo server web, e impostalo in sola lettura:

# chmod 444 server.crt

Configurare il server Web per utilizzare la chiave privata e il certificato

Se si utilizza un firewall, sarà necessario abilitare il traffico TCP in entrata sulla porta 443.

Per Apache

Modifica /etc/httpd/conf/httpd.confe decommenta queste righe:

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

Nota se si utilizzano host virtuali, apportando la modifica sopra /etc/httpd/conf/httpd.confverrà utilizzato lo stesso certificato su tutti gli host. Per assegnare a ciascun host il proprio certificato per evitare che i browser si lamentino del certificato che non corrisponde al nome di dominio, è necessario modificare ciascuno dei propri file di configurazione in modo /etc/httpd/conf/vhosts/che punti al proprio certificato e chiave privata:

  • Cambia <VirtualHost *:80>in <VirtualHost *:80 *:443>.
  • All'interno della VirtualHostsezione, aggiungere quanto segue:

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

Riavvia Apache:

# systemctl restart httpd

Per Nginx

Modifica /etc/nginx/nginx.confe vicino al fondo, decommenta la HTTPS serversezione e cambia le linee come segue:

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

Nota se si utilizzano host virtuali, apportare la modifica sopra a /etc/nginx/nginx.confinvierà tutti gli host in quella posizione. Per assegnare a ciascun host il proprio certificato, è necessario modificare ciascuno dei propri file di configurazione /etc/nginx/sites-enabled/per disporre di un blocco server aggiuntivo che punti al proprio certificato e chiave privata:

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

Riavvia Nginx:

# systemctl restart nginx


Leave a Comment

Come installare Apache 2.4 su Arch Linux

Come installare Apache 2.4 su Arch Linux

Prerequisiti Un server Vultr con Arch Linux aggiornato. Vedi questa guida per maggiori informazioni. Accesso al Sudo. I comandi devono essere eseguiti come root ar

Installa un server Team Fortress 2 su Arch Linux

Installa un server Team Fortress 2 su Arch Linux

Questo tutorial spiega come configurare un server Team Fortress 2 su Arch Linux. Presumo che tu abbia effettuato laccesso con un account utente non root con accesso sudo

Installa Mumble Server su Arch Linux

Installa Mumble Server su Arch Linux

Questo tutorial spiega come configurare un server Mumble (Murmur) su Arch Linux. Tutto ciò che viene fatto in questa esercitazione viene eseguito come utente root. Installazione an

Come installare PostgreSQL 11.1 su Arch Linux

Come installare PostgreSQL 11.1 su Arch Linux

Prerequisiti Un server Vultr con Arch Linux aggiornato (vedere questo articolo.) Accesso Sudo. I comandi che devono essere eseguiti come root sono preceduti da # e uno

Installa Spigot Server su Arch Linux

Installa Spigot Server su Arch Linux

Questo tutorial spiega come configurare un server Minecraft usando Spigot su Arch Linux. Questo tutorial presuppone che tu sia un utente normale (non root) e hav

Creazione di pacchetti su Arch Linux (incluso AUR)

Creazione di pacchetti su Arch Linux (incluso AUR)

Su Arch Linux, i repository ufficiali sono: core, extra e community. Questi pacchetti sono già compilati e sono installati tramite pacman. Per th

Installa un Counter-Strike: Server Global Offensive (CSGO) su Arch Linux

Installa un Counter-Strike: Server Global Offensive (CSGO) su Arch Linux

Questo tutorial spiega come impostare un server Counter-Strike: Global Offensive su Arch Linux. Questo tutorial presuppone che tu abbia effettuato laccesso con un uso standard

Come installare Perl 5.28 su un server web Arch Linux

Come installare Perl 5.28 su un server web Arch Linux

Prerequisiti Un server Vultr con Arch Linux aggiornato (vedere questo articolo.) Un server Web in esecuzione, con accesso Apache o Nginx Sudo: i comandi richiedono

Installazione di Arch Linux su un server Vultr

Installazione di Arch Linux su un server Vultr

Vultr ti offre la straordinaria funzionalità di permetterti di usare la tua immagine personalizzata oltre ai loro eccellenti modelli, che ti consentono di eseguire

Come installare Python 3.7 su un server web Arch Linux

Come installare Python 3.7 su un server web Arch Linux

Prerequisiti Un server Vultr con Arch Linux aggiornato (vedere questo articolo.) Un server Web in esecuzione, con accesso Apache o Nginx Sudo: i comandi richiedono

Installa Arch Linux con Btrfs Snapshotting

Installa Arch Linux con Btrfs Snapshotting

Prefazione Arch Linux è una distribuzione per scopi generici nota per la sua tecnologia allavanguardia e la sua configurazione flessibile. Con le istantanee di Btrfs, possiamo scattare

Installazione di Arch Linux 2019 su un server Vultr

Installazione di Arch Linux 2019 su un server Vultr

Introduzione Arch Linux ha un seguito più piccolo, ma ancora forte, rispetto alle distribuzioni più popolari. La sua filosofia è piuttosto diversa, con vantaggi e

Utilizzo di Devtools su Arch Linux

Utilizzo di Devtools su Arch Linux

Il pacchetto Devtools è stato originariamente creato per utenti fidati per creare correttamente pacchetti per i repository ufficiali. Tuttavia, può essere utilizzato da un normale utente

Utilizzo di Makepkg su Arch Linux

Utilizzo di Makepkg su Arch Linux

Se usi direttamente makepkg, inquina in qualche modo il tuo sistema. Il gruppo di pacchetti base-devel deve essere installato. In questo modo, per impostazione predefinita, sono necessarie solo le dipendenze

Come installare MongoDB 4.0 su Arch Linux

Come installare MongoDB 4.0 su Arch Linux

Prerequisiti Un server Vultr in esecuzione su Arch Linux aggiornato (vedere questo articolo) Accesso Sudo: i comandi che devono essere eseguiti come root sono preceduti da # e uno

Come installare PHP 7.3 su un server web Arch Linux

Come installare PHP 7.3 su un server web Arch Linux

Prerequisiti Un server Vultr in esecuzione su Arch Linux aggiornato (vedere questo articolo.) Un server Web in esecuzione, con accesso Apache o Nginx Sudo. I comandi richiedono

Come installare Nginx 1.14 su Arch Linux

Come installare Nginx 1.14 su Arch Linux

Prerequisiti Un server Vultr con Arch Linux aggiornato (vedere questo articolo.) Accesso Sudo. I comandi che devono essere eseguiti come root sono preceduti da #. th

Come installare MariaDB 10.3 o MySQL 8.0 su Arch Linux

Come installare MariaDB 10.3 o MySQL 8.0 su Arch Linux

Prerequisiti Un server Vultr in esecuzione su Arch Linux aggiornato (vedere questo articolo.) Accesso Sudo: i comandi che devono essere eseguiti come root sono preceduti da # e uno

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.