How to Create A Self-Signed Certificate with RSA Keys 2048 bits, SHA256 Signature hash algorithm, and valid CN name on MS SQL server

บทนำ (Overview)

วิธีการสร้าง Certificate แบบ Sef-signed ให้มีความแข็งแรง บน Port ของ MS SQL server สามารถติดตามบทความรูปแบบ PDF  

ขั้นตอน (Steps)

  1. ทดสอบบน Windows 2008 r2 และ MS SQL Server 2008 R2
  2. จากโปแกรม Scan ช่องโหว่ พบช่องโหว่ดังต่อไปนี้
    • SSL Certificate Signed Using Weak Hashing Algorithm
    • SSL Certificate With Wrong Hostname
    • SSL Certificate Chain Contain RSA Keys Less Than 2048 bits

สามารถสร้าง Self-signed Certificate ได้จากบทความ

จากตัวอย่างตั้งค่า Certificate ให้ปลอดภัยดังนี้

  1. ตั้งค่า CN ให้ตรงกับชื่อ Host
  2. สำหรับการสร้าง Certificate
    • สำหรับแก้ช่องโหว่ ให้สามารถ signed ได้ด้วย Sha256 สามารถไปได้ที่ Tab Private Key/Select Hash Algorithm /Hash Algorithm/sha256 (มี hash อย่างอื่นให้เลือกด้วย เช่น MD2, MD4, MD5, หรือ SHA1 )
    • สำหรับแก้ช่องโหว่ สร้าง Certificate ให้ Private key มีขนาด size (2048 bits) สามารถแก้ไขได้ดังนี้ Tab Private Key/Key options/Key size/2048 แล้วทำเครื่องหมายถึงที่ Make private key exportable

**Copy  Certificate จาก Enrollment ไปที่ Personal และ Trusted Root Certification Authorities**

  1. เข้าไปที่ Certificate Enrollment Requests และ certificates จะพบ Certificate ใหม่ที่สร้างขึ้นมา
  2. คลิกขวาที่ Certificats สร้างใหม่จากนั้น Copy ไปวางไว้ที่ Certificates (Local Computer) ไปที่  Personal  คลิกขวา Certificates
  3. และนำไปวางที่ Certificates ของ Trusted Root Certification Authorities ด้วย


**สำหรับ MS SQL server ต้องทำเพิ่มเติมแตกต่าง IIS เล็กน้อย ดังนี้ Set Thumbprint

  1. Click ขวา cert ที่เราสร้างขึ้น (Trusted Root Certification Authority) จากนั้นไปที่แท็ป Details และ Click เลือกหัวข้อ Thumbprint ให้ Copy ค่า เก็บไว้
  2. จากนั้นแก้ไขค่าที่ Copy ให้ลบช่องว่างออกไปให้หมด
  3. คลิก  StartRun, พิมพ์ regedit, และคลิก OK
  4. ให้ไปที่
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib\Certificate
    

  5. นำค่าที่เราแก้ไขแล้วไปใส่ใน Certificate
  6. Restart. เครื่อง
  7. ทำการเปิด Service MSSQL server **ถ้าไม่สามารถเปิด Service ได้ให้ copy ค่า Thumbprint (ลองตรวจสอบว่าค่าใน Notepad กับใน Thumbprint ตรงกัน) และเอาไปใส่ใน Registry อีกครั้ง แล้วลอง Start MSSQL server ใหม่***
  8. ทดสอบเชื่อมต่อฐานข้อมูล
  9. และทดสอบ Scan อีกครั้งจะพบว่า ช่องโหว่หายไปดังนี้

อ้างอิง (References)

ใส่ความเห็น