8 เคล็ดลับสำคัญในการรักษาความปลอดภัยเซิร์ฟเวอร์แอปพลิเคชันเว็บ

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


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

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

สภาพแวดล้อมพื้นฐานสำหรับการโฮสต์และใช้งานเว็บแอปพลิเคชันรวมถึงระบบปฏิบัติการ (Linux, Windows), ซอฟต์แวร์เว็บเซิร์ฟเวอร์ (Apache, Nginx) ซึ่งเป็นเซิร์ฟเวอร์ฐานข้อมูล หากองค์ประกอบใด ๆ เหล่านี้ถูกแบ่งออกผู้โจมตีสามารถเข้าถึงและดำเนินการที่เป็นอันตรายทั้งหมดที่ต้องการ.

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

ไฟร์วอลล์ยกเลิกการแก้ไขแล้ว

คุณอาจถูกล่อลวงให้ตรวจสอบรายการนี้อย่างรวดเร็วโดยคิดว่า“ ฉันโชคดีฉันมีไฟร์วอลล์ที่ปกป้องเครือข่ายของฉันอยู่แล้ว” แต่คุณควรที่จะจับม้าของคุณ.

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

อย่างไร?

อย่างง่าย: ไฟร์วอลล์เครือข่ายของคุณจะต้องอนุญาตการรับส่งข้อมูลอย่างน้อยในพอร์ต 80 และ 443 (นั่นคือ HTTP และ HTTPS) และไม่ทราบว่าใครหรือสิ่งที่ผ่านพอร์ตเหล่านั้น.

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

เพื่อให้มีประสิทธิภาพ WAF จะต้องมีการอัพเดทฐานข้อมูลอย่างต่อเนื่องด้วยรูปแบบการคุกคามใหม่ ๆ เพื่อให้สามารถปิดกั้นได้ ปัญหาเกี่ยวกับการป้องกันการโจมตีด้วยรูปแบบคือเว็บแอปพลิเคชันของคุณสามารถเป็นหนึ่งในเป้าหมายแรกของการคุกคามใหม่ที่ WAF ของคุณยังไม่ทราบ.

ด้วยเหตุผลเหล่านี้เว็บแอปพลิเคชันของคุณต้องการชั้นการป้องกันเพิ่มเติมนอกเหนือจากไฟร์วอลล์เครือข่าย.

สแกนหาช่องโหว่เฉพาะเว็บ

อย่าคิดว่าเว็บแอปพลิเคชันเซิร์ฟเวอร์ของคุณไม่มีช่องโหว่อีกต่อไปเพียงเพราะเครื่องสแกนความปลอดภัยเครือข่ายของคุณบอกเช่นนั้น.

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

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

ให้ความรู้แก่นักพัฒนาของคุณ

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

เมื่อมีการพัฒนาเว็บแอปพลิเคชันผู้เขียนโค้ดต้องรู้จักและใช้กลไกความปลอดภัยเพื่อให้มั่นใจว่าปราศจากช่องโหว่ กลไกความปลอดภัยเหล่านั้นควรเป็นส่วนหนึ่งของแนวทางปฏิบัติที่ดีที่สุดที่ทีมพัฒนาต้องปฏิบัติตาม.

การตรวจสอบคุณภาพซอฟต์แวร์จะใช้เพื่อให้แน่ใจว่าสอดคล้องกับแนวทางปฏิบัติที่ดีที่สุด แนวปฏิบัติที่ดีที่สุดและการตรวจสอบเป็นวิธีเดียวที่จะตรวจจับช่องโหว่เชิงตรรกะเช่น (เช่น) ผ่านพารามิเตอร์ที่ไม่ได้เข้ารหัสและมองเห็นได้ภายใน URL ซึ่งผู้โจมตีสามารถเปลี่ยนได้อย่างง่ายดายเพื่อทำสิ่งที่เขาหรือเธอต้องการ.

ปิดฟังก์ชั่นที่ไม่จำเป็น

สมมติว่าแอปพลิเคชันเว็บปราศจากข้อผิดพลาดเท่าที่จะเป็นไปได้และเว็บฟาร์มนั้นปลอดภัยให้ดูว่าสามารถทำอะไรได้บ้างบนเซิร์ฟเวอร์ของตัวเองเพื่อป้องกันการโจมตี.

