Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยของเครือข่าย

พบช่องโหว่ NGINX ที่สำคัญที่สุด 5 อันดับแรก

มากกว่าครึ่งหนึ่งของเว็บไซต์อินเทอร์เน็ตที่พลุกพล่านที่สุด ซึ่งรวมถึง Airbnb, Box, Instagram, Netflix, Pinterest, SoundCloud และ Zappos ต่างพึ่งพา NGINX อาชญากรไซเบอร์มักมุ่งเป้าไปที่เว็บเซิร์ฟเวอร์ และพวกเขามักจะมองหาช่องโหว่เล็กๆ น้อยๆ เพื่อขโมยข้อมูลที่ละเอียดอ่อน NGINX ก็ไม่มีข้อยกเว้น เนื่องจากพบเห็นการโจมตีทางไซเบอร์และเปิดเผยช่องโหว่ครั้งแล้วครั้งเล่า

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

1. NGINX SPDY ฮีปบัฟเฟอร์ล้น (2014)

การนำ SPDY ไปใช้งานใน NGINX 1.3.15 ก่อน 1.4.7 และ 1.5.x ก่อน 1.5.12 มีความเสี่ยงต่อบัฟเฟอร์โอเวอร์โฟลว์แบบ heap สิ่งนี้ทำให้ผู้โจมตีสามารถรันโค้ดโดยอำเภอใจผ่านคำขอที่สร้างขึ้นมา ปัญหานี้ส่งผลกระทบต่อ NGINX ที่คอมไพล์ด้วยโมดูล ngx_http_spdy_module (ซึ่งไม่ได้คอมไพล์โดยค่าเริ่มต้น) และไม่มีตัวเลือกการกำหนดค่า –with-debug หากใช้ตัวเลือก “spdy” ของคำสั่ง “listen” ในไฟล์การกำหนดค่า

พบช่องโหว่ NGINX ที่สำคัญที่สุด 5 อันดับแรก พบช่องโหว่ NGINX ที่สำคัญที่สุด 5 อันดับแรก

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

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

2. ช่องโหว่การยกระดับสิทธิ์รูท NGINX (2016)

ช่องโหว่ NGINX Root Privilege Escalation Vulnerability ถือว่ามีความรุนแรงสูง มันสามารถนำไปสู่การสร้างไดเรกทอรีบันทึกที่มีสิทธิ์ที่ไม่ปลอดภัย ในทางกลับกัน สิ่งเหล่านี้สามารถถูกโจมตีโดยผู้โจมตีในพื้นที่ที่ประสงค์ร้ายเพื่อยกระดับสิทธิ์ของพวกเขาจาก NGINX/ผู้ใช้เว็บ (www-data) ไปยังรูท ซึ่งทำให้เว็บแอปพลิเคชันใดๆ ที่โฮสต์บนเซิร์ฟเวอร์ NGINX เสียหาย ช่องโหว่ในการยกระดับสิทธิ์ของรูทส่งผลกระทบต่อแพ็คเกจเว็บเซิร์ฟเวอร์บนการกระจายแบบเดเบียน เช่น Debian หรือ Ubuntu

ช่องโหว่นี้เกิดจากขั้นตอนต่อไปนี้:เมื่อติดตั้ง NGINX จากที่เก็บเริ่มต้นบนระบบที่ใช้ Debian จะสร้างไดเรกทอรีบันทึก NGINX ที่ตำแหน่งต่อไปนี้และมีสิทธิ์ดังต่อไปนี้:

[email protected]: ~# ls - ld /var/log/nginx/
drwxr-x--- 2 www-data adm 4096 Nov 12 22:32 /var/log/nginx/
[email protected]:~# ls - ld /var/log/nginx/*
-rw-r----- 1 www-data adm 0 Nov 12 22:31 /var/log/nginx/access.log
-rw-r--r-- 1 root root 0 Nov 12 22:47 /var/log/nginx/error.log

ตั้งแต่ /var/log/nginx ไดเร็กทอรีเป็นของ www-data ผู้โจมตีสามารถแทนที่ไฟล์บันทึกด้วย symlink ไปยังไฟล์ที่กำหนดเองในการเข้าถึงระบบ เมื่อรีสตาร์ท บันทึกจะถูกเขียนไปยังไฟล์ที่ชี้ไปที่
โดย symlink ทำให้ผู้โจมตีสามารถยกระดับสิทธิ์ไปที่รูทได้

