Devo chiudere la porta 80 per sempre dopo le iniziative di sicurezza Web indicate da Google nel 2018?

45

Spesso stabilisco ambienti Ubuntu- LAMP su cui sono presenti alcuni Drupal applicazioni web di mia proprietà (non fornisco servizi di hosting e mai fatto in passato).

Ogni volta che stabilisco un tale ambiente, le misure di sicurezza più fondamentali che prendo sono queste:

ufw --force enable
ufw allow 22,25,80,443 # All allowed via both TCP/UPD as no restrictions were given;
apt update -y
apt upgrade unattended-upgrades sshguard

Dopo il 2017-2018 W3C / Google (?) Riforme relative al supporto del browser in HTTP, richiedendo o almeno incoraggiando tutti noi a utilizzare TLS crittografia confermata con un certificato SSL per il trasferimento sicuro dei dati HTTP (HTTPS), mi chiedo se HTTP non protetto (tipicamente tramite la porta 80) è ancora rilevante per tutti noi.

Note:

  1. Ciascuna delle mie app Web ha il proprio certificato OpenSSL che creo con Certbot .
  2. L'unica utility web che uso oltre ai siti web è PHPMyAdmin / PHPMiniAdmin.

La mia domanda

Va bene per me rimuovere la porta 80 da ufw allow 22,25,80,443 rendendo così il mio sistema ancora un po 'meno "vulnerabile"?

Aggiornamento per risposte

Le risposte consigliano il reindirizzamento dalla porta 80 alla porta 443 invece di bloccare la porta 80. Penso che Certbot crei questi reindirizzamenti automaticamente, quindi sono coperto se tengo la porta 80 aperta come raccomandato nelle risposte.

    
posta JohnDoea 23.11.2018 - 08:26
fonte

5 risposte

63

Google, il principale motore di ricerca di Internet (che rimpicciolisce sia Bing che Yahoo) e il browser utilizzato dalla maggior parte degli utenti di Internet, ha spinto per un mondo solo HTTPS diminuendo il page rank per i siti che non utilizzano HTTPS e aggiungendo un avviso del browser quando un sito è non sicuro. Tuttavia, il rapporto tra i siti HTTPS e non è ancora troppo basso per consigliare un criterio HTTPS per tutti, perché gli utenti potrebbero ricevere costantemente messaggi "errore certificato" o errori "connessione rifiutata".

Quindi, fino a quando Google non raccomanda un criterio HTTPS per le connessioni del browser, non è probabile che Firefox, Apple o Microsoft raccomandino tali politiche, e questo non è probabile fino a quando una maggioranza decente (forse il 70% o più) dei siti migliori sono abilitati HTTPS, il che sarebbe un enorme aumento da ~ 50% di i migliori siti che hanno HTTPS oggi .

La maggior parte degli utenti che visitano intenzionalmente o accidentalmente il tuo sito HTTP, se accolti con un errore di "connessione rifiutata", probabilmente passeranno a un altro sito. Non ho un buon modo per ottenere numeri concreti qui, ma è probabile che il 70-90% degli utenti di Internet probabilmente non capirebbe che il sito non ha una porta HTTP senza un reindirizzamento automatico; il resto è probabilmente tecnicamente abbastanza competente da capire che hanno bisogno di HTTPS, o usare HTTPS ovunque e non lo noterebbero comunque.

Utilizzare decisamente HSTS, sicuramente reindirizzamento 301 alle risorse HTTPS (il 301 indica un passaggio permanente ai browser, quindi "ricorderanno" questa preferenza), consigliare sicuramente agli utenti di assicurarsi che vedano un lucchetto e verificare il certificato, ecc. Non bloccare la porta 80 a questo punto, dato che Internet non è ancora pronto per questo.

Per quanto ne so, non ci sono siti importanti che hanno disabilitato la porta HTTP e bloccata 80. Se lo fai, infrangeresti le aspettative degli utenti (che il sito ti inoltrerà a un sito sicuro), e dal momento che la maggior parte degli utenti non sapranno cosa fare qui, perché non riceveranno un messaggio di errore amichevole, supporteranno semplicemente che il tuo sito sia rotto e si muova.

    
risposta data 23.11.2018 - 09:39
fonte
60

