Verifica certificato FTPS

Esamina il certificato TLS di un server FTPS: data di scadenza, emittente, soggetto e se il certificato è autofirmato.

Modalità di cifratura

Errori comuni spiegati

550

SSL/TLS required on the control channel. Stai usando la modalità implicita (porta 990), ma il tuo server usa FTPS esplicito (AUTH TLS sulla porta 21). Imposta la modalità di cifratura su Esplicita / STARTTLS e la porta su 21.

TLS

Handshake TLS non riuscito o connessione rifiutata sulla porta 990. Il tuo server usa FTPS esplicito sulla porta 21, non implicito sulla porta 990. Imposta la modalità su Esplicita / STARTTLS.

534

Request denied for policy reasons. Come per il 550 qui sopra: prova a passare alla modalità esplicita sulla porta 21.

Non sai quale modalità usa il tuo server? Prova la verifica porta FTP per vedere quali porte sono aperte, oppure controlla il pannello di amministrazione del server.

Che cosa controlla questo strumento?

  • Soggetto del certificato: il dominio o il nome host per cui il certificato è stato emesso.
  • Subject Alternative Names: altri nomi host o indirizzi IP coperti dal certificato.
  • Emittente e catena CA: se il certificato è firmato da un'autorità di certificazione attendibile.
  • Data di scadenza: i giorni che mancano alla scadenza del certificato.
  • Algoritmo e dimensione della chiave: il tipo di chiave pubblica (ad es. RSA) e la sua lunghezza in bit.
  • Algoritmo di firma: l'algoritmo di hash usato per firmare il certificato (ad es. sha256RSA).
  • Numero di serie: l'identificativo univoco assegnato dall'autorità di certificazione.
  • Indicatore di autofirma: se il certificato è autofirmato (frequente nelle installazioni FTP private).
  • Thumbprint: l'impronta SHA-1 per il pinning e la verifica manuale.
  • Versione del certificato: la versione X.509 del certificato (la maggior parte dei certificati moderni è v3).

Verificare dalla riga di comando

OpenSSL legge lo stesso certificato. È incluso in Git for Windows (in Git Bash) e nella maggior parte dei sistemi Linux e macOS. Per FTPS esplicito sulla porta 21 e per FTPS implicito sulla porta 990:

openssl s_client -connect ftp.example.com:21 -starttls ftp </dev/null | openssl x509 -noout -subject -issuer -dates
openssl s_client -connect ftp.example.com:990 </dev/null | openssl x509 -noout -subject -issuer -dates

L'output indica a chi è stato emesso il certificato, chi lo ha emesso e il periodo di validità. Aggiungi -fingerprint -sha256 alla parte openssl x509 per avere un'impronta da confrontare.

Un certificato autofirmato non è un difetto di per sé: molti server privati ne usano uno. Quello che conta è verificarne l'impronta una volta con il proprietario del server e che il tuo client ti avvisi quando cambia. FTPie mostra un certificato FTPS la prima volta che lo vede e di nuovo ogni volta che cambia.