Come rendere sicuro un sito web con https


87

Devo creare una piccola webapp per un'azienda per mantenere i propri dati aziendali ... Solo quelli all'interno dell'azienda la useranno, ma abbiamo in programma di ospitarla in pubblico dominio, in modo che i dipendenti possano connettersi all'app da varie posizioni . (Fino ad ora ho creato app Web ospitate solo internamente)

Mi chiedo se devo utilizzare una connessione protetta (https) o se è sufficiente solo l'autenticazione dei moduli.

Se dici https, ho alcune domande:

  1. Cosa devo fare per preparare il mio sito Web per https. (Devo modificare il codice / configurazione)
  2. SSL e https sono la stessa cosa ...
  3. Devo fare domanda con qualcuno per ottenere una licenza o qualcosa del genere.
  4. Devo rendere sicure tutte le mie pagine o solo la pagina di accesso ...

Stavo cercando una risposta su Internet, ma non sono riuscito a ottenere tutti questi punti ... Anche qualsiasi white paper o altro riferimento sarebbe stato utile ...

Sentiti libero di chiedere se hai bisogno di maggiori informazioni.

Grazie

  • Raja

Ciao a tutti ... Grazie a tutti ... Tutte le vostre risposte sono state molto utili ... Sarebbe ingiusto selezionare una risposta qui ... (Quindi deve avere una disposizione per tali situazioni). quindi, ho selezionato una risposta e ho votato positivamente le altre ... La risposta selezionata è altrettanto importante delle altre risposte ...
The King

3
Ulteriore lavoro di cautela, a seconda della riservatezza delle informazioni (ad esempio, le informazioni personali possono essere soggette alla legge federale) e del rapporto e del contratto che hai con la società, potresti pensare di essere responsabile se qualcuno hackera il sito.
huynhjl

Una volta installato il certificato sul tuo server, per aggiungere https al tuo sito web in IIS, tutto quello che devi fare è andare sul sito e "Modifica Bindings", scegliere https, e scegliere il certificato.
bgmCoder

Risposte:


49

Cosa devo fare per preparare il mio sito Web per https. (Devo modificare il codice / configurazione)