Non dovresti chiudere la porta 80. Invece, dovresti configurare il tuo server per reindirizzare la porta HTTP 80 alla porta HTTPS 443 per utilizzare TLS. Puoi facoltativamente utilizzare HSTS (HTTP Strict Transport Security) per dire ai browser di ricordare di utilizzare TLS solo quando ci si connette al tuo sito in il futuro.

Non c'è nulla di insicuro sulla porta 80 aperta. I problemi di sicurezza si verificano solo quando il server Web sta servendo le richieste su una connessione non crittografata, specialmente se tali richieste contengono dati sensibili. Avere la porta 80 aperta e non inviare altro che un reindirizzamento HTTP è perfettamente sicuro.

    
risposta data 23.11.2018 - 08:28
fonte
5

In breve: USUALLY, tienilo aperto e utilizzalo per reindirizza tutto a HTTPS .

Ora sulla roba complicata : togliere la porta 80 può fermare i ladri di cookie che passivamente cercano le richieste di http://corp.com/some/forgotten/thing di scarto. La connessione TCP non ha esito positivo, il browser non invia GET e cookie e il cattivo non può leggerli.

A volte questa è una cosa ragionevole da proteggere, specialmente pensando agli ambienti aziendali: le app legacy, HSTS solo parzialmente implementate , cookie che potrebbero non disporre delle restrizioni di flag o path o host protetti , terze parti ospitate o proxy, ...

Ora, dovrebbe tu bloccarlo? Probabilmente no.

Come altri menzionati, sarebbe complica la configurazione di Let's Encrypt e previ reindirizzamenti (inclusi gli utenti che digitano solo your.com nella barra degli indirizzi). Se hai impostato l'HSTS a livello di dominio, la rimozione dei reindirizzamenti potrebbe anche essere considerata controproducente (potresti voler rischiare una una semplice connessione HTTP in modo da proteggere tutti quelli futuri).

Inoltre, si noti che gli attaccanti attivi non verranno fermati (possono rendere la connessione completa artificialmente, gli strumenti proxy MITM potrebbero persino farlo in modo predefinito), ci sono casi d'angolo (semplici proxy HTTP, domini delegati all'esterno del firewall), e potresti considerare l'attacco passivo troppo complicato per il tuo modello.

Infine, dovresti aggiungere porta 80 a un nuovo server? Beh, a meno che tu non abbia già un motivo per aprirlo (vedi sopra), no.

    
risposta data 24.11.2018 - 09:18
fonte
4

Oltre alle altre risposte di foresta e phyrfox, la verifica http-01 di ACME utilizza la porta 80 per raggiungere i tuoi server. Se chiudi la porta, non potrai rinnovare o creare certificati.

    
risposta data 24.11.2018 - 10:24
fonte
0

Dico che è situazionale. Se il tuo sito serve solo API, o è un contenuto di back-end o file server statico, dove è molto improbabile che i tuoi utenti usino digitare l'indirizzo del tuo server per visitare il tuo sito o creare un segnalibro per la pagina (perché l'indirizzo di questo server non è mai appare nella barra degli indirizzi), quindi non c'è probabilmente alcun danno che potrebbe essere causato dalla chiusura della porta 80 per quel server.

Se il tuo sito è un nuovo sito, senza cronologia di persone che utilizzano il tuo sito su HTTP e nessun segnalibro esistente o se il tuo sito non contiene contenuti che è probabile che le persone condividano utilizzando il link, puoi prendere in considerazione la chiusura porta 80.

Per i server che servono la tua home page, probabilmente continuerai a mantenere la porta 80 per ora, perché è molto più probabile che vengano visitati da persone che digitano l'URL nella barra degli indirizzi. Inoltre, se pubblicizzi il tuo indirizzo di pagina nel mondo fisico (ad esempio negli annunci fisici) o nel mezzo in cui le persone non possono facilmente fare clic, potresti voler mantenere la porta 80.

    
risposta data 11.12.2018 - 11:54
fonte

Leggi altre domande sui tag