Certificati e fiducia
Lezione 40 di 47 del corso Reti da terminale di Coddy.
Durante l'handshake, il server presenta un certificato: un documento che indica per quale host è valido, quando scade e chi ne garantisce l'autenticità.
Chiunque può generarne uno dichiarando che vale per qualsiasi host, quindi ciò che conta è la firma. I certificati sono firmati da un'autorità di certificazione e il tuo computer include un elenco di autorità di cui si fida:
ls -l /etc/ssl/certs/ca-certificates.crtIl tuo client controlla tre cose: che il certificato sia firmato da un'autorità presente in quell'elenco, che non sia scaduto e che il nome riportato corrisponda all'host richiesto. Se anche solo una di queste verifiche fallisce, la connessione viene interrotta.
Ecco perché quell’ultimo controllo spesso fallisce per un servizio interno raggiunto tramite il suo IP, anche con un certificato valido: il certificato è valido per un nome, ma tu hai richiesto un numero.
Sfida
MedioTrova l’elenco delle autorità di cui la tua macchina si fida.
Verifica che il bundle CA esista in /etc/ssl/certs/ca-certificates.crt e stampa ca bundle present se esiste, oppure missing se non esiste.
Output previsto:
ca bundle presentOgni connessione TLS che effettui viene verificata rispetto a questo file.
Provalo tu
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Reti da terminale
5HTTP a mano
Anatomía de una solicitudMétodos de solicitudCódigos de estadoEncabezados de respuestaEscribir una respuestaRepaso: fundamentos de HTTP8HTTPS e TLS
Perché HTTPSLo schema determina la portaCertificati e fiduciaQuando TLS fallisceRiepilogo: HTTPSEsercitati da solo: Playground Terminal