ชุดตรวจสอบความปลอดภัย
ขั้นตอนการทำงาน 7 ขั้นตอนเพื่อเสริมความแข็งแกร่งให้ความปลอดภัยของแอปพลิเคชันคุณ
ขั้นตอนการทำงานนี้เหมาะสำหรับนักพัฒนาและผู้ดูแลระบบที่ต้องการตรวจสอบและปรับปรุงความปลอดภัยของเว็บแอปพลิเคชันหรือสภาพแวดล้อมเซิร์ฟเวอร์ ปฏิบัติตามขั้นตอนตามลำดับเพื่อครอบคลุมการดูแลข้อมูลรับรอง การป้องกันข้อมูล และส่วนหัวความปลอดภัย HTTP เมื่อสิ้นสุดกระบวนการ คุณจะได้จัดการกับเวกเตอร์การโจมตีที่พบบ่อยที่สุด ได้แก่ รหัสผ่านที่อ่อนแอ การจัดเก็บข้อความธรรมดา ข้อมูลที่ไม่ได้เข้ารหัส และนโยบายเบราว์เซอร์ที่ตั้งค่าไม่ถูกต้อง
สร้างข้อมูลรับรองที่แข็งแกร่ง
รหัสผ่านที่อ่อนแอเป็นสาเหตุหลักของการละเมิดความปลอดภัย สร้างรหัสผ่านแบบสุ่มทางการเข้ารหัสสำหรับบัญชีบริการ คีย์ API และข้อมูลรับรองผู้ดูแลระบบทั้งหมด
ทดสอบรหัสผ่านที่มีอยู่
ก่อนที่จะเชื่อถือรหัสผ่านที่มีอยู่ ให้ประเมินโดยใช้การคำนวณเอนโทรปีและการตรวจจับรูปแบบทั่วไป สิ่งใดที่ต่ำกว่า 70 บิตของเอนโทรปีควรถูกแทนที่
แฮชรหัสผ่านสำหรับการจัดเก็บ
อย่าจัดเก็บรหัสผ่านในรูปแบบข้อความธรรมดาเด็ดขาด Bcrypt เพิ่มเกลือโดยอัตโนมัติและถูกออกแบบให้ช้าโดยเจตนา ค่าแฮชแต่ละค่าใช้เวลาเป็นมิลลิวินาทีสำหรับคุณ แต่ทำให้การโจมตีแบบ brute-force มีค่าใช้จ่ายสูงเกินจริง
แฮชข้อมูลเพื่อความสมบูรณ์
ตรวจสอบความสมบูรณ์ของไฟล์ สร้างค่าตรวจสอบสำหรับการปรับใช้ หรือสร้างตัวระบุที่แน่นอน SHA-256 เป็นมาตรฐานสำหรับค่าตรวจสอบในบริบทความปลอดภัย
เข้ารหัสข้อมูลที่ละเอียดอ่อน
สำหรับข้อมูลที่ต้องกู้คืนในภายหลัง (ต่างจากการแฮช) AES-256 คือมาตรฐานอุตสาหกรรม ใช้สำหรับเข้ารหัสโทเค็น ค่าการตั้งค่า หรือข้อมูลใดๆ ที่จัดเก็บไว้นอกแอปพลิเคชันของคุณ
เขียนนโยบายความปลอดภัยเนื้อหา
ส่วนหัว CSP ป้องกันการโจมตี XSS โดยควบคุมทรัพยากรที่เบราว์เซอร์สามารถโหลดได้ CSP ที่ตั้งค่าอย่างดีเป็นหนึ่งในการป้องกันที่มีประสิทธิภาพที่สุดต่อการฉีดสคริปต์
ตั้งค่าส่วนหัว CORS
CORS ที่ตั้งค่าไม่ถูกต้องเป็นช่องโหว่ API ที่พบบ่อย สร้างส่วนหัวที่แม่นยำเพื่ออนุญาตเฉพาะแหล่งกำเนิดที่ตั้งใจไว้เท่านั้น การใช้อักขระไวด์การ์ด (*) บนปลายทางที่มีข้อมูลรับรองถือเป็นข้อบกพร่องด้านความปลอดภัยที่วิกฤต
เคล็ดลับจากผู้เชี่ยวชาญ
- หมุนเวียนข้อมูลรับรองหลังจากการตรวจสอบทุกครั้ง แม้แต่รหัสผ่านที่แข็งแกร่งก็กลายเป็นความเสี่ยงหากใช้มานานกว่าหนึ่งปีโดยไม่หมุนเวียน
- ใช้ปัจจัยค่าใช้จ่าย 12 ขึ้นไปสำหรับ bcrypt ในการผลิต บนฮาร์ดแวร์สมัยใหม่ ค่าใช้จ่าย 10 อาจถูกถอดรหัสได้เร็วกว่าที่คาดเมื่อพลังการประมวลผลเพิ่มขึ้น
- ทดสอบ CSP ของคุณในโหมดรายงานเท่านั้น (Content-Security-Policy-Report-Only) ก่อนบังคับใช้ นโยบายที่ตั้งค่าไม่ถูกต้องอาจทำลายแอปพลิเคชันทั้งหมดของคุณ