คู่มือ App Security with NGINX Balancer สำหรับ Load Balancer
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
คำสั่ง ชื่อเมนู Parameter และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง
เนื่องจากปริมาณข้อมูลที่แบ่งปันผ่านอินเทอร์เน็ตเพิ่มขึ้นทุกปีเช่นเดียวกับการนำเว็บมาใช้เป็นเครื่องมือในการดำเนินธุรกิจการป้องกันเว็บไซต์และ Application เว็บจึงกลายเป็นปัญหาด้านความปลอดภัยทางอินเทอร์เน็ตที่สำคัญปัญหาหนึ่งการตอบสนองที่ชัดเจนต่อสิ่งนี้คือการใช้เครื่องมือป้องกันมากมายแต่ก่อนที่จะเร่งรีบในการบูรณาการโซลูชันการป้องกันที่ซับซ้อนและ/หรือมีราคาแพงให้พิจารณาวิธีการรักษาความปลอดภัยทั่วไปสองสามวิธีเนื่องจากบางครั้งการรักษาความปลอดภัยขั้นพื้นฐานที่สุดจะกลายเป็นวิธีที่มีประสิทธิภาพมากที่สุด
ดังนั้นในคู่มือนี้เราจะแสดงให้คุณเห็นถึงวิธีการตั้งค่ากลไกการป้องกันง่ายๆสองสามอย่างซึ่งมีให้สำหรับ Application ใดๆที่ใช้Balancer NGINXเป็นส่วนหน้าและการสมัครใดไม่จำเป็นต้องมีค่าใช้จ่ายเพิ่มเติม
โดยพื้นฐานแล้ว Load Balancer NGINX มีวัตถุประสงค์เพื่อดำเนินการกระจายคำขออัจฉริยะระหว่าง Node Application Server หลายตัวดังนั้นจึงรับประกันความพร้อมใช้งานและความน่าเชื่อถือของระบบในระดับสูงนอกจากนี้ยังสามารถใช้ในการประมวลผลทั้งประเภท Traffic HTTP และ TCP (รายละเอียดสามารถพบได้ในไฟล์HTTP โหลดบาลานซ์และTCP Load Balancingเอกสาร)
Node Load Balancing จะถูกเพิ่มลงใน Environment โดยอัตโนมัติหากคุณรับ Node Application Server มากกว่าหนึ่ง Node และนอกจากนี้ยังสามารถเพิ่มได้ด้วยตนเองแม้กระทั่งสำหรับ Server เดียวเมื่อต้องการทำเช่นนี้เพียงเลือกการปรับสมดุลตัวช่วยสร้างบล็อกเหนือ Application Server ที่เลือกในTopology Environmentหน้าต่าง.
ตอนนี้เมื่อ Environment พร้อมแล้วคุณสามารถดำเนินการกำหนดค่าวิธีการป้องกันที่ต้องการได้โดยใช้คำแนะนำด้านล่าง:
- การรับรองความถูกต้องทำให้การเข้าถึง Application ได้รับการป้องกันด้วยรหัสผ่าน
- ที่อยู่ IP ปฏิเสธกลไกใช้เพื่อห้ามการเข้าถึง Application จาก IP เฉพาะ
เราจะใส่ใจกับวิธีการด้วยการรวมกันวิธีการดังกล่าวข้างต้นเพื่อใช้พร้อมกันมาดูวิธีนำสิ่งนี้ไปใช้กับ Environment ของคุณกันดีกว่าเอาล่ะ!
การรับรองความถูกต้อง
การตรวจสอบสิทธิ์เป็นวิธีการที่เรียบง่ายแต่ทรงพลังในการจำกัดการเข้าถึง Application และรับรองว่าหน่วยงานที่ไม่ได้รับอนุญาตจะไม่สามารถก่อให้เกิดอันตรายใดๆต่อ Application ได้ในตัวอย่างนี้เราจะแสดงวิธีตั้งค่าการป้องกันชื่อผู้ใช้/รหัสผ่าน
-
แน่นอนว่าข้อมูลรหัสผ่านไม่สามารถจัดเก็บในรูปแบบเปิดได้ดังนั้นจึงจำเป็นต้องป้องกันตัวเองเพื่อที่คุณจะต้องสร้างแฮชตามชื่อผู้ใช้และรหัสผ่านที่ต้องการโดยใช้อะไรก็ได้htpasswdเครื่องมือหรือหนึ่งในบริการออนไลน์ที่คล้ายกัน (เช่นhttp://www.htpasswdgenerator.net/).
-
บันทึกลำดับอักขระที่คุณได้รับและเปลี่ยนกลับไปยัง DashboardPlatform โดยแสดง Environment ของคุณมีคลิกที่การกำหนดค่าปุ่มสำหรับBalancer NGINXNode
3. คุณจะเห็นเครื่องมือจัดการการกำหนดค่าเปิดแท็บแล้วคุณต้องสร้างไฟล์ใหม่(ใช้ปุ่มชื่อเดียวกันที่แผงเครื่องมือ) ภายในคอนเฟิร์มโฟลเดอร์ตั้งชื่อที่ต้องการแต่จำเป็นต้องปฏิบัติตาม.htpasswdส่วนขยาย (เช่นรหัสผ่าน.htpasswd).
4. หลังจากเสร็จสิ้นให้วางแฮชที่คุณได้รับในขั้นตอนคำแนะนำแรกลงในเนื้อหาของไฟล์โปรดจำไว้ว่าคุณสามารถเพิ่มบัญชีได้มากเท่าที่คุณต้องการ (อย่าลืมวางบัญชีถัดไปจากบรรทัดใหม่)
บันทึกการเปลี่ยนแปลงเมื่อการตั้งค่าทั้งหมดเสร็จสิ้น
- จากนั้นเลือกnginx-Ruk-Com PaaS.confไฟล์ภายในการประชุมโฟลเดอร์และค้นหาไฟล์ที่ตั้งบล็อกในครั้งแรกServerส่วนรหัสวางบรรทัดต่อไปนี้เพื่อเปิดใช้งานการตรวจสอบสิทธิ์และใช้กฎการเข้าถึงที่เหมาะสม:
สำเนา nginx
auth_basic "closed site";
auth_basic_user_file /etc/nginx/conf.d/{htpasswd_file};
ที่ไหน{htpasswd_file}- ชื่อของไฟล์ที่คุณใส่แฮชพร้อมรหัสผ่าน (ในกรณีของเราคือไฟล์นี้รหัสผ่าน.htpasswd).
บันทึก:ที่ปกติเราจะแนะนำให้แก้ไขการกำหนดค่าในnginx.confไฟล์และเก็บnginx-Ruk-Com PaaS.confเนื้อหาของตนเป็นการตั้งค่าเริ่มต้น/การสำรองข้อมูลแต่ในกรณีนี้เนื่องจากการเปลี่ยนแปลงที่จำเป็นนั้นค่อนข้างง่ายและเราค่อนข้างแน่ใจว่าเรารู้ว่ากำลังทำอะไรอยู่การทำงานโดยตรงกับnginx-รัก-คอม PaaSไฟล์.
- บันทึกการเปลี่ยนแปลงที่คุณได้ทำขึ้นอีกครั้งหนึ่งและRestartNode Balancer NGINX
7. ตอนนี้เมื่อพยายามเปิดApplication ของคุณใน Browserคุณ (และ Client อื่นๆ ) จะต้องผ่านหน้าต่างการตรวจสอบสิทธิ์ก่อนที่จะเข้าถึง Application
หลังจากระบุข้อมูลประจำตัวที่เหมาะสมแล้ว (เช่นข้อมูลที่คุณสร้างแฮชมา) Application ของคุณจะถูกเปิดขึ้น
ที่อยู่ IP ปฏิเสธ
หากคุณสังเกตเห็นอันตรายบางอย่างต่อ Application ของคุณโดยผู้ใช้รายใดรายหนึ่งคุณสามารถหยุดเขาได้โดยการบล็อกคำขอใดๆที่ส่งจากที่อยู่ IP ของผู้ใช้นั้นและด้วยเหตุนี้จึงปฏิเสธการเข้าถึง Application ของคุณสามารถทำได้ง่ายๆโดยทำตามขั้นตอนด้านล่างนี้
- เปิด DashboardPlatform พร้อมกับ Environment ของคุณแล้วคลิกการกำหนดค่าปุ่มสำหรับBalancer NGINXNode
2. คลิกที่nginx-Ruk-Com PaaS.confไฟล์ในการประชุมโฟลเดอร์ภายในที่เปิดอยู่เครื่องมือจัดการการกำหนดค่าแท็บจากนั้นค้นหาบล็อกตำแหน่งในส่วนรหัส Server แรกแล้ววางบรรทัดต่อไปนี้ที่นั่น:
สำเนา nginx
deny {IP_ADDRESS};
ที่ไหน{IP_ADDRESS}- ที่อยู่ที่คุณต้องการบล็อกความสามารถในการเปิด Application ของคุณอย่างชัดเจน
หมายเหตุ:
- คุณยังสามารถตั้งค่า Parameter นี้เป็นได้ทั้งหมดซึ่งหมายความว่าจะไม่มีใครสามารถเข้าถึง Application ของคุณได้ในกรณีนี้อาจมีประโยชน์ที่จะระบุอีกหนึ่งรายการอนุญาตคำสั่งที่นี่ซึ่งใช้เพื่อกำหนดที่อยู่ IP (หรือช่วงที่อยู่) ที่คุณต้องการให้สิทธิ์ในการเข้าถึง
- ในกรณีที่โครงสร้างแบบง่ายที่เสนอข้างต้นไม่ได้ผลสำหรับคุณ (เนื่องจากอาจเกิดจากการกำหนดค่าเฉพาะที่ Platform ใด Platform หนึ่ง) คุณสามารถลองใช้วิธีต่อไปนี้แทน:
สำเนา nginx
if ($http_x_forwarded_for ~* {IP_ADDRESS}) {
return 403;
}
- บันทึกการเปลี่ยนแปลงและRestartNode NGINX ของคุณโดยใช้ปุ่มที่เหมาะสม
4. เป็นผลให้ผู้ใช้ที่มีที่อยู่ IP ที่ถูกปฏิเสธจะต้องเผชิญกับ403 สิ่งต้องห้ามเกิดข้อผิดพลาดขณะพยายามเข้าถึง Application ของคุณ
การผสมผสานวิธีการ
หากต้องการรวมการจำกัดตามที่อยู่ IP และวิธีการตรวจสอบความถูกต้องเข้าด้วยกันคุณจะต้องใช้ทำให้พึงพอใจคำสั่งตามค่าเริ่มต้น (เช่นหากไม่ได้ประกาศอย่างชัดเจนในการกำหนดค่า) จะถูกตั้งค่าเป็นทั้งหมดซึ่งหมายความว่าผู้ใช้ควรตรงตามเงื่อนไขทั้งสองประเภทจึงจะได้รับอนุญาตให้เข้าถึงได้หากคุณระบุคำสั่งนี้ภายในไฟล์การกำหนดค่าของคุณและตั้งค่าเป็นใดๆผู้ใช้จะสามารถเปิด Application ได้หากตรงตามเงื่อนไขอย่างน้อยหนึ่งข้อนี่คือตัวอย่างของการกำหนดค่าดังกล่าว:
ดังนั้นผู้ใช้ที่ไม่ผ่านการรับรองความถูกต้องจะได้รับอนุญาตให้เข้าถึงได้หากที่อยู่ IP ของเขาอยู่ในรายชื่อที่ได้รับอนุญาตหรือผู้ใช้ที่มีที่อยู่ IP ที่ถูกปฏิเสธจะยังสามารถเข้าถึงเว็บไซต์ได้หากพวกเขาป้อนชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง
ตอนนี้คุณรู้วิธีพื้นฐานบางประการในการปกป้องแอปของคุณโดยให้สิทธิ์การเข้าถึงแก่ผู้ใช้ที่เชื่อถือได้เท่านั้นรวมถึงการปฏิเสธให้กับผู้ใช้ที่ไม่น่าเชื่อถือและอาจเป็นอันตรายโปรดจำไว้ว่าการใช้เวลาเพิ่มความปลอดภัยให้กับ Application ของคุณตอนนี้สามารถช่วยคุณประหยัดเวลาและเงินได้มากในภายหลังและจะไม่ส่งผลเสียใดๆก็ตาม