ช่องโหว่ได้รับการแก้ไขในแพ็คเกจ NGINX 1.6.2-5+deb8u3 บน Debian และ NGINX 1.10.0-0ubuntu0.16.04.3 บน Ubuntu (16.04 LTS)

3. ช่องโหว่จำนวนเต็มล้นระยะไกล (2017)

ช่องโหว่ NGINX Remote Integer Overflow เป็นช่องโหว่ประเภท Boundary Condition Error ช่องโหว่นี้เกิดจากการที่ NGINX ไม่สามารถตรวจสอบขอบเขตข้อมูลที่ผู้ใช้ให้มาได้อย่างเพียงพอ การใช้ประโยชน์จากสิ่งนี้ ผู้โจมตีสามารถเข้าถึงข้อมูลที่ละเอียดอ่อนหรืออาจทำให้แอปพลิเคชันหยุดทำงาน ส่งผลให้เกิดเงื่อนไขการปฏิเสธการให้บริการ

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

4. ช่องโหว่ของตัวควบคุม NGINX (2020)

ในเวอร์ชัน NGINX Controller ก่อน 3.2.0 ผู้โจมตีที่มีการเข้าถึงเครือข่ายไปยัง Controller API สามารถสร้างบัญชีผู้ใช้ที่ไม่มีสิทธิพิเศษได้ ผู้ใช้ที่สร้างขึ้นสามารถอัปโหลดใบอนุญาตใหม่ไปยังระบบได้ แต่ไม่สามารถดูหรือแก้ไขส่วนประกอบอื่น ๆ ของระบบได้ สิ่งนี้หมายความว่าผู้โจมตีสามารถใช้ประโยชน์จากช่องโหว่นี้เพื่อสร้างบัญชีผู้ใช้เพื่อสร้างสถานการณ์การปฏิเสธบริการ (DoS) บน NGINX Controller

เพื่อลดช่องโหว่นี้ คุณสามารถอัปเดตเป็นเวอร์ชันใหม่กว่า หรือจำกัดการเข้าถึงเครือข่ายไปยังพอร์ต NGINX Controller API (TCP 443) โดยกำหนดค่าซอฟต์แวร์ไฟร์วอลล์โฮสต์ของ NGINX Controller หรืออุปกรณ์กรองแพ็คเก็ตภายนอกเพื่ออนุญาตเฉพาะเครือข่ายที่เชื่อถือได้เท่านั้นที่เข้าถึงได้ NGINX Controller API

5. ช่องโหว่การเรียกใช้โค้ดจากระยะไกล PHP (2020)

หนึ่งในช่องโหว่ล่าสุดของ NGINX คือ PHP 7 บางเวอร์ชันที่ทำงานบน NGINX โดยเปิดใช้งาน php-fpm นั้นมีความเสี่ยงที่จะถูกเรียกใช้โค้ดจากระยะไกล ช่องโหว่นี้ หากปล่อยไว้โดยไม่ได้รับการป้องกัน อาจนำไปสู่การเปิดเผยข้อมูลที่ละเอียดอ่อน การเพิ่มหรือแก้ไขข้อมูล หรือการโจมตีแบบปฏิเสธการให้บริการ (DoS)

เพื่อลดช่องโหว่นี้ ให้อัปเดตเป็นเวอร์ชันของ PHP ที่ไม่มีช่องโหว่ทันที

อย่าใช้ NGINX? ตรวจสอบบทความบล็อกและวิดีโอของเราเกี่ยวกับช่องโหว่ที่สำคัญของ Apache

เกี่ยวกับ Astra Pentest

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

เราหวังว่าบทความนี้จะช่วยคุณบรรเทาช่องโหว่และปัญหาด้านความปลอดภัยต่างๆ ในเว็บเซิร์ฟเวอร์ของคุณ! อย่างไรก็ตาม เพื่อให้เว็บไซต์/เว็บแอปของคุณปลอดภัยอย่างสมบูรณ์ คุณจะต้องรักษาความปลอดภัยให้กับแอปพลิเคชันที่คุณติดตั้งบนเซิร์ฟเวอร์และ CMS ที่คุณใช้อยู่ ช่องโหว่ในสิ่งเหล่านี้อาจนำไปสู่การประนีประนอมของเว็บเซิร์ฟเวอร์! ดูบทความเกี่ยวกับการรักษาความปลอดภัย WordPress, Magento, Joomla, PrestaShop และ OpenCart