สารบัญ:

เสริมความแข็งแกร่งให้กับบริการ SSL บนเว็บเซิร์ฟเวอร์ของคุณ (Apache/ Linux): 3 ขั้นตอน
เสริมความแข็งแกร่งให้กับบริการ SSL บนเว็บเซิร์ฟเวอร์ของคุณ (Apache/ Linux): 3 ขั้นตอน

วีดีโอ: เสริมความแข็งแกร่งให้กับบริการ SSL บนเว็บเซิร์ฟเวอร์ของคุณ (Apache/ Linux): 3 ขั้นตอน

วีดีโอ: เสริมความแข็งแกร่งให้กับบริการ SSL บนเว็บเซิร์ฟเวอร์ของคุณ (Apache/ Linux): 3 ขั้นตอน
วีดีโอ: การสร้าง HTTPS SSL Certificates สำหรับ Server CentOS 7.x ที่ติดตั้งระบบ RMS (2020+) 2024, กันยายน
Anonim
เสริมความแข็งแกร่งให้กับบริการ SSL บนเว็บเซิร์ฟเวอร์ของคุณ (Apache/ Linux)
เสริมความแข็งแกร่งให้กับบริการ SSL บนเว็บเซิร์ฟเวอร์ของคุณ (Apache/ Linux)

นี่เป็นบทช่วยสอนสั้น ๆ ที่เกี่ยวข้องกับความปลอดภัยในโลกไซเบอร์ - จุดแข็งของบริการ ssl บนเว็บเซิร์ฟเวอร์ของคุณ พื้นหลังคือบริการ ssl บนเว็บไซต์ของคุณถูกใช้เพื่อให้แน่ใจว่าไม่มีใครสามารถแฮ็คข้อมูลที่ส่งเข้าและออกจากเว็บไซต์ของคุณได้ มีการเผยแพร่การโจมตีที่ดีในบริการ SSL ที่มีช่องโหว่ เช่น บั๊ก Heartbleed ใน OpenSSL และบั๊ก Poodle ซึ่งใช้ช่องโหว่ของ SSL 3.0 (พื้นที่นี้เป็นเป้าหมายที่เคลื่อนไหว ดังนั้นคุณต้องสร้างการทดสอบ SSL ในรอบ ISO 27001 plan-do-check-act (PDCA) ของคุณ)

เมื่อมีการติดตั้ง SSL บนเว็บไซต์ของคุณโดยใช้ใบรับรองจากผู้ให้บริการที่รู้จัก คุณจะเห็นว่าเว็บไซต์ของคุณสามารถเข้าถึงได้จาก https://yourdomain.com ซึ่งหมายความว่าข้อมูลจะถูกส่งกลับไปและส่งต่อในรูปแบบที่เข้ารหัส ในทางตรงกันข้าม https://yourdomain.com หรือการเข้ารหัสที่อ่อนแอจะเปิดเผยข้อมูลที่ส่งเป็นข้อความที่ชัดเจน ซึ่งหมายความว่าแม้แต่แฮ็กเกอร์ตัวเล็กก็สามารถเข้าถึงข้อมูลรหัสผ่านของคุณ ฯลฯ โดยใช้เครื่องมือที่พร้อมใช้งาน เช่น Wireshark

สำหรับส่วนที่เหลือของบทช่วยสอนนี้ ฉันคิดว่าคุณจะใช้ Apache เป็นเว็บเซิร์ฟเวอร์ของคุณบน Linux และคุณสามารถเข้าถึงเว็บเซิร์ฟเวอร์ของคุณผ่านเทอร์มินัลอีมูเลเตอร์ เช่น ผงสำหรับอุดรู เพื่อความง่าย ฉันจะถือว่า ISP ของคุณให้ใบรับรอง SSL ของคุณ และคุณสามารถกำหนดค่าบางแง่มุมของมันใหม่ได้

ขั้นตอนที่ 1: ทดสอบความแข็งแกร่งของบริการ SSL ของคุณ

การทดสอบความแรงของบริการ SSL ของคุณ
การทดสอบความแรงของบริการ SSL ของคุณ

