Hướng dẫn kiểm tra ngày hết hạn chứng chỉ TLS / SSL từ dòng lệnh

Hướng dẫn kiểm tra ngày hết hạn chứng chỉ TLS / SSL từ dòng lệnh
How To
22:08, 23 October 2020
2 256
0

Cách kiểm tra ngày hết hạn chứng chỉ TLS / SSL từ dòng lệnh

Để kiểm tra ngày hết hạn chứng chỉ SSL, chúng tôi sẽ sử dụng máy khách dòng lệnh OpenSSL. Ứng dụng khách OpenSSL cung cấp rất nhiều dữ liệu, bao gồm ngày hiệu lực, ngày hết hạn, ai đã cấp chứng chỉ TLS / SSL, v.v.

Kiểm tra ngày hết hạn của chứng chỉ SSL hoặc TLS

Mở ứng dụng Terminal rồi chạy lệnh sau:

$ openssl s_client -servername {SERVER_NAME} -connect {SERVER_NAME}:{PORT} | openssl x509 -noout -dates
$ echo | openssl s_client -servername {SERVER_NAME} -connect {SERVER_NAME}:{PORT} | openssl x509 -noout -dates
Hãy để chúng tôi tìm hiểu ngày hết hạn cho www.nixcraft.com, đi vào:
DOM="www.nixcraft.com"
PORT="443"
openssl s_client -servername $DOM -connect $DOM:$PORT 
| openssl x509 -noout -dates

Kết quả đầu ra mẫu cho biết ngày tháng và các thông tin khác:

depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = www.nixcraft.com
verify return:1
notBefore=Sep 29 23:10:07 2020 GMT
notAfter=Dec 28 23:10:07 2020 GMT
Thêm lệnh echo để tránh nhấn CTRL + C. Ví dụ:
DOM="www.cyberciti.biz"
PORT="443"
## note echo added ##
echo | openssl s_client -servername $DOM -connect $DOM:$PORT 
| openssl x509 -noout -dates

OpenSSL đang hoạt động: Kiểm tra ngày và giờ hết hạn chứng chỉ TLS / SSL

Hiểu các tùy chọn lệnh openssl

Openssl là một công cụ chẩn đoán rất hữu ích cho các máy chủ TLS và SSL. Các tùy chọn dòng lệnh openssl như sau:

s_client : Lệnh s_client triển khai một máy khách SSL / TLS chung kết nối với máy chủ từ xa bằng SSL / TLS.

-servername $DOM : Đặt phần mở rộng TLS SNI (Chỉ báo tên máy chủ) trong thông báo ClientHello thành giá trị đã cho.

-connect $DOM:$PORT : Điều này chỉ định máy chủ ($DOM) và cổng tùy chọn ($PORT) để kết nối với.

x509 : Chạy tiện ích hiển thị và ký chứng chỉ.

-noout : Ngăn đầu ra của phiên bản được mã hóa của chứng chỉ.

-dates : In ra ngày bắt đầu và ngày hết hạn của chứng chỉ TLS hoặc SSL.

Tìm ngày hết hạn chứng chỉ SSL từ tệp chứng chỉ được mã hóa PEM

Cú pháp như sau truy vấn tệp chứng chỉ về thời điểm chứng chỉ TLS / SSL sẽ hết hạn

$ openssl x509 -enddate -noout -in {/path/to/my/my.pem}
$ openssl x509 -enddate -noout -in /etc/nginx/ssl/www.cyberciti.biz.fullchain.cer.ecc
$ openssl x509 -enddate -noout -in /etc/nginx/ssl/www.nixcraft.com.fullchain.cer
notAfter=Dec 29 23:48:42 2020 GMT
Chúng tôi cũng có thể kiểm tra xem chứng chỉ có hết hạn trong khung thời gian nhất định hay không. Ví dụ: tìm hiểu xem chứng chỉ TLS / SSL có hết hạn trong vòng 7 ngày tới (604800 giây) hay không:
$ openssl x509 -enddate -noout -in my.pem -checkend 604800
# Check if the TLS/SSL cert will expire in next 4 months #
openssl x509 -enddate -noout -in my.pem -checkend 10520000 

