วิธีป้องกันการโจมตี DDoS ด้วย Nginx

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

การโจมตี DDoS (Distributed Denial of Service)ผ่านกลยุทธ์การสื่อสารดิจิทัลที่ไม่เหมาะสม ทรัพยากรเซิร์ฟเวอร์โอเวอร์โหลด การโจมตีประเภทนี้ถือเป็นการโจมตีในโลกคอมพิวเตอร์ การกระทำที่น่ารังเกียจนับไม่ถ้วนรวมกันเพื่อสร้างภัยคุกคามที่น่าเกรงขามพอที่จะบังคับให้เซิร์ฟเวอร์ต้องหยุดทำงาน

ที่แย่ที่สุดคือมีหลายวิธีในการ "ทำสงคราม" บนเว็บแบบกองโจรกับโฮสต์ดังกล่าว โชคดีที่เซิร์ฟเวอร์สามารถกำหนดค่าให้ต้านทานการโจมตีดังกล่าวได้

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

ต่อไปนี้คือตัวเลือกที่มีประสิทธิภาพบางส่วนในการจัดการกับภัยคุกคามดังกล่าวด้วย Nginx

จะป้องกันการโจมตี DDoS ด้วย Nginx ได้อย่างไร

สำรองไฟล์การกำหนดค่า

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

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup-original

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

เมื่อเสร็จแล้วคุณก็พร้อมที่จะดำเนินการต่อ

ตรวจสอบการจราจร

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

ตั้งค่าหน้าสถานะ

Nginx มักจะมาพร้อมกับโมดูลที่เรียกว่า"stub status" (http_stub_status_module) ซึ่งช่วยให้ฟังก์ชันประเภทนี้สามารถรวมเข้ากับสภาพแวดล้อมของเซิร์ฟเวอร์ได้อย่างง่ายดาย ขั้นแรก ให้ทดสอบโดยใช้คำสั่งต่อไปนี้:

nginx -V

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

หรือใช้คำสั่งต่อไปนี้เพื่อค้นหาได้เร็วขึ้น:

nginx -V 2>&1 | grep -o with-http_stub_status_module

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

หากผลลัพธ์ของคุณดูเหมือนข้างต้น แสดงว่าทุกอย่างเรียบร้อยดี มิฉะนั้น คุณจะต้องติดตั้งหรือคอมไพล์การติดตั้ง Nginx อีกครั้งด้วยโมดูลที่ให้มาด้วย

การตั้งค่าหน้าสถานะที่คุณสามารถตรวจสอบได้นั้นง่ายดาย แต่คุณยังต้องจำกัดการเข้าถึงขั้นต่ำ (คอมพิวเตอร์เท่านั้น) เพื่อรักษาความปลอดภัย เริ่มต้นด้วยการเปิดไฟล์การกำหนดค่าหลักของเซิร์ฟเวอร์ซึ่งอยู่ที่/etc/nginx/nginx.conf

เปิดและเพิ่มโค้ดต่อไปนี้ใน"http directive"เพื่อเปิดใช้งานโมดูล โดยแทนที่ข้อมูลของคุณเองใน"localhost" "/status_page"และ"127.0.0.1"

server {
listen 80;
listen [::]:80;
server_name localhost;
##
# Status Page Settings
##
location /status_page {
stub_status on;
allow 127.0.0.1;
allow ::1;
deny all;
}
}

หมายเหตุ : คุณจะต้องมีสิทธิ์ sudo เพื่อแก้ไขไฟล์นี้

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

ตอนนี้ ทดสอบการกำหนดค่าของคุณ:

sudo nginx -t

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

หากทุกอย่างเรียบร้อยดี ให้ส่งสัญญาณรีโหลดไปยังเซิร์ฟเวอร์:

sudo systemctl reload nginx

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

หากต้องการเข้าถึงหน้าสถานะของคุณ ให้ไปที่ตำแหน่งserver_nameตามด้วย“/status_page”ในเว็บเบราว์เซอร์หรือโดยใช้เครื่องมือบรรทัดคำสั่ง เช่นcurl (ซึ่งจะเป็นประโยชน์หากแคชของเบราว์เซอร์ของคุณไม่ได้รับการอัพเดตโดยอัตโนมัติ) นี่คือคำสั่ง curlเพื่อเข้าถึงเพจตามตัวอย่าง:

curl localhost/status_page

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

ในเบราว์เซอร์ ผลลัพธ์คำสั่งดังกล่าวจะมีลักษณะเหมือนภาพต่อไปนี้

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

ตรวจสอบบันทึกการเข้าถึง

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

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

ขีดจำกัดการเชื่อมต่อ

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

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

limit_req_zone $binary_remote_addr zone=speedbump:10m rate=10r/s;

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

limit_req zone=speedbump burst=20;

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

วิธีป้องกันการโจมตี DDoS ด้วย Nginx

สร้างบัญชีดำของที่อยู่ IP

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

เพิ่มรหัสต่อไปนี้ลงในคำสั่งเซิร์ฟเวอร์ของคุณ:

location / {
deny 123.123.123.0/28;
# ...
}