Dovresti tenere a mente le migliori pratiche per la codifica sicura (ecco una buona introduzione: http://www.owasp.org/index.php/Secure_Coding_Principles ), altrimenti tutto ciò di cui hai bisogno è un certificato SSL impostato correttamente.

SSL e https sono la stessa cosa ...

Più o meno, sì.

Devo fare domanda con qualcuno per ottenere una licenza o qualcosa del genere.

Puoi acquistare un certificato SSL da un'autorità di certificazione o utilizzare un certificato autofirmato. Quelli che puoi acquistare variano enormemente nel prezzo, da $ 10 a centinaia di dollari all'anno. Avresti bisogno di uno di questi se crei un negozio online, ad esempio. I certificati autofirmati sono un'opzione praticabile per un'applicazione interna. Puoi anche usare uno di quelli per lo sviluppo. Ecco un buon tutorial su come configurare un certificato autofirmato per IIS: Abilitazione di SSL su IIS 7.0 utilizzando certificati autofirmati

Devo rendere sicure tutte le mie pagine o solo la pagina di accesso ..

Usa HTTPS per tutto, non solo per l'accesso dell'utente iniziale. Non sarà un sovraccarico eccessivo e significherà che i dati che gli utenti inviano / ricevono dalla tua applicazione ospitata in remoto non possono essere letti da parti esterne se vengono intercettati. Anche Gmail ora attiva HTTPS per impostazione predefinita.


1
Puoi anche ottenere certificati TLS gratuiti, ad esempio da Let's encrypt
1615903

8

Che tipo di dati aziendali ? Segreti commerciali o solo cose che non vogliono che le persone vedano, ma se venissero fuori, non sarebbe un grosso problema? Se parliamo di segreti commerciali, informazioni finanziarie, informazioni sui clienti e cose generalmente riservate. Allora non seguire nemmeno quella strada.

Mi chiedo se devo utilizzare una connessione protetta (https) o se è sufficiente solo l'autenticazione dei moduli.

Usa una connessione sicura fino in fondo.

Devo modificare il codice / Config

Sì. Beh, potrebbe non esserlo. Potresti chiedere a un esperto di farlo per te.

SSL e https sono la stessa cosa ...

Per lo più sì. Le persone di solito si riferiscono a queste cose come alla stessa cosa.

Devo fare domanda con qualcuno per ottenere una licenza o qualcosa del genere.

Probabilmente vorrai far firmare il tuo certificato da un'autorità di certificazione. Costerà a te o al tuo cliente un po 'di soldi.

Devo rendere sicure tutte le mie pagine o solo la pagina di accesso ...

Usa https ovunque. Le prestazioni di solito non sono un problema se il sito è destinato agli utenti interni.

Stavo cercando una risposta su Internet, ma non sono riuscito a ottenere tutti questi punti ... Anche qualsiasi white paper o altro riferimento sarebbe stato utile ...

Inizia qui per alcuni suggerimenti: http://www.owasp.org/index.php/Category:OWASP_Guide_Project

Nota che SSL è un minuscolo strumento per rendere sicuro il tuo sito web una volta che è accessibile da Internet. Non impedisce la maggior parte dei tipi di hacking.


+1 per il valido consiglio su come proteggere completamente e prevenire un disastro chiedendo se le informazioni sono molto riservate e raccomandando di non metterle online
BlueTrin

7

Penso che ti stai confondendo con l'autenticazione del tuo sito e SSL.

Se hai bisogno di portare il tuo sito in SSL, allora dovresti installare un certificato SSL nel tuo server web. Puoi acquistare un certificato per te stesso da uno dei posti come Symantec ecc. Il certificato conterrebbe la tua coppia di chiavi pubblica / privata, insieme ad altre cose.

Non avrai bisogno di fare nulla nel tuo codice sorgente e potrai comunque continuare a utilizzare il tuo Form Authntication (o qualsiasi altro) nel tuo sito. È proprio questo, qualsiasi comunicazione di dati che avviene tra il server Web e il client verrà crittografata e firmata utilizzando il certificato. Le persone userebbero HTTP sicuro (https: //) per accedere al tuo sito.

Visualizza questo per maggiori informazioni -> http://en.wikipedia.org/wiki/Transport_Layer_Security


3

Per i dati aziendali, se i dati sono privati, utilizzerei una connessione protetta, altrimenti è sufficiente un'autenticazione basata su form.

Se decidi di utilizzare una connessione protetta, tieni presente che non ho esperienza con la protezione dei siti Web, sto solo ritrattando ciò che ho incontrato durante la mia esperienza personale. Se mi sbaglio comunque, sentiti libero di correggermi.

Cosa devo fare per preparare il mio sito Web per https. (Devo modificare il codice / configurazione)

Per abilitare SSL (Secure Sockets Layer) per il tuo sito web, dovresti impostare un certificato, il codice o la configurazione non viene alterato.

Ho abilitato SSL per un server web interno, utilizzando OpenSSL e ActivePerl da questo tutorial online . Se viene utilizzato per un pubblico più ampio (il mio pubblico era inferiore a 10 persone) ed è di dominio pubblico, suggerisco di cercare alternative professionali.

SSL e https sono la stessa cosa ...

Non esattamente, ma vanno di pari passo! SSL garantisce che i dati vengano crittografati e decrittografati avanti e indietro durante la visualizzazione del sito Web, httpsè l'URI necessario per accedere al sito Web protetto. Noterai che quando provi ad accedervi http://secure.mydomain.comviene visualizzato un messaggio di errore.

Devo fare domanda con qualcuno per ottenere una licenza o qualcosa del genere.

Non è necessario ottenere una licenza, ma piuttosto un certificato. Puoi esaminare le aziende che offrono servizi professionali con siti Web protetti, come VeriSign come esempio.

Devo rendere sicure tutte le mie pagine o solo la pagina di accesso ...

Una volta che il tuo certificato è abilitato, mydomain.comogni pagina che rientra *.mydomain.comsarà protetta.


1

4.Devo rendere sicure tutte le mie pagine o solo la pagina di accesso ...

Mantieni la pagina di accesso sotto https

questo assicurerà che non ci sia overhead durante la navigazione in altre pagine. la condizione è che tu debba fornire le impostazioni di autenticazione corrette nella configurazione web. Questo per garantire che gli utenti che non hanno effettuato l'accesso non saranno in grado di esplorare le pagine che richiedono l'autenticazione.


3
La pubblicazione di solo una parte del tuo sito con TLS non è sicura. Un utente malintenzionato attivo può utilizzare SSLStrip e avere accesso a pagine presumibilmente protette.
Tobu

1

@balalakshmi ha menzionato le impostazioni di autenticazione corrette. L'autenticazione è solo la metà del problema, l'altra metà è l'autorizzazione.

Se stai utilizzando l'autenticazione basata su moduli e controlli standard come <asp:Login>ci sono un paio di cose che devi fare per assicurarti che solo i tuoi utenti autenticati possano accedere alle pagine protette.

In web.config, sotto la <system.web>sezione dovrai disabilitare l'accesso anonimo per impostazione predefinita:

<authorization>
 <deny users="?" />
</authorization>

Tutte le pagine a cui si accederà in modo anonimo (come la stessa pagina Login.aspx) dovranno avere un override che autorizzi nuovamente l'accesso anonimo. Ciò richiede un <location>elemento e deve essere posizionato a <configuration>livello ( fuori dalla <system.web>sezione), in questo modo:

<!-- Anonymous files -->
<location path="Login.aspx">
 <system.web>
  <authorization>
   <allow users="*" />
  </authorization>
 </system.web>
</location>

Nota che dovrai anche consentire l'accesso anonimo a qualsiasi foglio di stile o script utilizzato dalle pagine anonime:

<!-- Anonymous folders -->
<location path="styles">
 <system.web>
  <authorization>
   <allow users="*" />
  </authorization>
 </system.web>
</location>

Tieni presente che l' pathattributo della posizione è relativo alla web.configcartella e non può avere un ~/prefisso, a differenza della maggior parte degli altri attributi di configurazione del tipo di percorso.


-2

Prova a creare una directory di avvio in PHP, come in

<?PHP
$ip = $_SERVER['REMOTE_ADDR'];
$privacy = ['BOOTSTRAP_CONFIG'];
$shell   = ['BOOTSTRAP_OUTPUT'];
enter code here
if $ip == $privacy {
function $privacy int $ip = "https://";
} endif {
echo $shell
}
?>

Questo è principalmente tutto!


3
Questo in realtà non risponde alla domanda
Andreas
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.