Tìm hiểu xem chứng chỉ TLS / SSL đã hết hạn hay sẽ hết hạn trong vòng N ngày tới chỉ trong vài giây.

Tập lệnh Shell để xác định ngày hết hạn chứng chỉ SSL từ chính tệp crt và cảnh báo sysadmin

Đây là một tập lệnh shell mẫu:

#!/bin/bash
# Purpose: Alert sysadmin/developer about the TLS/SSL cert expiry date in advance
# Author: Vivek Gite {https://www.cyberciti.biz/} under GPL v2.x+
# -------------------------------------------------------------------------------
PEM="/etc/nginx/ssl/letsencrypt/cyberciti.biz/cyberciti.biz.fullchain.cer"
 
# 7 days in seconds 
DAYS="604800" 
 
# Email settings 
_sub="$PEM will expire within $DAYS (7 days)."
_from="[email protected]"
_to="[email protected]"
_openssl="/usr/bin/openssl"
$_openssl x509 -enddate -noout -in "$PEM"  -checkend "$DAYS" | grep -q 'Certificate will expire'
 
# Send email and push message to my mobile
if [ $? -eq 0 ]
then
    echo "${_sub}"
        mail -s "$_sub" -r "$_from" "$_to" <<< "Warning: The TLS/SSL certificate ($PEM) will expire soon on $HOSTNAME [$(date)]"
        # See https://www.cyberciti.biz/mobile-devices/android/how-to-push-send-message-to-ios-and-android-from-linux-cli/ #
        source ~/bin/cli_app.sh
        push_to_mobile "$0" "$_sub. See $_to email for detailed log. -- $HOSTNAME " >/dev/null
#!/bin/bash
# Purpose: Alert sysadmin/developer about the TLS/SSL cert expiry date in advance
# Author: Vivek Gite {https://www.cyberciti.biz/} under GPL v2.x+
# -------------------------------------------------------------------------------
PEM="/etc/nginx/ssl/letsencrypt/cyberciti.biz/cyberciti.biz.fullchain.cer"
 
# 7 days in seconds 
DAYS="604800" 
 
# Email settings 
_sub="$PEM will expire within $DAYS (7 days)."
_from="[email protected]"
_to="[email protected]"
_openssl="/usr/bin/openssl"
$_openssl x509 -enddate -noout -in "$PEM"  -checkend "$DAYS" | grep -q 'Certificate will expire'
 
# Send email and push message to my mobile
if [ $? -eq 0 ]
then
    echo "${_sub}"
        mail -s "$_sub" -r "$_from" "$_to" <<< "Warning: The TLS/SSL certificate ($PEM) will expire soon on $HOSTNAME [$(date)]"
        # See https://www.cyberciti.biz/mobile-devices/android/how-to-push-send-message-to-ios-and-android-from-linux-cli/ #
        source ~/bin/cli_app.sh
        push_to_mobile "$0" "$_sub. See $_to email for detailed log. -- $HOSTNAME " >/dev/null
fi
Xem cách gửi thông báo đẩy tới điện thoại của bạn từ tập lệnh. Tất nhiên, bạn cần một máy chủ SMTP hoạt động để định tuyến email. Tại nơi làm việc, chúng tôi đã định cấu hình AWS SES với Postfix MTA để định tuyến tất cả các email cảnh báo.

Nói xin chào với tập lệnh testssl và ssl-cert-check

Chúng ta có thể sử dụng trình bao testssl kịch bản, là một công cụ dòng lệnh miễn phí kiểm tra dịch vụ của máy chủ trên bất kỳ cổng nào để hỗ trợ mật mã TLS / SSL, giao thức cũng như các lỗ hổng mật mã gần đây và hơn thế nữa. Tải xuống và chạy nó như sau:

$ wget https://testssl.sh/testssl.sh
$ chmod +x testssl.sh
$ testssl.sh --fast --parallel https://www.cyberciti.biz/
Một tùy chọn khác là chạy ssl-cert-check kịch bản, là một tập lệnh shell Bourne có thể được sử dụng để báo cáo về các chứng chỉ SSL sắp hết hạn. Tập lệnh được thiết kế để chạy từ cron và có thể cảnh báo qua e-mail hoặc cảnh báo nhật ký thông qua nagios.

Phần kết luận

