Hvordan bruke OpenSSL S_Client

Hvordan bruke OpenSSL S_Client
Hvis du er ansvarlig for å opprettholde de TLS-beskyttede applikasjonene, er det nødvendig å vite hvordan du bruker OpenSSL S_Client. Mange servere og webapplikasjoner er avhengige av OpenSSL, et kryptografisk bibliotek, for å tilby dem kryptografisk beskyttelse for å sikre sin kommunikasjon over Internett.

OpenSSL jobber med SSL- og TLS -protokollene. Vi vil dekke de forskjellige måtene hvordan du kan bruke OpenSSL S_Client for å teste og bekrefte SSL -tilkoblingene dine.

OpenSSL S_Client Brukseksempler

OpenSSL -verktøysettet tilbyr mange alternativer som du kan spesifisere for å oppnå forskjellige mål.

1. Test tilkoblingen

For å teste din HTTPS -tjenestetilkobling og se den diagnostiske informasjonen relatert til SSL -tilkoblingen til en gitt server inkludert informasjon som sertifikatkjede, må du bruke -koble flagg.

$ OPENSSL S_CLIENT - Connect [YourDomain].com: 443

Vi bruker port 443, da det er foretrukket for sikker HTTP fremfor TLS/SSL. Kommandoens utgang viser grunnleggende detaljer om tilkoblingen du etablerer med serveren.

For eksempel vil vi bruke Kyle.com som serveren.

2. Skriv ut alle sertifikater

SSL -tjenesten presenterer sertifikatkjeder, og du kan vise dem alle, noe som er nyttig når du trenger å feilsøke sertifikatproblemer som feilordningssertifikater.

$ openssl s_client -connect Kyle.com: 443 -howcerts

Utgangen vil vise de forskjellige sertifikatene som gjenspeiles i følgende bilde:

Du kan inspisere hver av sertifikatene som blir returnert av serveren fra utgangen.

3. Sjekk gyldigheten av sertifikatet

Når du har fått en kjede med sertifikater som er returnert av serveren, kan du teste hvor gyldige de er.

$ openssl s_client -connect Kyle.com: 443 -Brief

For å bekrefte gyldigheten, se etter Bekreftelse, og utdataene skal lese “OK”.

De -kort Flagg hjelper til med å begrense utgangen ved å ekskludere noen ordinære detaljer.

I vårt tilfelle bekrefter vi at sertifikatene våre er gyldige.

4. Sjekk dato for utløp av sertifikat

Ved hjelp av OpenSSL S_Client kan du sjekke utløpsdatoene for nettstedets sertifikat fra kommandolinjen. Her må du kombinere to kommandoer som reflektert nedenfor:

$ openssl s_client -connect Kyle.com: 443 2> /dev /null | OpenSSL X509 -NOOUT -DATES

De -Noout Flaget undertrykker kommandoen fra å vise det kodede sertifikatet.


Utgangen viser området når sertifikatene vil utløpe. Som systemadministrator er slike detaljer viktige som du blir kjent med når du trenger å få et nytt sertifikat.

5. Bekreft SSL -tilkoblingen

For å sjekke statusen til SSL -tilkoblingen til serveren din, bruk -verify_return_error flagg.

$ openssl s_client -verify_return_error -Connect Kyle.com: 443

Hvis forbindelsen er vellykket, vil håndtrykket passere. Men hvis du ser feil, betyr det at SSL -håndtrykk har mislyktes og ingen forbindelse kan etableres.

6. Se fingeravtrykket for SSL -sertifikatet

SSL -sertifikater har et fingeravtrykk. Du kan få fingeravtrykket til et sertifikat som vist i følgende:

$ openssl s_client -connect Kyle.com: 443 2> /dev /null | OpenSSL X509 -NOOUT -FINGERPRINT

7. Spesifiser chifferen

Du kan spesifisere hvilken chiffer eller krypteringstype du vil bruke til sertifikatet ved hjelp av -chiffer flagg. For eksempel kan vi spesifisere for å bruke DHE-PSK-AES128-CBC-SHA. Ved å gjøre det, må klientsiden bruke den spesifiserte chifferpakken for tilkobling.

$ openssl s_client -connect Kyle.com: 443 -cipher dhe-psk-aes128-cbc-sha

Du kan se listen over tilgjengelige chiffer ved å bruke følgende kommando:

$ OPENSSL CIPHERS

Utgangen skal se ut som følgende bilde:

8. Spesifiser SSL/TLS -versjonen og chifferene som skal brukes

S_Client forhandler som standard hvilken protokollversjon for SSL/TL å bruke. Likevel kan du spesifisere hvilke versjoner du vil bruke ved hjelp av et av følgende alternativer:

  1. -SSL2: SSL versjon 2
  2. -SSL3: SSL versjon 3
  3. -tls1: TLS versjon 1.0
  4. -TLS1_1: TLS versjon 1.1
  5. -TLS1_2: TLS versjon 1.2

Før du spesifiserer hvilke chiffer du skal bruke, kan du først sjekke de støttede versjonene. I det følgende eksempel vil vi sjekke TLS1_3 versjoner.

Kommandoen er som følger:

$ openssl Ciphers -s -tls1_3

De støttede chifferne er:

Hvis du vil spesifisere en gitt SSL/TLS -versjon for tilkoblingen, trenger du bare å legge den til når du tester forbindelsen din, som i saken nedenfor:

$ openssl s_client -connect Kyle.com: 443 -tls1_3

Hvis du ikke vil bruke en gitt versjon, prepend a Nei_ til navnet. Et eksempel på deaktivering TLS1_1 ville vært NO_TLS1_1. I et slikt tilfelle vil de andre protokollversjonene bli brukt.

9. Send protokollspesifikk melding

OpenSSL støtter forskjellige protokoller, for eksempel FTP, IRC, SMTP, LDAP, POP3, IMAP, etc. Når du trenger å teste tilkoblingen ved hjelp av en spesifikk protokoll eller spesifisere hvilken protokoll du vil bruke for kommunikasjonen, kan du bruke -starttls flagg.

For eksempel, for å teste HFTP -sertifikatet, bruk følgende kommando:

$ openssl s_client -connect Kyle.com: 443 -starttls ftp -servernavn Kyle.com

10. Kontroller vertsnavnet

For å bekrefte vertsnavnet, bruk -verify_hostname. Hvis vertsnavnet ikke stemmer overens, vil du få en bekreftelsesfeilmelding som den nedenfor:

Hvis det er tilfelle, må du få et sertifikat med en SAN eller CN som samsvarer med domenet ditt.

Konklusjon

OpenSSL -verktøysettet har uendelige alternativer som du kan bruke til å betjene ditt behov. Vi har dekket de vanlige, men hovedsiden er din beste ressurs hvis du trenger å utforske mer. Å lære OpenSSL vil gjøre livet ditt enklere når du arbeider med servere og tilkoblinger for eventuelle systemadministrasjonsoppgaver. Derfor må du gjøre et poeng for å praktisere kommandoen.