Testssl.sh - ทดสอบการเข้ารหัส TLS/SSL ได้ทุกที่บนทุกพอร์ต
testssl.sh เป็นเครื่องมือบรรทัดคำสั่งแบบโอเพ่นซอร์สที่ฟรีและมีฟีเจอร์มากมาย ซึ่งใช้สำหรับตรวจสอบบริการที่เปิดใช้งานการเข้ารหัส TLS/SSL สำหรับการเข้ารหัส โปรโตคอล และการเข้ารหัสบางตัวที่รองรับ ข้อบกพร่องบนเซิร์ฟเวอร์ Linux/BSD สามารถทำงานบน macOS X และ Windows โดยใช้ MSYS2 หรือ Cygwin
คุณสมบัติของ Testssl.sh
- ง่ายต่อการติดตั้งและใช้งาน ให้ผลผลิตที่ชัดเจน
- มีความยืดหยุ่นสูง สามารถใช้ตรวจสอบการเปิดใช้งาน SSL/TLS และบริการ STARTTLS ได้
- ดำเนินการตรวจสอบทั่วไปหรือตรวจสอบเดี่ยว
- มาพร้อมกับตัวเลือกบรรทัดคำสั่งมากมายสำหรับการตรวจสอบเดี่ยวประเภทต่างๆ
- รองรับเอาต์พุตประเภทต่างๆ รวมถึงเอาต์พุตแบบสี
- รองรับการตรวจสอบรหัสเซสชัน SSL
- รองรับการตรวจสอบใบรับรองเซิร์ฟเวอร์หลายรายการ
- ให้ความเป็นส่วนตัวสูงสุด มีเพียงคุณเท่านั้นที่เห็นผล ไม่ใช่บุคคลที่สาม
- รองรับการเข้าสู่ระบบ (แบน) รูปแบบ JSON + CSV
- รองรับการทดสอบจำนวนมากในโหมดอนุกรม (ค่าเริ่มต้น) หรือโหมดขนาน
- รองรับการตั้งค่าตัวเลือกบรรทัดคำสั่งล่วงหน้าผ่านตัวแปรสภาพแวดล้อม และอื่นๆ อีกมากมาย
ข้อสำคัญ: คุณควรใช้ bash (ซึ่งมีการติดตั้งไว้ล่วงหน้าใน Linux ส่วนใหญ่) และแนะนำให้ใช้ OpenSSL เวอร์ชันใหม่กว่า (1.1.1) เพื่อการใช้งานอย่างมีประสิทธิภาพ
วิธีการติดตั้งและใช้งาน Testssl.sh ใน Linux
คุณสามารถติดตั้ง testssl sh โดยการโคลนที่เก็บ git นี้ดังที่แสดง
git clone --depth 1 https://github.com/drwetter/testssl.sh.git
cd testssl.sh
หลังจากการโคลน testssl.sh กรณีการใช้งานทั่วไปน่าจะเป็นเพียงการเรียกใช้คำสั่งต่อไปนี้เพื่อทำการทดสอบกับเว็บไซต์
./testssl.sh https://www.google.com/
หากต้องการเรียกใช้การตรวจสอบกับโปรโตคอลที่เปิดใช้งาน STARTTLS: ftp, smtp, pop3, imap, xmpp, telnet, ldap, postgres, mysql ให้ใช้ตัวเลือก -t
./testssl.sh -t smtp https://www.google.com/
ตามค่าเริ่มต้น การทดสอบจำนวนมากทั้งหมดจะดำเนินการในโหมดอนุกรม คุณสามารถเปิดใช้งานการทดสอบแบบขนานได้โดยใช้แฟล็ก --parallel
./testssl.sh --parallel https://www.google.com/
หากคุณไม่ต้องการใช้โปรแกรม openssl ของระบบที่เป็นค่าเริ่มต้น ให้ใช้แฟล็ก –openssl เพื่อระบุทางเลือกอื่น
./testssl.sh --parallel --sneaky --openssl /path/to/your/openssl https://www.google.com/
คุณอาจต้องการเก็บบันทึกเพื่อการวิเคราะห์ในภายหลัง testssl.sh มี --log
(จัดเก็บไฟล์บันทึกในไดเร็กทอรีปัจจุบัน) หรือ --logfile
(ระบุตำแหน่งไฟล์บันทึก) ตัวเลือกสำหรับสิ่งนั้น
./testssl.sh --parallel --sneaky --logging https://www.google.com/
หากต้องการปิดใช้งานการค้นหา DNS ซึ่งสามารถเพิ่มความเร็วในการทดสอบได้ ให้ใช้แฟล็ก -n
./testssl.sh -n --parallel --sneaky --logging https://www.google.com/
รันการตรวจสอบเดี่ยวโดยใช้ testsl.sh
คุณยังสามารถทำการตรวจสอบโปรโตคอล ค่าเริ่มต้นของเซิร์ฟเวอร์ การตั้งค่าเซิร์ฟเวอร์ ส่วนหัว ช่องโหว่ประเภทต่างๆ รวมถึงการทดสอบอื่นๆ อีกมากมายได้ในคราวเดียว มีตัวเลือกมากมายสำหรับสิ่งนี้
ตัวอย่างเช่น ธง -e
ช่วยให้คุณสามารถตรวจสอบรหัสท้องถิ่นแต่ละตัวจากระยะไกลได้ หากคุณต้องการให้การทดสอบเร็วขึ้นมาก ให้ใช้แฟล็ก --fast
; สิ่งนี้จะละเว้นการตรวจสอบบางอย่าง ในกรณีที่คุณใช้ openssl สำหรับการเข้ารหัสทั้งหมด ระบบจะแสดงเฉพาะการเข้ารหัสแรกที่เสนอเท่านั้น
./testssl.sh -e --fast --parallel https://www.google.com/
ตัวเลือก -p
ช่วยให้สามารถทดสอบโปรโตคอล TLS/SSL (รวมถึง SPDY/HTTP2)
./testssl.sh -p --parallel --sneaky https://www.google.com/
คุณสามารถดูตัวเลือกและใบรับรองเริ่มต้นของเซิร์ฟเวอร์ได้โดยใช้ตัวเลือก -S
./testssl.sh -S https://www.google.com/
ถัดไป หากต้องการดูโปรโตคอล+การเข้ารหัสที่เซิร์ฟเวอร์ต้องการ ให้ใช้แฟล็ก -P
./testssl.sh -P https://www.google.com/
ตัวเลือก -U
จะช่วยคุณทดสอบช่องโหว่ทั้งหมด (ถ้ามี)
./testssl.sh -U --sneaky https://www.google.com/
ขออภัย เราไม่สามารถใช้ประโยชน์จากตัวเลือกทั้งหมดได้ที่นี่ ใช้คำสั่งด้านล่างเพื่อดูรายการตัวเลือกทั้งหมด
./testssl.sh --help
ค้นหาข้อมูลเพิ่มเติมได้ที่ testssl.sh พื้นที่เก็บข้อมูล Github: https://github.com/drwetter/testssl.sh
บทสรุป
testssl.sh เป็นเครื่องมือรักษาความปลอดภัยที่มีประโยชน์ซึ่งผู้ดูแลระบบ Linux ทุกคนจำเป็นต้องมีและใช้สำหรับทดสอบบริการที่เปิดใช้งาน TSL/SSL หากคุณมีคำถามหรือความคิดที่จะแบ่งปันให้ใช้แบบฟอร์มแสดงความคิดเห็นด้านล่าง นอกจากนี้คุณยังสามารถแบ่งปันเครื่องมือที่คล้ายกันที่คุณพบเห็นกับเราได้อีกด้วย