เพียงไปที่ https://www.ssllabs.com/ssltest/ แล้วป้อนชื่อโดเมนของคุณข้างช่องชื่อโฮสต์ แล้วเลือกช่องทำเครื่องหมาย "ไม่แสดงผลลัพธ์บนกระดาน" แล้วคลิกปุ่มส่ง (โปรดทราบว่าคุณไม่ควรทดสอบโดเมนใดๆ โดยไม่ได้รับอนุญาตล่วงหน้า และไม่ควรแสดงผลบนกระดาน)

หลังจากทำการทดสอบแล้ว คุณจะได้รับคะแนนจาก F ถึง A+ คุณจะได้รับผลการทดสอบโดยละเอียดซึ่งหวังว่าจะแสดงให้เห็นชัดเจนว่าเหตุใดคุณจึงได้รับคะแนนที่กำหนด

สาเหตุปกติของความล้มเหลวนั้นเป็นเพราะคุณใช้ส่วนประกอบที่ล้าสมัย เช่น รหัสหรือโปรโตคอล ฉันจะมุ่งเน้นไปที่การเข้ารหัสในไม่ช้า แต่ก่อนอื่นคำสั้น ๆ เกี่ยวกับโปรโตคอลการเข้ารหัสลับ

โปรโตคอลการเข้ารหัสให้ความปลอดภัยในการสื่อสารผ่านเครือข่ายคอมพิวเตอร์ … การเชื่อมต่อเป็นแบบส่วนตัว (หรือปลอดภัย) เนื่องจากการเข้ารหัสแบบสมมาตรใช้เพื่อเข้ารหัสข้อมูลที่ส่ง สองโปรโตคอลหลักคือ TLS และ SSL อันหลังถูกห้ามใช้งาน และในทางกลับกัน TLS ก็กำลังพัฒนา และในขณะที่ฉันเขียนสิ่งนี้ เวอร์ชันล่าสุดคือ 1.3 แม้ว่าจะอยู่ในรูปแบบร่าง ในทางปฏิบัติ ณ ม.ค. 2018 คุณควรมี TLS v 1.2 เท่านั้น เปิดใช้งาน อาจจะมีการย้ายไปยัง TLV v 1.3 ในช่วงปี 2018 การทดสอบ Qualys จะแสดงรายการโปรโตคอลการเข้ารหัสที่คุณใช้ และปัจจุบันหากคุณใช้ต่ำกว่า TLS v 1.2 คุณจะได้รับคะแนนต่ำ

สิ่งสุดท้ายที่จะพูดเกี่ยวกับโปรโตคอลการเข้ารหัส เมื่อคุณซื้อแพ็คเกจเว็บและใบรับรอง SSL จาก ISP หลัก เช่น GoDaddy มันจะเป็น TLS v 1.2 ซึ่งเป็นสิ่งที่ดี แต่ในทางกลับกัน คุณอาจพบว่าเป็นการยากที่จะอัปเกรดเป็น TLS v 1.3 โดยส่วนตัวแล้ว ฉันติดตั้งใบรับรอง SSL ของตัวเอง ดังนั้นฉันจึงควบคุมชะตากรรมของตัวเองได้

ขั้นตอนที่ 2: กำหนดค่า Apache ใหม่เพื่อทำการเปลี่ยนแปลง SSL

กำหนดค่า Apache ใหม่เพื่อทำการเปลี่ยนแปลง SSL
กำหนดค่า Apache ใหม่เพื่อทำการเปลี่ยนแปลง SSL

ประเด็นสำคัญอย่างหนึ่งที่ได้รับการทดสอบในการทดสอบ Qualys SSL และจุดเน้นของส่วนนี้คือชุดการเข้ารหัส ซึ่งจะกำหนดความแรงของการเข้ารหัสของข้อมูลที่ส่งของคุณ นี่คือตัวอย่างผลลัพธ์จากการทดสอบ Qualys SSL ในโดเมนของฉัน

Cipher Suites # TLS 1.2 (ห้องสวีทในเซิร์ฟเวอร์ที่ต้องการสั่งซื้อ) TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH secp256r1 (EQ. 3072 บิต RSA) FS256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH secp256r1 (EQ. 3072 บิต RSA) FS128TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) ECDH secp256r1 (EQ. 3072 บิต RSA) FS256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) ECDH secp256r1 (เช่น 3072 บิต RSA) FS128