เคล็ดลับสามัญสำนึกขั้นพื้นฐานคือการลดจำนวนจุดเข้าที่อาจเสี่ยง หากผู้โจมตีสามารถใช้ประโยชน์จากส่วนประกอบใด ๆ ของเว็บเซิร์ฟเวอร์เว็บเซิร์ฟเวอร์ทั้งหมดอาจตกอยู่ในอันตราย.

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

ใช้สภาพแวดล้อมที่แยกต่างหากสำหรับการพัฒนาการทดสอบและการผลิต

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

นอกเหนือจากรหัสผ่านและสิทธิ์ใช้งานในสภาพแวดล้อมการพัฒนาและการทดสอบโดยทั่วไปจะมีแบ็คดอร์ไฟล์บันทึกรหัสต้นฉบับหรือข้อมูลการดีบักอื่น ๆ ที่อาจเปิดเผยข้อมูลที่ละเอียดอ่อนเช่นชื่อผู้ใช้ฐานข้อมูลและรหัสผ่าน กระบวนการปรับใช้เว็บแอปพลิเคชันควรทำโดยผู้ดูแลระบบซึ่งจะต้องตรวจสอบให้แน่ใจว่าไม่มีการเปิดเผยข้อมูลที่ละเอียดอ่อนหลังจากติดตั้งแอปพลิเคชันบนเซิร์ฟเวอร์ที่ใช้งานจริง.

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

อัพเดตซอฟต์แวร์เซิร์ฟเวอร์ของคุณอยู่เสมอ

เห็นได้ชัดอย่างที่เห็นนี่เป็นหนึ่งในภารกิจที่ถูกมองข้ามมากที่สุด SUCURI พบว่าแอปพลิเคชั่น CMS 59% ล้าสมัยซึ่งเปิดรับความเสี่ยง.

ภัยคุกคามใหม่ปรากฏขึ้นทุกวันและวิธีเดียวที่จะป้องกันไม่ให้เกิดอันตรายต่อเซิร์ฟเวอร์ของคุณคือการติดตั้งแพตช์รักษาความปลอดภัยล่าสุดเสมอ.

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

จำกัด การเข้าถึงและสิทธิ์พิเศษ

มาตรการรักษาความปลอดภัยขั้นพื้นฐานคือการรักษาปริมาณการเข้าถึงข้อมูลจากระยะไกลเช่น RDP และ SSH เข้ารหัสและสร้างช่องสัญญาณ เป็นความคิดที่ดีที่จะเก็บรายการที่อยู่ IP ที่ลดลงจากการอนุญาตให้เข้าถึงจากระยะไกลทำให้แน่ใจว่ามีความพยายามในการเข้าสู่ระยะไกลจาก IP อื่น ๆ ที่ถูกบล็อก.

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

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

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

คอยดูบันทึกเซิร์ฟเวอร์

ไฟล์บันทึกจะมีเหตุผล.

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

คุณต้องมีกระบวนการอัตโนมัติในการลบไฟล์บันทึกเก่าหรือตัดข้อมูลที่ล้าสมัยเพื่อป้องกันไม่ให้ใช้พื้นที่เก็บข้อมูลทั้งหมดในเซิร์ฟเวอร์.

เคล็ดลับโบนัส: แจ้งให้ตัวเองทราบ

มีข้อมูลฟรีและเป็นประโยชน์มากมายบนอินเทอร์เน็ตที่คุณสามารถใช้เพื่อประโยชน์ของเว็บแอปพลิเคชันของคุณ อย่าพลาดโพสต์ใหม่ในบล็อกความปลอดภัยที่มีชื่อเสียง (เช่นนี้) และรับทราบข้อมูลเกี่ยวกับสิ่งที่เกิดขึ้นในอุตสาหกรรมความปลอดภัยและเว็บ.

สอน, หลักสูตร, วิดีโอและหนังสือเป็นแหล่งความรู้ที่เป็นประโยชน์ ฝึกฝนใช้เวลาหนึ่งหรือสองชั่วโมงต่อสัปดาห์เพื่อรับทราบข่าวสารของอุตสาหกรรม – มันจะทำให้คุณอุ่นใจเมื่อรู้ว่าคุณกำลังทำสิ่งที่ถูกต้องเพื่อให้แอปพลิเคชันของคุณปลอดภัย.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map