234 messaggi dal 08 marzo 2012
Ciao,

dovrei acquistare due certificati SSL x mettere in sicurezza due web application.
Sono tutti uguali?
Sapreste indicarmi dove comprarne di "validi" e sicuri?

Su che prezzi si aggirano?
Inoltre come posso collegarli ad Azure?

Grazie!
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
se non ricordo male esistono vari tipi di certificati.
  • Certificato per singolo nome domino, si comincia a trovare da 60-70 euro;
  • Certificati UCC, in cui puoi includere più nomi a dominio. Costa di più, intorno ai 150 euro, ma comincia ad essere conveniente quando ci inserisci dentro 3-4 domini;
  • Certificati wildcard, che proteggono tutti i terzi livelli e costano intorno ai 300 euro. Per esempio, uno di questi certificati è usato da azurewebsites.net, per proteggere tutti i websites che i clienti creano su Azure (es. nomescelto.azurewebsites.net).


Se le tue applicazioni sono ospitate su due nomi a dominio diversi (es. dominio1.com e dominio2.com oppure app1.dominio.com e app2.dominio.com) penso che ti convenga prendere due certificati per singolo dominio.

Qui trovi una lista di certification authorities da cui puoi procurarti i certificati.
https://wiki.mozilla.org/CA:IncludedCAs
Personalmente ho usato GoDaddy, Comodo e GlobalSign ma non per una ragione particolare. Fai delle ricerche e valuta tu quale ti sembra più idonea al tuo caso, sia per prezzo che per sicurezza offerta. A volte puoi scegliere algoritmo e lunghezza della chiave di cifratura. Inoltre, puoi scegliere di far verificare l'identità della tua organizzazione per ottenere la famosa "barra verde". Qui alcune informazioni.
https://www.globalsign.com/en/ssl-information-center/types-of-ssl-certificate/

evil80 ha scritto:

Inoltre come posso collegarli ad Azure?

Per prima cosa devi assegnare il dominio personalizzato al tuo website Azure. Segui questo articolo di Cristian Civera.
http://www.winfxitalia.com/script/322/Impostare-Dominio-Personalizzato-Windows-Azure-Web-Site.aspx
Poi devi caricare il certificato.
http://www.winfxitalia.com/script/334/Supportare-Protocollo-HTTPS-Web-Site-Windows-Azure.aspx

ciao,
Moreno

Enjoy learning and just keep making
234 messaggi dal 08 marzo 2012
Ciao,

riprendo questa discussione di tempo fa perchè ho un'ulteriore domanda a proposito.

BrightSoul ha scritto:
ciao,
se non ricordo male esistono vari tipi di certificati.
  • Certificato per singolo nome domino, si comincia a trovare da 60-70 euro;
  • Certificati UCC, in cui puoi includere più nomi a dominio. Costa di più, intorno ai 150 euro, ma comincia ad essere conveniente quando ci inserisci dentro 3-4 domini;
  • Certificati wildcard, che proteggono tutti i terzi livelli e costano intorno ai 300 euro. Per esempio, uno di questi certificati è usato da azurewebsites.net, per proteggere tutti i websites che i clienti creano su Azure (es. nomescelto.azurewebsites.net).



Devo esporre dei servizi web ad un'app per un breve periodo di tempo e non mi interessa dunque acquistare un dominio specifico.
Volevo quindi capire se comunque il certificato wildcard di azurewebsites.net può già di per se ritenersi una soluzione valida.
Ovvero se pubblico la mia applicazione web su "mieapi.azurewebsites.net" e ci accedo tramite app all'indirizzo "https://mieapi.azurewebsites.net" posso considerarmi al sicuro tanto quanto acquistare un certificato SSL per un dominio ad-hoc?
Infatti anche se il servizio sarà online per sole 2 settimane i dati che trasmessi devono essere protetti e crittografati.

Come posso inoltre impedire che siano effettuate chiamate su http (quindi senza crittografia)?
Ho provato con questo codice nel Global.asax ma non mi sembra funzionare:

if (HttpContext.Current.Request.IsLocal.Equals(false) && HttpContext.Current.Request.IsSecureConnection.Equals(false))
            {
                Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] + HttpContext.Current.Request.RawUrl);
            }


Grazie mille!
Modificato da evil80 il 05 settembre 2016 15.53 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


Volevo quindi capire se comunque il certificato wildcard di azurewebsites.net può già di per se ritenersi una soluzione valida.

Certamente, è un certificato con chiave di 2048 bit. E' affidabile.


Come posso inoltre impedire che siano effettuate chiamate su http (quindi senza crittografia)?

Dovresti creare una regola di URL Rewriting che blocca le richieste quando si sta usando una connessione non sicura. Ecco un esempio (questo è codice che va nel nodo <system.webServer> del file web.config):
    <rewrite>
    <rules>
        <rule name="RequestBlockingRule1" patternSyntax="Wildcard" stopProcessing="true">
            <match url="*" />
            <conditions>
                <add input="{HTTPS}" pattern="OFF" />
            </conditions>
            <action type="AbortRequest" />
        </rule>
    </rules>
    </rewrite>


Ecco un esempio di API che sfrutta quella regola. Se visiti questo, vedrai che la richiesta viene bloccata.
http://webapplication5020160905080005.azurewebsites.net/api/values
Il client non ha altro modo di consumare la API se non inziare ad usare Https. A quel punto funziona:
https://webapplication5020160905080005.azurewebsites.net/api/values
Come esempio non ti ho portato quello di una regola di URL Rewriting che riscrive HTTP in HTTPS perché tu hai detto esplicitamente di voler bloccare le richieste ad HTTP.

In realtà, la maniera più pragmatica consisterebbe nel disabilitare l'endpoint HTTP (ovvero la porta 80). Infatti, se il client non riesce proprio a stabilire una connessione sulla porta 80, non riuscirà neanche ad inviare dati su una connessione non sicura. Puoi votare questa idea qui:
https://feedback.azure.com/forums/169385-web-apps-formerly-websites/suggestions/6868536-provide-require-ssl-setting-for-azure-websites


Devo esporre dei servizi web ad un'app per un breve periodo di tempo

Se lo stai realizzando con Web API, allora leggi questo articolo:
https://azure.microsoft.com/en-us/documentation/articles/app-service-api-dotnet-get-started/

In pratica ti consiglia di usare il template "Azure API App" che trovi quando crei una nuova applicazione ASP.NET.

ciao,
Moreno
Modificato da BrightSoul il 05 settembre 2016 20.32 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.