คุณอาจต้องใช้เวลามากในการกำหนดค่าการกำหนดค่า Apache ของคุณใหม่เพื่อลบเส้นสีแดง (ล้มเหลว) ออกจากรายงานการทดสอบ Qualys ของคุณ แต่ฉันแนะนำวิธีการต่อไปนี้เพื่อรับการตั้งค่า Cipher Suite ที่ดีที่สุด

1) เยี่ยมชมเว็บไซต์ Apache และรับคำแนะนำสำหรับ Cipher Suite ที่จะใช้ ในขณะที่เขียน ฉันไปที่ลิงก์นี้ -

2) เพิ่มการตั้งค่าที่แนะนำลงในไฟล์กำหนดค่า Apache ของคุณและรีสตาร์ท Apache นี่คือการตั้งค่าที่แนะนำซึ่งฉันใช้

SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256: -AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256

หมายเหตุ - หนึ่งในความท้าทายคือการค้นหาไฟล์ที่คุณต้องการเปลี่ยนคำสั่ง SSLCipherSuite ในการดำเนินการนี้ ให้เข้าสู่ระบบ Putty และลงชื่อเข้าใช้ไดเรกทอรี etc (sudo cd /etc) ค้นหาไดเร็กทอรี apache เช่น apache2 หรือ http ถัดไป ทำการค้นหาในไดเร็กทอรี apache ดังนี้ grep -r "SSLCipherSuite" /etc/apache2 - สิ่งนี้จะให้ผลลัพธ์ที่คล้ายกับสิ่งนี้:

/etc/apache2/mods-available/ssl.conf:#SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4:!DES/etc/apache2/mods-available/ssl.conf:#SSLCipherSuite HIGH:!aNULL: !MD5:!RC4:!DES /etc/apache2/mods-available/ssl.conf:#SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS

สิ่งสำคัญที่ควรทราบคือไฟล์ /etc/apache2/mods-available/ssl.conf หรืออะไรก็ตามที่เป็นของคุณ เปิดไฟล์โดยใช้ตัวแก้ไขเช่น nano และไปที่ส่วน # SSL Cipher Suite: ถัดไปแทนที่รายการที่มีอยู่ใน directive SSLCipherSuite ด้วยรายการด้านบนจากเว็บไซต์ Apache จำความคิดเห็นออกคำสั่ง SSLCipherSuite ที่เก่ากว่าและรีสตาร์ท Apache - ในกรณีของฉัน ฉันทำสิ่งนี้โดยพิมพ์ sudo /etc/init.d/apache2 restart

โปรดทราบว่าในบางครั้ง คุณอาจต้องลบรหัสลับที่ให้คะแนนการทดสอบ Qualys SSL ต่ำ (เช่น เนื่องจากมีการค้นพบช่องโหว่ใหม่) แม้ว่าคุณจะใช้การตั้งค่า Apache ที่แนะนำแล้วก็ตาม ตัวอย่างคือถ้าบรรทัดต่อไปนี้ปรากฏเป็นสีแดง (ล้มเหลว) ในรายงาน Qualys TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ของคุณ ขั้นตอนแรกคือการค้นหาโค้ดที่คุณต้องเปลี่ยนในคำสั่ง Apache SSLCipherSuite หากต้องการค้นหารหัส ให้ไปที่ https://www.openssl.org/docs/man1.0.2/apps/ciphers… - ซึ่งจะแสดงรหัสดังนี้: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDHE-RSA-AES256-GCM-SHA384

ใช้ ECDHE-RSA-AES256-GCM-SHA384 และลบออกจากรายการที่คุณเพิ่มเป็นคำสั่ง Apache Apache SSLCipherSuite แล้วเพิ่มต่อท้ายด้วย:!

อีกครั้ง ให้รีสตาร์ท Apache แล้วทดสอบอีกครั้ง

ขั้นตอนที่ 3: บทสรุป

ฉันทราบว่าคุณได้เรียนรู้บางอย่างเกี่ยวกับการทดสอบ SSL มีอะไรอีกมากมายให้เรียนรู้เกี่ยวกับเรื่องนี้ แต่หวังว่าฉันจะแนะนำคุณไปในทิศทางที่ถูกต้อง ในบทช่วยสอนครั้งต่อไป ฉันจะพูดถึงส่วนอื่นๆ ของ Cyber Security ดังนั้นโปรดคอยติดตาม

แนะนำ: