*บทความนี้เป็นการใช้งาน NGINX Plus และ NGINX App Protect บน Proen Cloud จะมีค่าใช้จ่าย Subscription แบบรายเดือนครับ
ในตอนที่ 1 และ 2 เราได้ติดตั้ง NGINX Plus, NGINX App Protect รวมถึงการ Configure transparent mode
ตอนที่ 1 - ติดตั้ง NGINX Plus และ NGINX App Protect
https://bit.ly/napproen
ตอนที่ 2 - ปรับแต่ง NGINX App Protect - transparent mode
https://bit.ly/napproen-ep2
วันนี้เราจะลงไปดู Protection Mechanism ตัวแรกครับ - Data Guard
ข้อมูลที่เราส่งผ่านไปมา อาจมีข้อมูลสำคัญ เช่นหมายเลขบัตรเครดิต หมายเลข SSN หากมีจุดใดจุดหนึ่งตั้งค่าไว้ผิดพลาด จะทำให้ข้อมูลเหล่านี้หลุดรอดออกไปได้ง่าย
App Protect - Data Guard จะช่วย Mask หรือ เบลอข้อมูลสำคัญเหล่านี้ครับ
โดยเราจะทำต่อจากตอนที่ 1
ทดสอบเข้าใช้งานแบบปกติ สามารถใช้งานเว็บแบบปกติได้
ทดสอบการโจมตีด้วยเทคนิค Directory Traversal ไปยังไฟล์ htpasswd, ถูก Block โดย WAF นั่นคือ WAF ทำงานปกติ
ก่อนการปรับแต่ง เราจำเป็นต้องใช้สิทธิ์ root เพื่อแก้ไข WAF Policies
ที่ NGINX Load Balancer เลือก Add-ons และ Install Root Access Add-ons, กด Install
รอติดตั้งประมาณ 10s แล้วกด Close
SSH ไปที่เครื่อง NGINX Load Balancer, ยกระดับสิทธิ์การใช้งานเป็น root โดยพิมพ์คำสั่ง 'sudo -i'
List file NGINX App Protect Policy โดย
'cd /etc/app_protect/conf'
'ls'
จะพบไฟล์ Policy เดิมที่มีอยู่แล้วครับ ให้เราทำการสร้างไฟล์ Policy ใหม่ขึ้นมา ชื่อ NginxDataMasking.json
'vi NginxDataMasking.json'
Configure ตามนี้ครับ
{
"policy": {
"name": "nginx_default_policy",
"template": { "name": "POLICY_TEMPLATE_NGINX_BASE" },
"applicationLanguage": "utf-8",
"enforcementMode": "blocking",
"blocking-settings": {
"violations": [
{
"name": "VIOL_DATA_GUARD",
"alarm": true,
"block": false
}
]
},
"data-guard": {
"enabled": true,
"maskData": true,
"creditCardNumbers": true,
"usSocialSecurityNumbers": true,
"enforcementMode": "ignore-urls-in-list",
"enforcementUrls": []
}
}
}
อธิบาย
เรามีการกำหนดให้เปิดใช้งาน data-guard โดยตั้ง enabled เป็น true
กำหนดให้มีการ Mask Data เป็น True
กำหนด Data ที่เข้าข่ายจะทำการ Mask ก็คือ creditCardNumber และ usSocialSecurityNumbers
ส่วนการทำ blocking-settings มีการตั้งให้ block เป็น false หมายความว่า หากมีข้อมูลบัตรเครดิต หลุดรอดออกมา จะไม่ Block แต่จะแสดงผลโดย Mask Data บางส่วนไว้ให้นั่นเองครับ
เมื่อเราสร้างไฟล์ Policy บน NginxDataMasking.json แล้ว ขั้นต่อมาเราจะกำหนดให้ App Protect เลือกใช้ Policy จากไฟล์ NginxDataMasking.json ครับ
'vi /etc/nginx/app-protect.conf'
เรียกใช้ Policy ที่เพิ่งสร้างใหม่ และ Comment Policy เดิมไว้
app_protect_policy_file "/etc/app_protect/conf/NginxDataMasking.json";
ทำการ Save ไฟล์
reload NGINX เพื่อใช้ Configuration ใหม่, ถ้าไม่มี output ใด ๆ ออกมา แสดงว่า reload สำเร็จ, แต่หากได้ข้อความ Error ให้เช็คว่ามีการใช้ tab หรือไม่(ใช้ tab ไม่ได้ครับ) หรือการใส่ , {} ตรงตามตัวอย่างไหม, หรือติดต่อทีมงานให้ช่วย Support ได้ครับ
ทดสอบการใช้งาน โดยเรียกใช้หน้าที่มีข้อมูลบัตรเครดิตที่สมมติขึ้นมา พบว่ามีการ Mask ตัวเลขบางส่วนไว้
เบื้องหลังคือการเรียกไปยัง Backend ที่มีการตั้งค่าผิดพลาด แสดงหมายเลขบัตรเครดิตโดยไม่ตั้งใจ
จะเห็นได้ว่า เราสามารถป้องกันข้อมูลบัตรเครดิตได้แล้วครับ
ต่อมา เราจะ Configure ให้ App Protect ทำการ Reject ทันที หากมีข้อมูลบัตรเครดิตหลุดรอดออกมา โดยไม่ต้อง masking data
เข้าไปแก้ไขไฟล์ Policy
'vi /etc/app_protect/conf/NginxDataMasking.json'
แก้ไข blocking-setting โดยให้ block มีค่าเป็น true
จากนั้นทำการ reload NGINX configuration
'nginx -s reload'
ทดสอบเรียกอีกครั้ง จะพบว่าครั้งนี้ไม่มีการ mask data แล้ว แต่จะทำถูก Block ทันที ที่มีข้อมูลบัตรเครดิตกำลังจะถูกเปิดเผย
สุดท้าย เรามาดูว่าถ้าไม่มี App Protect จะเกิดอะไรขึ้นครับ
'vi /etc/nginx/app-protect.conf'
เปลี่ยนค่า app_protect_enable ให้เป็น off
reload configuration
'nginx -s reload'
ทดสอบเรียกใช้งาน กรณีไม่มี App Protect คอยป้องกัน
ข้อมูลสำคัญหลุดรอดออกไปได้อย่างง่ายดาย
โดยสรุป NGINX App Protect - Data Guard จะช่วยปกป้อง Sensitive Data โดยสามารถเลือกได้ว่าจะบล็อกทั้งหมด หรือยอมให้ข้อมูลอื่นๆผ่านโดยเลือก Mask เฉพาะ Sensitive Data ก็ได้ครับ
ปัจจุบันความปลอดภัยของข้อมูล โดยเฉพาะข้อมูลส่วนบุคคลมีความสำคัญที่ต้องเก็บรักษาเป็นอย่างดี หากข้อมูลลูกค้าที่มีธุรกรรมร่วมกับเราถูกเผยแพร่ จะส่งผลต่อความน่าเชื่อถือแน่นอนครับ บน Proen Cloud มี App Protect ให้พร้อมปกป้องหลังบ้านของเราได้ทันที
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)