*บทความนี้เป็นการใช้งาน NGINX Plus บน Proen Cloud ซึ่งจะมีค่า Subscription แบบรายเดือนครับ
ช่วงนี้มีข่าวคราวการถูกโจมตีเยอะพอสมควรเลยครับ เครื่องมือที่จะช่วยป้องกันในระดับ Application ก็คือ Web Application Firewall - WAF
การทำงานเมื่อมี requests เข้ามาจะผ่าน WAF ก่อน หากตรงกันกับ Signatures ที่เราระบุไว้บน WAF จะถือเป็นการโจมตี ทำให้ Requests ถูก Block และการโจมตีก็จะไปไม่ถึง Backend Application
วันนี้เรามาดูวิธีติดตั้งใช้งาน NGINX WAF ซึ่งโดยปกติจะต้อง Install และ Configure โดยผู้เชี่ยวชาญเพื่อให้ WAF สามารถปกป้อง Web Application ของเราได้อย่างแท้จริง แต่วันนี้จะเป็นการติดตั้งบน Proen-Cloud ที่สามารถ Provision WAF ที่ได้มาตรฐานมาใช้งาน และสามารถเริ่มต้นได้ไม่ยาก
เรามาเริ่มจากหน้า Login ครับ เข้าไปที่ https://app.manage.proen.cloud/
จากนั้นทำการติดตั้ง NGINX Plus ก่อน โดยกดไปที่ NEW ENVIRONMENT และเลือก NGINX Plus
ในขั้นตอนนี้ เราจะตั้งชื่อให้ Environment ของเราด้วยก็ได้ จะได้ subdomain ภายใต้ proen.cloud
Backend Application จะนำ Application ที่เราต้องการมาติดตั้งครับ, รองรับ Docker Image ด้วย, หรือเลือกจาก Templates ที่มีให้, ในตัวอย่างเลือกเป็น .NET Core จากนั้นกด Create
เมื่อ Proen Cloud ทำการสร้าง Environment เสร็จแล้ว ให้ทดสอบโดยกดเข้าไปที่ลิงค์
สามารถเข้าใช้งาน Backend Application .NET Core ได้ โดยการเข้าใช้งาน จะเป็นการเรียกผ่าน NGINX Plus ก่อน แล้วเรียกต่อไปยัง .NET Core
หากต้องการใช้ Domain ของเราเอง ไม่ใช้ subdomain ของ Proen, สามารถเพิ่ม Public IPv4 ขึ้นมาใช้งานได้ แล้วปรับตั้ง DNS ให้ชี้มาที่ IP ของเรา
ที่บรรทัด Public IPv4 กดเครื่องหมาย +
ใส่จำนวน IPv4 ที่ต้องการ ในที่นี้คือ 1 IP กด Apply
ทดสอบเข้าใช้งาน ผ่าน Public IPv4 หรือจะใช้ DNS ชี้มาที่ IP นี้ แล้วเข้าใช้งานผ่าน Domain ของเราเองก็ได้ครับ
ตอนนี้เราจะติดตั้ง NGINX WAF ให้กับ NGINX Plus เพื่อปกป้อง Backend ซึ่งก็คือตัว .NET Core นั่นเองครับ
วิธีการ ในบรรทัด Load Balancer ให้กดที่ปุ่ม Add-Ons
เลือก Add-Ons: NGINX Plus App Protect กด Install
จะมีหน้าต่างแสดงรายละเอียด ให้กด Install อีกหนึ่งครั้ง
รอจน Install เสร็จ ก็จะได้ NGINX WAF พร้อมใช้งานปกป้อง Web Application ของเราครับ
ทำการทดสอบ เรียกไปยัง .NET อีกครั้ง พบว่าเรียกได้ปกติ
ทดสอบเรียก โดยจำลองเหตุการณ์โจมตีแบบ Directory Traversal พยายามเข้าถึงไฟล์ htpasswd
พบว่าจะถูกบล็อก ที่ระดับชั้นของ NGINX ก่อน ทำให้ Backend Application ยังคงปลอดภัย
ในการ Block นี้ จะได้เลข Support ID หาก USER พบว่ามีการบล็อกที่ผิดปกติ สามารถนำ Support ID นี้ ส่งต่อให้ทีม Security เพื่อตรวจสอบ Log ได้
จากการตรวจสอบ Support ID: 15593246396323256717 พบว่า มีการ Violate เรื่อง Directory Traversal ที่ path ../etc/
เพียงเท่านี้ เราก็จะมี WAF ช่วยปกป้อง Web Application ของเราให้ปลอดภัยมากยิ่งขึ้นครับ
ในบทความถัดไป เราจะมาดูวิธีการปรับแต่งที่มากขึ้น เช่นการส่ง Log ออกไปยัง ELK หรือ syslog server อื่น, การเลือกใช้งาน Signature ที่มีความเข้มข้นมากขึ้นขนาดที่ว่าเมื่อเปิดใช้งาน เราจะเข้าถึง Application ของเราไม่ได้ในทันที จะต้องค่อยๆ Configure เปิดการใช้งานทีละส่วน ให้เข้าถึงได้เฉพาะที่จำเป็นเท่านั้น
Series: เสริมความปลอดภัยให้ Backend Applications ด้วย NGINX App Protect
เสริมความปลอดภัยให้ Backend Applications ด้วย NGINX App Protect - ตอนที่ 1 - ติดตั้ง NGINX Plus และ NGINX App Protect
https://bit.ly/napproen
เสริมความปลอดภัยให้ Backend Applications ด้วย NGINX App Protect - ตอนที่ 2 - ปรับแต่ง NGINX App Protect - transparent mode
https://bit.ly/napproen-ep2
เสริมความปลอดภัยให้ Backend Applications ด้วย NGINX App Protect - ตอนที่ 3 - ปรับแต่ง NGINX App Protect - Data Guard
https://bit.ly/napproen-ep3
เสริมความปลอดภัยให้ Backend Applications ด้วย NGINX App Protect - ตอนที่ 4 - ปรับแต่ง NGINX App Protect - HTTP Compliance
https://bit.ly/napproen-ep4
สัปดาห์หน้า พบกับ Protection Mechanism ถัดไป ติดตามได้ที่
FB Page: นั่งเล่น NGINX
https://web.facebook.com/NungLenNGINX
FB Group: ร่วมพูดคุยและแลกเปลี่ยนความรู้ไปกับเรา NGINX Super User TH
https://web.facebook.com/groups/394098015436072
เริ่มต้นใช้งานได้ที่ https://app.manage.proen.cloud/
มีทีม Support ให้ครับ
อีกหนึ่งช่องทาง nginx@mfec.co.th
Top comments (0)