วิธีป้องกันการโจมตี 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เพื่อดูตัวเลือกความปลอดภัยเพิ่มเติมที่คุณสามารถใช้ได้

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


วิธีย่อขนาดหน้าจอใน Windows 10

วิธีย่อขนาดหน้าจอใน Windows 10

บทความนี้จะแสดงวิธีย่อขนาดหน้าจอใน Windows 10 เพื่อให้คุณใช้งานได้อย่างมีประสิทธิภาพ

วิธีปิด (หรือเปิด) Xbox Game Bar บน Windows 10

วิธีปิด (หรือเปิด) Xbox Game Bar บน Windows 10

Xbox Game Bar เป็นเครื่องมือสนับสนุนที่ยอดเยี่ยมที่ Microsoft ติดตั้งบน Windows 10 ซึ่งผู้ใช้สามารถเรียนรู้วิธีเปิดหรือปิดได้อย่างง่ายดาย

5 วิธีในการจดบันทึกบน Windows 11 โดยไม่ต้องดาวน์โหลดซอฟต์แวร์

5 วิธีในการจดบันทึกบน Windows 11 โดยไม่ต้องดาวน์โหลดซอฟต์แวร์

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

วิธีนำแอพพลิเคชั่นไปไว้บนหน้าจอคอมพิวเตอร์ Windows 11

วิธีนำแอพพลิเคชั่นไปไว้บนหน้าจอคอมพิวเตอร์ Windows 11

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

วิธีถอนการติดตั้งไดรเวอร์บน Windows อย่างสมบูรณ์

วิธีถอนการติดตั้งไดรเวอร์บน Windows อย่างสมบูรณ์

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

วิธีเปิดใช้งานแป้นพิมพ์เสมือน/แป้นพิมพ์สัมผัสบน Windows 11

วิธีเปิดใช้งานแป้นพิมพ์เสมือน/แป้นพิมพ์สัมผัสบน Windows 11

เรียนรู้วิธีเปิดใช้งานแป้นพิมพ์เสมือนบน Windows 11 เพื่อเพิ่มความสะดวกในการใช้งาน ผสานเทคโนโลยีใหม่เพื่อประสบการณ์ที่ดียิ่งขึ้น

วิธีใช้ AdLock เพื่อบล็อกโฆษณาบนคอมพิวเตอร์ของคุณ

วิธีใช้ AdLock เพื่อบล็อกโฆษณาบนคอมพิวเตอร์ของคุณ

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

หนอนคืออะไร? เหตุใดจึงเป็นอันตรายต่อคอมพิวเตอร์?

หนอนคืออะไร? เหตุใดจึงเป็นอันตรายต่อคอมพิวเตอร์?

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

วิธีดาวน์โหลด อัปเดต และแก้ไขปัญหาไดรเวอร์ USB บน Windows 10

วิธีดาวน์โหลด อัปเดต และแก้ไขปัญหาไดรเวอร์ USB บน Windows 10

เรียนรู้วิธีดาวน์โหลดและอัปเดตไดรเวอร์ USB บนอุปกรณ์ Windows 10 เพื่อให้ทำงานได้อย่างราบรื่นและมีประสิทธิภาพ

5 วิธีในการปรับแต่ง Xbox Game Bar บน Windows PC

5 วิธีในการปรับแต่ง Xbox Game Bar บน Windows PC

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Xbox Game Bar และวิธีปรับแต่งให้เหมาะกับประสบการณ์การเล่นเกมที่สมบูรณ์แบบของคุณ บทความนี้มีข้อมูลทั้งหมด