บล็อกคำขอสำหรับไฟล์บางไฟล์

หากการโจมตี DDoS กำหนดเป้าหมายไปที่ไฟล์บางไฟล์บนเซิร์ฟเวอร์ เช่น ไฟล์ xmlrpc.phpบนWordPress (ซึ่งเป็นไฟล์ที่มีการกำหนดเป้าหมายโดยทั่วไปในเซิร์ฟเวอร์ WordPress ส่วนใหญ่) คุณสามารถบล็อกไฟล์เหล่านั้นทั้งหมดได้ ตามข้อกำหนดทั้งหมด เพิ่มรหัสนี้ลงในคำสั่งเซิร์ฟเวอร์ของคุณ:

location /xmlrpc.php {
deny all;
}

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

หวังว่าคุณจะประสบความสำเร็จ


คำแนะนำจาก AZ เกี่ยวกับวิธีติดตั้ง Windows 10 บิวด์ 14393.222

คำแนะนำจาก AZ เกี่ยวกับวิธีติดตั้ง Windows 10 บิวด์ 14393.222

ล่าสุด Microsoft เปิดตัวการอัปเดตสะสมล่าสุดสำหรับผู้ใช้พีซี Windows 10 ที่เรียกว่า Build 14393.222 การอัปเดตนี้เผยแพร่สำหรับ Windows 10 โดยส่วนใหญ่จะแก้ไขจุดบกพร่องตามคำติชมของผู้ใช้ และปรับปรุงประสบการณ์ด้านประสิทธิภาพของระบบปฏิบัติการ

ปกป้องเครือข่ายคอมพิวเตอร์ของคุณด้วยโฮสต์ Bastion ในเวลาเพียง 3 ขั้นตอน

ปกป้องเครือข่ายคอมพิวเตอร์ของคุณด้วยโฮสต์ Bastion ในเวลาเพียง 3 ขั้นตอน

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

วิธีสร้างคีย์ Windows หากไม่มีแป้นพิมพ์ของคุณ

วิธีสร้างคีย์ Windows หากไม่มีแป้นพิมพ์ของคุณ

หากคุณต้องการใช้แป้นพิมพ์คลาสสิกรุ่นเก่า เช่น IBM Model M ที่ไม่มีคีย์ Windows มาให้ มีวิธีง่ายๆ ในการเพิ่มคีย์เพิ่มเติมโดยการยืมคีย์ที่คุณไม่ได้ใช้บ่อย

3 วิธีในการล้างบันทึกเหตุการณ์ทั้งหมดใน Windows 10 อย่างรวดเร็ว

3 วิธีในการล้างบันทึกเหตุการณ์ทั้งหมดใน Windows 10 อย่างรวดเร็ว

บางครั้งคุณอาจต้องลบบันทึกเหตุการณ์เก่าทั้งหมดพร้อมกัน ในคู่มือนี้ Quantrimang.com จะแสดง 3 วิธีในการลบบันทึกเหตุการณ์ทั้งหมดใน Windows 10 Event Viewer อย่างรวดเร็ว

วิธี IP ปลอมช่วยให้คุณเข้าถึงโดยไม่ระบุชื่อ

วิธี IP ปลอมช่วยให้คุณเข้าถึงโดยไม่ระบุชื่อ

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

วิธีสร้างโหมดพื้นหลังโปร่งใสบน Windows 10

วิธีสร้างโหมดพื้นหลังโปร่งใสบน Windows 10

WindowTop เป็นเครื่องมือที่มีความสามารถในการหรี่หน้าต่างแอปพลิเคชันและโปรแกรมทั้งหมดที่ทำงานบนคอมพิวเตอร์ Windows 10 หรือคุณสามารถใช้อินเทอร์เฟซพื้นหลังสีเข้มบน windows ได้

วิธีปิดแถบภาษาบนทาสก์บาร์ของ Windows 8

วิธีปิดแถบภาษาบนทาสก์บาร์ของ Windows 8

แถบภาษาบน Windows 8 เป็นแถบเครื่องมือภาษาขนาดเล็กที่ออกแบบมาเพื่อแสดงบนหน้าจอเดสก์ท็อปโดยอัตโนมัติ อย่างไรก็ตาม หลายๆ คนต้องการซ่อนแถบภาษานี้บนทาสก์บาร์

วิธีการตั้งค่า WEP, WPA, WPA2 สำหรับเราเตอร์ Linksys

วิธีการตั้งค่า WEP, WPA, WPA2 สำหรับเราเตอร์ Linksys

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

เคล็ดลับในการปรับความเร็วการเชื่อมต่ออินเทอร์เน็ตจาก Linksys ให้เหมาะสม

เคล็ดลับในการปรับความเร็วการเชื่อมต่ออินเทอร์เน็ตจาก Linksys ให้เหมาะสม

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

เคล็ดลับในการแสดงการแจ้งเตือนบนหน้าจอเข้าสู่ระบบ Windows 10

เคล็ดลับในการแสดงการแจ้งเตือนบนหน้าจอเข้าสู่ระบบ Windows 10

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