11 กันยายน 2566 นักเขียนนิรนาม
วิธีปรับปรุงความปลอดภัยของ API ใน ASP.NET CORE

ใช้ประโยชน์จากการรับรองความถูกต้องและการอนุญาต คีย์ API, การจำกัดอัตรา, CORS, การกำหนดเวอร์ชัน API และแนวทางปฏิบัติที่แนะนำอื่นๆ เพื่อสร้าง API ที่ปลอดภัยและแข็งแกร่งใน ASP.NET Core

 

เนื่องจาก API ของเราจัดการข้อมูลส่วนตัวและข้อมูลที่ละเอียดอ่อน จึงจำเป็นอย่างยิ่งที่เราจะต้องนำกลยุทธ์ที่ได้รับการพิสูจน์แล้ว มาใช้เพื่อรักษาความปลอดภัยให้กับข้อมูลเหล่านั้น

 

ซึ่งในบทความนี้เราจะพูดถึงหลายวิธีที่นักพัฒนาสามารถปรับปรุงความปลอดภัยของ API ได้ 

 

สร้างโปรเจกต์ ASP.NET Core Web API ใน Visual Studio 2022

ก่อนอื่นเรามาสร้างโปรเจกต์ ASP.NET Core 7 Web API ใน Visual Studio 2022 ได้ตามขั้นตอนด้านล่าง

  1. เปิดตัว Visual Studio 2022 IDE

  2. คลิกที่ “Create new project.”

  3. ในหน้าต่าง “Create new project” เลือก “ASP.NET Core Web API” จากรายการเทมเพลตที่แสดง

  4. คลิก Next.

  5. ในหน้าต่าง “Configure your new project” ให้ระบุชื่อและที่ตั้งสำหรับโปรเจกต์ใหม่

  6. เลือกช่องทำเครื่องหมาย “Place solution and project in the same directory” แต่...ขึ้นอยู่กับความต้องการของเรา

  7. คลิก Next.

  8. ในหน้าต่าง “Additional Information” ที่แสดงถัดไปให้ทำเครื่องหมายในช่อง “Use controllers (uncheck to use minimal APIs)” เราจะไม่ใช้ API ขั้นต่ำในโปรเจกต์นี้

  9. ที่อื่นๆ ในหน้าต่าง “Additional Information” ปล่อยให้ “Authentication Type” ตั้งค่าเป็น “None” (ค่าเริ่มต้น) และตรวจสอบให้แน่ใจว่ากล่องกาเครื่องหมาย “Enable Open API Support,” “Configure for HTTPS,” และ “Enable Docker” ยังคงไม่ถูกเลือก เราจะไม่ใช้คุณสมบัติใดๆ เหล่านั้นที่นี่

  10. คลิก Create.

 

ความปลอดภัยของ API คืออะไร ทำไมถึงสำคัญ 

Application Programming Interface (API) เป็นกลไกที่ส่วนประกอบซอฟต์แวร์โต้ตอบหรือแลกเปลี่ยนข้อมูลกับส่วนประกอบอื่นๆ ซึ่ง API ใช้เพื่อเชื่อมต่อ clients มือถือและเว็บกับแบ็กเอนด์ของแอปพลิเคชันจำนวนมาก 

 

และเพื่อส่งข้อมูลระหว่างเซิร์ฟเวอร์และ clients ผ่านเครือข่ายสาธารณะ ด้วยเหตุนี้ API จึงมักกลายเป็นเป้าหมายของแฮกเกอร์นั่นเอง 

 

อีกทั้ง ประโยชน์จากการรักษาความปลอดภัยของ API ยังขัดขวางการแทรก SQL, การเขียนสคริปต์ข้ามไซต์ (XSS) และการโจมตีอื่นๆ อีกด้วย

 

ใช้การรับรองความถูกต้องและการอนุญาต

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

 

ใช้การรับรองความถูกต้องตาม Token

Token ที่ไม่ซ้ำกันจะถูกสร้างขึ้นสำหรับผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์แต่ละราย กล่าวคือ “token จะถูกสร้างขึ้นเมื่อข้อมูลระบุตัวตนของผู้ใช้ได้รับการตรวจสอบแล้ว ซึ่งโดยปกติแล้วเราใช้ JWT token สำหรับการตรวจสอบสิทธิ์โดยใช้ token สำหรับคำขอที่ส่งไปยัง API ในภายหลังทั้งหมด token จะถูกส่งไปพร้อมกับคำขอ โดยควรอยู่ในส่วนหัวของคำขอ”

 

