Izveidojiet, pārvaldiet un konvertējiet SSL sertifikātus, izmantojot OpenSSL
Viena no populārākajām SSL komandām, lai izveidotu, konvertētu un pārvaldītu SSL sertifikātus, ir OpenSSL.
Būs daudzas situācijas, kad ar OpenSSL nāksies saskarties dažādos veidos, un šeit es tās uzskaitīju kā parocīgu apkrāptu lapu.
Šajā rakstā es runāšu par bieži izmantotajām OpenSSL komandām, lai palīdzētu jums reālajā pasaulē.
Daži no saīsinājumiem, kas saistīti ar sertifikātiem.
- SSL — drošligzdu slānis
- CSR — sertifikāta parakstīšanas pieprasījums
- TLS — transporta slāņa drošība
- PEM — uzlabots konfidencialitātes pasts
- DER — izcili kodēšanas noteikumi
- SHA — drošs jaukšanas algoritms
- PKCS — publiskās atslēgas kriptogrāfijas standarti
Piezīme: SSL/TLS operāciju kurss būtu noderīgi, ja neesat pazīstams ar noteikumiem.
Izveidojiet jaunu privāto atslēgu un sertifikāta parakstīšanas pieprasījumu
openssl req -out pcdream.lt.csr -newkey rsa:2048 -nodes -keyout pcdream.lt.key
Iepriekš minētā komanda ģenerēs CSR un 2048 bitu RSA atslēgas failu. Ja plānojat izmantot šo sertifikātu Apache vai Nginx, jums ir jānosūta šis CSR fails sertifikātu izsniedzējai iestādei, un tā jums izsniegs parakstītu sertifikātu galvenokārt der vai pem formātā, kas jums jākonfigurē Apache vai Nginx tīmekļa serverī. .
Izveidojiet pašparakstītu sertifikātu
openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout gfselfsigned.key -out gfcert.pem
Iepriekš minētā komanda ģenerēs pašparakstītu sertifikātu un atslēgas failu ar 2048 bitu RSA. Esmu iekļāvis arī sha256, jo tas šobrīd tiek uzskatīts par visdrošāko.
Padoms. Pēc noklusējuma tas ģenerēs pašparakstītu sertifikātu, kas būs derīgs tikai vienu mēnesi, tāpēc varat apsvērt parametra –days definēšanu, lai pagarinātu derīguma termiņu.
Piemēram: pašparaksts ir derīgs divus gadus.
openssl req -x509 -sha256 -nodes -days 730 -newkey rsa:2048 -keyout gfselfsigned.key -out gfcert.pem
Pārbaudiet CSR failu
openssl req -noout -text -in pcdream.lt.csr
Verifikācija ir būtiska, lai nodrošinātu, ka izdevēja iestādei nosūtāt CSR ar nepieciešamo informāciju.
Izveidojiet RSA privāto atslēgu
openssl genrsa -out private.key 2048
Ja jums vienkārši jāģenerē RSA privātā atslēga, varat izmantot iepriekš minēto komandu. Esmu iekļāvis 2048 spēcīgākai šifrēšanai.
Noņemiet ieejas frāzi no atslēgas
openssl rsa -in certkey.key -out nopassphrase.key
Ja atslēgas failā izmantojat ieejas frāzi un izmantojat Apache, ikreiz, kad sākat, jums ir jāievada parole. Ja jūs kaitina paroles ievadīšana, varat izmantot iepriekš minēto openssl rsa -in pcdream.lt.key -check, lai noņemtu ieejas frāzes atslēgu no esošas atslēgas.
Apstipriniet privāto atslēgu
openssl rsa -in certkey.key –check
Ja šaubāties par atslēgas failu, varat izmantot iepriekš minēto komandu, lai pārbaudītu.
Apstipriniet sertifikāta failu
openssl x509 -in certfile.pem -text –noout
Ja vēlaties apstiprināt sertifikāta datus, piemēram, CN, OU utt., varat izmantot iepriekš minēto komandu, kas sniegs informāciju par sertifikātu.
Pārbaudiet sertifikāta parakstītāja iestādi
openssl x509 -in certfile.pem -noout -issuer -issuer_hash
Sertifikātu izsniedzēja iestāde paraksta katru sertifikātu un, ja jums ir nepieciešams tos pārbaudīt.
Pārbaudiet sertifikāta jaucējvērtību
openssl x509 -noout -hash -in bestflare.pem
Konvertējiet DER uz PEM formātu
openssl x509 –inform der –in sslcert.der –out sslcert.pem
Parasti sertifikācijas iestāde jums izsniedz SSL sertifikātu .der formātā, un, ja jums tie jāizmanto apache vai .pem formātā, iepriekš minētā komanda jums palīdzēs.
Konvertējiet PEM uz DER formātu
openssl x509 –outform der –in sslcert.pem –out sslcert.der
Ja nepieciešams mainīt .pem formātu uz .der
Konvertējiet sertifikātu un privāto atslēgu PKCS#12 formātā
openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem
Ja jums ir jāizmanto sertifikāts ar Java lietojumprogrammu vai jebkuru citu, kas pieņem tikai PKCS#12 formātu, varat izmantot iepriekš minēto komandu, kas ģenerēs vienu pfx, kurā ir sertifikāta un atslēgas fails.
Padoms: varat iekļaut arī ķēdes sertifikātu, nododot ķēdi, kā norādīts tālāk.
openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem -chain cacert.pem
Izveidojiet CSR, izmantojot esošu privāto atslēgu
openssl req –out certificate.csr –key existing.key –new
Ja nevēlaties izveidot jaunu privāto atslēgu, nevis izmantot esošu, varat izmantot iepriekš minēto komandu.
Pārbaudiet PKCS12 formāta sertifikāta saturu
openssl pkcs12 –info –nodes –in cert.p12
PKCS12 ir binārs formāts, tāpēc jūs nevarēsit skatīt saturu notepad vai citā redaktorā. Iepriekš minētā komanda palīdzēs jums redzēt PKCS12 faila saturu.
Konvertējiet PKCS12 formātu uz PEM sertifikātu
openssl pkcs12 –in cert.p12 –out cert.pem
Ja vēlaties izmantot esošo pkcs12 formātu ar Apache vai tikai PEM formātā, tas būs noderīgi.
Pārbaudiet konkrēta URL SSL sertifikātu
openssl s_client -connect yoururl.com:443 –showcerts
Es to izmantoju diezgan bieži, lai pārbaudītu konkrēta URL SSL sertifikātu no servera. Tas ir ļoti ērti, lai apstiprinātu protokolu, šifru un sertifikāta informāciju.
Uzziniet OpenSSL versiju
openssl version
Ja esat atbildīgs par OpenSSL drošības nodrošināšanu, iespējams, viena no pirmajām lietām, kas jums jādara, ir versijas pārbaude.
Pārbaudiet PEM faila sertifikāta derīguma termiņu
openssl x509 -noout -in certificate.pem -dates
Noderīgi, ja plānojat veikt uzraudzību, lai pārbaudītu derīgumu. Tas parādīs datumu sintaksē notBefore un notAfter. notAfter ir viens, kas jums būs jāpārbauda, lai apstiprinātu, vai sertifikātam ir beidzies derīguma termiņš vai tas joprojām ir derīgs.
Piemēram:
[[email protected] opt]# openssl x509 -noout -in bestflare.pem -dates notBefore=Jul 4 14:02:45 2015 GMT notAfter=Aug 4 09:46:42 2015 GMT [[email protected] opt]#
Pārbaudiet SSL URL sertifikāta derīguma termiņu
openssl s_client -connect secureurl.com:443 2>/dev/null | openssl x509 -noout –enddate
Vēl viena noderīga iespēja, ja plānojat attālināti uzraudzīt SSL sertifikāta derīguma termiņu vai noteiktu URL.
Piemēram:
[[email protected] opt]# openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate notAfter=Dec 8 00:00:00 2015 GMT
Pārbaudiet, vai vietrādī URL tiek pieņemts SSL V2 vai V3
Lai pārbaudītu SSL V2
openssl s_client -connect secureurl.com:443 -ssl2
Lai pārbaudītu SSL V3
openssl s_client -connect secureurl.com:443 –ssl3
Lai pārbaudītu TLS 1.0
openssl s_client -connect secureurl.com:443 –tls1
Lai pārbaudītu TLS 1.1
openssl s_client -connect secureurl.com:443 –tls1_1
Lai pārbaudītu TLS 1.2
openssl s_client -connect secureurl.com:443 –tls1_2
Ja aizsargājat tīmekļa serveri un jums ir jāpārbauda, vai SSL V2/V3 ir iespējots vai nav, varat izmantot iepriekš minēto komandu. Ja tas ir aktivizēts, jūs saņemsit “CONNECTED”, pretējā gadījumā “rokasspiediena kļūme”.
Pārbaudiet, vai konkrētais šifrs tiek pieņemts vietrādī URL
openssl s_client -cipher 'ECDHE-ECDSA-AES256-SHA' -connect secureurl:443
Ja strādājat pie drošības konstatējumiem un pildspalvas testa rezultāti liecina, ka daži vājie šifri ir pieņemti, varat izmantot iepriekš minēto komandu, lai apstiprinātu.
Protams, jums būs jāmaina šifrs un URL, pret kuriem vēlaties pārbaudīt. Ja minētais šifrs tiks pieņemts, jūs saņemsiet “CONNECTED”, pretējā gadījumā “rokasspiediena kļūme”.
Es ceru, ka iepriekš minētās komandas palīdzēs jums uzzināt vairāk par OpenSSL, lai pārvaldītu jūsu vietnes SSL sertifikātus.