È sicuro avere solo il binding https in IIS?

2

Ho un'API che voglio essere accessibile solo da HTTPS. So che posso utilizzare la riscrittura dell'URL per forzare un reindirizzamento, ma non voglio installare moduli aggiuntivi. Mi chiedevo se fornire solo un binding HTTPS sarebbe una soluzione sicura (in un modo che la connessione HTTP non sarebbe consentita).

È possibile in qualche modo ingannare il server ad accettare la richiesta HTTP con questo tipo di configurazione?

    
posta Ilya Chernomordik 21.07.2016 - 15:14
fonte

3 risposte

6

Non è possibile "ingannare" il server, ma ci sono un paio di avvertimenti qui.

In primo luogo, è ancora possibile configurare un altro sito in IIS con un'associazione che accetti le richieste HTTP, quindi è necessario essere a conoscenza della configurazione di qualsiasi altro sito ospitato su questo server.

In secondo luogo, questa configurazione significa che se le persone tentano di visitare il sito direttamente o in altro modo tramite il protocollo HTTP, otterranno semplicemente un errore. A seconda del caso d'uso, questo potrebbe andar bene, ed è certamente l'opzione meno complessa. Se hai persone che accedono al sito tramite un browser, probabilmente no. Se non lo è, puoi (come già sai) configurare un binding e un reindirizzamento HTTP. Ciò ha il vantaggio aggiuntivo di impedire ad altri siti di associare HTTP a questo nome IP / host, riducendo la probabilità che un secondo sito serva erroneamente il sito su HTTP.

    
risposta data 21.07.2016 - 15:35
fonte
2

No - se non c'è alcun legame http, IIS non accetterà una richiesta HTTP. Su 443, tenterà di negoziare una connessione TLS / SSL (a seconda della configurazione), se non è possibile, la connessione avrà esito negativo.

link

Preventivo pertinente: "Abilitando SSL in Microsoft® Internet Information Services (IIS) 7.5 / 7.0, i [server web] comunicano usando l'autenticazione e la crittografia per tutti i trasferimenti di dati."

Consentire a https di degradarsi a http sarebbe una grave violazione dello standard TLS.

Per inciso, probabilmente vorrete anche considerare quali protocolli supportate - tutti i protocolli SSL e TLS 1.0 sono considerati insicuri a questo punto (TLS 1.1 e 1.2 sono ancora validi). Il collegamento mostra come limitare fino a TLS 1.1 e 1.2. Tuttavia, tieni presente che i browser meno recenti potrebbero non supportare 1.1 e 1.2 (quasi tutto ciò che è rilevante ora supporta 1.0), quindi a seconda del tuo pubblico di destinazione potrebbe essere necessario continuare a supportare TLS 1.0 ancora per un po '.

    
risposta data 21.07.2016 - 15:33
fonte
0

Solo HTTPS è una cattiva idea se il tuo sito ospita informazioni pubbliche, soprattutto se tali informazioni sono generate dinamicamente da un CMS. Rende non attivo il caching Internet ISP e il reverse proxy (come squid / varnish) e ciò può portare a server sovraccarichi e utilizzo della larghezza di banda esorbitante. Se hai un numero limitato di utenti questo non è un grosso problema ma paralizzerà i tuoi server durante i picchi di traffico e porterà a tempi di inattività a meno che tu non abbia un -lot- di risorse di calcolo.

    
risposta data 22.07.2016 - 05:45
fonte

Leggi altre domande sui tag