ใช้คีย์ API

เรายังสามารถใช้คีย์ API เพื่อตรวจสอบสิทธิ์ผู้ใช้ในแอปพลิเคชันได้ สำหรับคีย์ API คือ ตัวระบุเฉพาะที่ถูกส่งไปในส่วนหัวของคำขอในการเรียก API แต่ละครั้ง

 

ใช้การจำกัดอัตรา

เราสามารถใช้ประโยชน์จากการจำกัดอัตราเพื่อปกป้อง API ของเราจากการโจมตีแบบ brute-force โดยการจำกัดอัตราเป็นเทคนิคที่ช่วยให้เราจำกัดจำนวนการเรียกไปยังตำแหน่งข้อมูล API ภายในกรอบเวลาที่กำหนด โดยเราสามารถใช้มิดเดิลแวร์จำกัดอัตรา ASP.NET Core เพื่อใช้การจำกัดอัตราในแอปพลิเคชัน ASP.NET Core 7 ของเรา

 

ใช้การแชร์ทรัพยากรข้ามต้นทาง (CORS)

เราสามารถใช้ CORS เพื่อป้องกันการเข้าถึง API ของเราจากโดเมนอื่น โดยไม่ได้รับอนุญาตข้อมูลโค้ด

 

ใช้การกำหนดเวอร์ชัน API

การกำหนดเวอร์ชันช่วยให้เราทำการเปลี่ยนแปลงกับ API ของเรา และเลิกใช้ API เวอร์ชันที่มีความปลอดภัยน้อยได้ โดยไม่ทำลายไคลเอ็นต์ที่มีอยู่ 

 

ซึ่ง ASP.NET Core จะให้การสนับสนุนการกำหนดเวอร์ชัน API แบบสำเร็จรูป และหากต้องการใช้การกำหนดเวอร์ชัน API สิ่งที่เราต้องทำคือ ติดตั้งแพ็กเกจการกำหนดเวอร์ชัน ASP.NET API จาก NuGet 

 

ใช้การบันทึกและการตรวจสอบ 

สำหรับการบันทึกเป็นส่วนสำคัญในการให้ข้อมูลเชิงลึกเกี่ยวกับพฤติกรรมของแอปพลิเคชันของเรา และการตรวจสอบยังมีความสำคัญอย่างยิ่งในการตรวจจับและระบุความล้มเหลวของแอปพลิเคชัน

 

ดังนั้น ด้วยการใช้การบันทึกและการตรวจสอบที่ครอบคลุม เราจะสามารถเห็นภาพการใช้งาน API ที่ชัดเจน และเปิดเผยการละเมิดความปลอดภัยที่อาจเกิดขึ้นและปัญหาด้านประสิทธิภาพที่เกี่ยวข้องกับ API ของเรานั่นเอง 

 

คำแนะนำอื่นๆ 

  • ความปลอดภัยของ API มีการพัฒนาอย่างต่อเนื่อง ดังนั้นต้องพิจารณาความปลอดภัยของ API ในทุกขั้นตอน

  • เราควรมีกลยุทธ์การทดสอบและทดสอบ API ของเรา เพื่อระบุช่องโหว่ด้านความปลอดภัย

  • เราควรจัดเก็บข้อมูลที่เราต้องการและเก็บไว้ตราบเท่าที่เราต้องการเท่านั้น

  • ทำความสะอาดข้อมูลเก่าหรือข้อมูลที่ไม่จำเป็นเป็นประจำ

  • เราควรอัปเดตและแก้ไขการขึ้นต่อกันของแอปพลิเคชันของเราเป็นประจำ 

  • เรายังสามารถใช้ประโยชน์จากการตรวจสอบสิทธิ์แบบสองปัจจัย รักษาความปลอดภัยรหัสผ่านที่เก็บไว้



 

 

 

---Wynnsoft Solution รับทำเว็บไซต์ รับทำ SEO รับทำการตลาดออนไลน์ รับทำโฆษณา Facebook รับทำเว็บไซต์ ขอนแก่น และรับทำเว็บไซต์ทั่วประเทศ

ข้อมูลจาก: infoworld.com