Trong hướng dẫn nhanh này, bạn đã học cách tìm ngày hết hạn chứng chỉ TLS / SSL từ tệp chứng chỉ được mã hóa PEM, bao gồm tên DNS thực. Chứng chỉ TLS / SSL hết hạn có thể gây ra thời gian chết và nhầm lẫn cho người dùng cuối. Do đó, điều quan trọng là phải theo dõi ngày hết hạn của chứng chỉ TLS / SSL của chúng tôi. Xem các trang người đàn ông sau:

$ man x509
$ man s_client
 Ctrl 
Enter
Noticed a bug
Highlight text and press Ctrl+Enter
Comments (0)
Top in category
Guide Mod BIOS Mainboard ASUS H110M-K/D/CS/E/E.M2, B150M-K, H270-PLUS, Z170-PRO,.. running Intel CoffeeLake CPU Guide Mod BIOS Mainboard ASUS H110M-K/D/CS/E/E.M2, B150M-K, H270-PLUS, Z170-PRO,.. running Intel CoffeeLake CPU
The processors that are tested with stable operation include: i3-9100F, i3-8350K, i3-8300, i3-8100T, G4900T, G5500T, G4900, G4920, G5500 and G5400T..
10-03-2020, 18:47
143 792
5
Request your Mod BIOS Mainboard SkyLake, KabyLake running Intel CoffeeLake CPU Request your Mod BIOS Mainboard SkyLake, KabyLake running Intel CoffeeLake CPU
Please view this article to know how to update Mod BIOS for yoru mainboard before request your bios mainboard. Your Mod BIOS will be upload and post here as..
01-03-2020, 11:07
31 909
2
Site UG Viet Nam Open Reg Nick - Sell Nick Diễn Đàn UG Viet Nam 2021 Site UG Viet Nam Open Reg Nick - Sell Nick Diễn Đàn UG Viet Nam 2021
Có 1 cách kiếm tiền Online vô cùng lợi hại, ko phải gõ capcha, ko phải ptc mà cũng ko cần làm offer... Đó chính là UG, vậy UG là gì !? Vì sao nó lợi hại!?..
01-03-2020, 10:28
21 676
0
Hướng dẫn xóa 100% Vietnamese Keyboard trong máy tính Windows 10 Hướng dẫn xóa 100% Vietnamese Keyboard trong máy tính Windows 10
Trong bài viết này, mình sẽ hướng dẫn các bạn cách xóa Vietnamese Keyboard Win 10 khi không sử dụng đến và loại bỏ những rắc rối của nó. Ngoài ra, mình cũng sẽ..
11-10-2020, 20:15
5 137
0
Hướng dẫn cài đặt Microsoft Store cho Windows 10 Enterprise Hướng dẫn cài đặt Microsoft Store cho Windows 10 Enterprise
Windows 10 Enterprise LTSB 2016 / LTSC 2019 mặc định sẽ không có Store và các ứng dụng đi kèm bởi vì phiên bản này phục vụ cho doanh nghiệp. Bài viết này mình..
04-12-2020, 16:11
5 136
0
Hướng dẫn cách lấy mũi taro bị gãy khi đang gia công Hướng dẫn cách lấy mũi taro bị gãy khi đang gia công
Ngành cơ khí ngày càng được nhà nước quan tâm, hàng năm số doanh nghiệp được thành lập trong ngành cơ khí lên tới hàng chục nghìn. Với một thị trường rộng lớn..
24-03-2021, 13:45
5 034
0
Hướng dẫn cách cài đặt mới Windows 10 bằng USB Hướng dẫn cách cài đặt mới Windows 10 bằng USB
Trong bài viết này, mình muốn chia sẻ đến các bạn cách cài đặt Windows 10 từ USB đầy đủ nhất, đây là cách khá phổ biến mà bạn nên biết bởi nó sẽ giúp bạn tiết..
03-12-2020, 20:05
4 942
0
Hướng Dẫn Cài Đặt Phần Mềm Repack Hướng Dẫn Cài Đặt Phần Mềm Repack
Repack là dạng phần mềm được đóng gói lại với crack sẵn do các cracker đến từ Nga thực hiện. Người dùng chỉ cần tải xuống cài đặt và sử dụng bình thường với..
21-08-2021, 18:05
4 907
0