Sống sót trước một cuộc tấn công DDoS

Tác giả NetworkEngineer, T.Một 07, 2021, 11:19:48 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Sống sót trước một cuộc tấn công DDoS


1. Giới thiệu.

Các cuộc tấn công từ chối dịch vụ phân tán (DDoS) có thể đưa bất kỳ trang web nào trạng thái quá tải và không thể truy cập được. Ngay cả Google và GitHub, với nguồn tài nguyên khổng lồ của họ, cũng phải vật lộn để duy trì trạng thái trực tuyến trong một cuộc tấn công lớn. Tệ hơn nữa, bất kỳ ai có vài đô la cũng có thể tung ra một cuộc tấn công DDoS.

Nếu bạn lưu trữ các trang web, bạn và người dùng của bạn có thể bị tấn công từ chối dịch vụ đủ lớn để hạ các trang web trong nhiều giờ hoặc thậm chí vài ngày. Tuy nhiên, các tác động xấu nhất của các cuộc tấn công DDoS có thể tránh được bằng các công cụ phù hợp, đó là lý do tại sao cPanel & WHM đã tích hợp vào một số tính năng giảm thiểu DDoS.

Trong bài viết này, mình sẽ giải thích các cuộc tấn công từ chối dịch vụ là gì, cách chúng hoạt động và bạn có thể làm gì để tồn tại với chúng.

2. Tấn công DDoS là gì và nó hoạt động như thế nào?

Trước khi chúng ta đến với các cuộc tấn công Từ chối Dịch vụ Phân tán, hãy xem cách thức hoạt động của một cuộc tấn công Từ chối Dịch vụ (DoS) cũ.

2.1. Denial of Service Attacks.

Tấn công từ chối dịch vụ (DoS) là một nỗ lực để áp đảo các máy chủ bằng các yêu cầu và kết nối độc hại. Mục đích chính của máy chủ là chấp nhận và xử lý các kết nối mạng. Mỗi cái tiêu thụ một phần băng thông, bộ nhớ và sức mạnh xử lý và quá nhiều có thể sử dụng hết tài nguyên hiện có, ngăn cản các kết nối mới. Khi điều đó xảy ra, các trang web không thể được truy cập, thực tế là chúng đã bị loại khỏi internet.

Những kẻ tấn công khai thác lỗ hổng này bằng cách tạo ra rất nhiều kết nối và gửi quá nhiều dữ liệu đến mức máy chủ hoặc giao diện mạng không thể đối phó. Bạn có thể tự hỏi tại sao quản trị viên không chỉ đơn giản là chặn các kết nối thù địch. Đó là những gì rất lén lút về các cuộc tấn công DoS: làm thế nào để chúng ta phân biệt kết nối tốt với kết nối xấu khi tất cả chúng đều giống nhau?

Một cách là địa chỉ IP nguồn. Nếu một địa chỉ IP đe dọa lấn át một máy chủ, chúng ta có thể chặn nó. Những kẻ tấn công biết điều này và đó là một trong những động lực cho các cuộc tấn công Từ chối Dịch vụ Phân tán.

2.2. Distributed Denial of Service Attacks.

Trong một cuộc tấn công DDoS, kẻ tấn công sử dụng mạng botnet của các máy bị xâm nhập, có thể là bất kỳ thứ gì từ các máy chủ khác đến máy tính xách tay của người dùng đến các camera an ninh được kết nối mạng. Một mạng botnet chứa hàng nghìn nút mà kẻ tấn công có thể chỉ thị từ xa để tấn công mục tiêu. Bởi vì có rất nhiều bot, rất khó để chặn tất cả.

2.3. Các cuộc tấn công khuếch đại.

Các cuộc tấn công DDoS có thể trở nên ranh ma hơn. Những kẻ tấn công đấu tranh để xây dựng các mạng botnet tạo ra đủ dữ liệu để hạ gục một nhà cung cấp dịch vụ lưu trữ được chuẩn bị tốt. Thay vì tấn công trực tiếp mục tiêu, họ tìm kiếm một dịch vụ trực tuyến để khuếch đại các yêu cầu của họ.

Khi bạn yêu cầu một trang web, bạn sẽ gửi một lượng nhỏ dữ liệu và máy chủ sẽ gửi lại phản hồi lớn hơn nhiều. Điều này cũng đúng với một số máy chủ DNS, máy chủ Giao thức thời gian mạng (NTP), cơ sở dữ liệu và bộ nhớ đệm, v.v.

Ví dụ: kẻ tấn công có thể sử dụng mạng botnet của họ để gửi yêu cầu đến máy chủ NTP đang mở. Yêu cầu ban đầu là rất nhỏ, một vài byte. Tuy nhiên, phản hồi có thể lớn hơn tới 200 lần. Kẻ tấn công gửi một megabyte có thể tạo ra 200 megabyte phản hồi. Nếu chúng giả mạo địa chỉ IP của yêu cầu ban đầu, thì dữ liệu sẽ không được chuyển đến mạng botnet mà đến mục tiêu.

Loại khuếch đại này đứng sau một số cuộc tấn công DDoS quan trọng nhất trong lịch sử, bao gồm cuộc tấn công 1,35 Terabyte mỗi giây vào năm ngoái chống lại GitHub.

3. Các loại tấn công DDoS là gì?

Cách phổ biến nhất để phân loại các cuộc tấn công DDoS là theo phần kết nối mạng mà chúng nhắm mục tiêu. Bạn có thể coi các kết nối là các lớp giao thức và định dạng dữ liệu, với mỗi lớp tùy thuộc vào lớp bên dưới nó. Ví dụ, HTTP của web phụ thuộc vào giao thức TCP cấp thấp hơn.

Vì sao là vấn đề này? Bởi vì các kỹ thuật được sử dụng để giảm thiểu các cuộc tấn công DDoS phụ thuộc vào lớp mạng mà chúng nhắm mục tiêu.

Mô hình Kết nối Hệ thống Mở (OSI) phổ biến chia các kết nối thành bảy lớp.

  • Lớp 1 - lớp vật lý truyền dữ liệu thô qua phần cứng của mạng.
  • Lớp 2 - lớp liên kết dữ liệu, xác định định dạng của dữ liệu.
  • Lớp 3 - lớp mạng, quyết định dữ liệu đường đi.
  • Lớp 4 - lớp truyền tải, là mức của giao thức truyền TCP và UDP.
  • Lớp 5 - lớp phiên, quản lý các kết nối và phiên.
  • Lớp 6 - lớp trình bày, xử lý các định dạng và mã hóa dữ liệu.
  • Lớp 7 - lớp ứng dụng, là lớp mà chúng ta tương tác khi nhấp vào liên kết hoặc giao tiếp với các ứng dụng web.

Các cuộc tấn công DDoS thường được quy cho một trong các lớp này. Cuộc tấn công Lớp 7 nhắm vào lớp ứng dụng, bao gồm các ứng dụng web, máy chủ web và cuộc tấn công khuếch đại NTP mà chúng ta đã xem xét trước đó. Các cuộc tấn công lớp 6 thường tập trung vào các kết nối SSL. Cuộc tấn công tràn ngập SYN phổ biến nhắm vào Lớp 4, lớp truyền tải, khai thác một điểm yếu trong giao thức TCP.

4. Cách bảo vệ bản thân khỏi bị tấn công.

Là quản trị viên máy chủ, bạn không thể làm gì để ngăn những kẻ tấn công gửi các yêu cầu mạng có hại. Tuy nhiên, bạn có thể cấu hình cả tường lửa và máy chủ web của máy chủ để loại bỏ các yêu cầu từ các địa chỉ IP hoạt động sai.

Để giúp bạn bảo vệ người dùng khỏi các cuộc tấn công từ chối dịch vụ, cPanel & WHM đã tích hợp một số công cụ giảm thiểu DDoS.

5. Cấu hình Server Security & Firewall.

cPanel & WHM hỗ trợ tường lửa Config Server Security (CSF), cung cấp plugin WHM với giao diện cấu hình toàn diện. Trước tiên, bạn sẽ cần làm theo các hướng dẫn sau để cài đặt plugin.

Tiếp theo, điều hướng đến trang Server Security & Firewall trong phần Plugin của menu thanh bên WHM. Cuộn xuống và nhấp vào Firewall Configuration.


Mục tiêu của chúng ta là bật Connection Tracking và cấu hình giá trị "CT_LIMIT", giá trị này kiểm soát số lượng kết nối mà tường lửa cho phép từ một địa chỉ IP. Trong một cuộc tấn công DDoS, một số lượng lớn các kết nối có thể được tạo từ cùng một IP và việc hạn chế các kết nối có thể giúp loại bỏ lưu lượng truy cập không mong muốn.

Giá trị chính xác phụ thuộc vào bản chất của cuộc tấn công và các mẫu lưu lượng truy cập điển hình, và bạn có thể muốn thử nghiệm, nhưng 300 là giá trị ban đầu hợp lý. Đặt giá trị này quá thấp có thể khiến các kết nối hợp pháp bị ngắt.


Bạn cũng có thể muốn điều chỉnh giá trị PORTFLOOD trên cùng một trang. PORTFLOOD giới hạn các kết nối đến một cổng cụ thể. Ví dụ: nếu máy chủ gặp phải cuộc tấn công chống lại cổng 80, cổng HTTP, các kết nối sau sẽ giới hạn các kết nối mới ở mức 50 trong vòng mười giây, chặn các lần thử tiếp theo.

Mã nguồn [Chọn]
PORTFLOOD = "80; tcp; 50; 10"
Cuối cùng, một trong những cuộc tấn công từ chối dịch vụ phổ biến và dễ thực hiện nhất là Layer 4 Syn Flood. CSF bao gồm tính năng bảo vệ chống ngập SYN, bạn có thể bật tính năng này trong phần Port Flood Settings của trang cấu hình.


Kích hoạt SYN Flood protection và điều chỉnh cài đặt SYNFLOOD_RATE và SYNFLOOD_BURST. Giá trị mặc định có thể quá cao để giảm thiểu một cuộc tấn công đang diễn ra. Các giá trị chính xác phụ thuộc vào các chi tiết cụ thể của cuộc tấn công, nhưng 75/s và 50 là một điểm khởi đầu tốt. Lưu ý rằng nếu bạn đặt các giá trị này quá thấp, lưu lượng truy cập hợp pháp có thể gặp sự cố kết nối.

Tính năng bảo vệ Syn Flood chỉ nên được bật trong một cuộc tấn công, vì nó có thể gây ra độ trễ mạng đáng kể.

6. Mod_Evasive

Mod_evasive là một mô-đun Apache với các tính năng giảm thiểu DDoS Lớp 7 phức tạp. Nó phát hiện các cuộc tấn công tiềm ẩn chống lại các ứng dụng web và thực hiện hành động né tránh bằng cách giới hạn tốc độ các địa chỉ IP thực hiện quá nhiều yêu cầu trong một thời gian ngắn.

Đầu tiên, chúng ta cần cài đặt mô-đun mod_evasive. Điều hướng đến Easy Apache 4 trong menu Phần mềm của WHM . Chọn tab Mô-đun Apache , tìm kiếm "mod_evasive" và bật cài đặt.


Tiếp theo, chọn Tab Review, cuộn xuống cuối trang và nhấp vào Provision.  WHM có thể mất vài giây để cài đặt mô-đun và các phụ thuộc của nó.

Mô-đun có các giá trị mặc định hợp lý, nhưng bạn có thể muốn tinh chỉnh tệp cấu hình, bạn sẽ tìm thấy tệp này trên hệ thống tệp của máy chủ tại:

Mã nguồn [Chọn]
/etc/apache2/conf.d/300-mod_evasive.conf
Nếu bạn muốn mod_evasive gửi email khi nó chặn IP, hãy đặt địa chỉ email trong phần DOSEmailNotify. Bạn có thể cần xóa biểu tượng chú thích (#) ở đầu dòng.


Tệp cấu hình được ghi lại với các nhận xét mở rộng và bạn có thể tìm hiểu thêm từ tài liệu mod_evasive của chúng ta.

7. Trình chặn IP cPanel.

cPanel bao gồm một Trình chặn IP có thể được sử dụng để chặn cả địa chỉ và phạm vi riêng lẻ. Đối với một cuộc tấn công phân tán lớn, chặn IP thủ công là không thực tế, nhưng nó có thể hữu ích cho các cuộc tấn công nhỏ hơn. Bạn sẽ tìm thấy Trình chặn IP trong menu bảo mật của cPanel.


Các cuộc tấn công DDoS là một thực tế của cuộc sống đối với các nhà cung cấp dịch vụ lưu trữ web. Theo thời gian, chúng trở nên lớn hơn và dễ thực hiện hơn. Số lượng các cuộc tấn công tăng gấp đôi từ năm 2018 đến năm 2019 và chúng ta có thể hy vọng xu hướng đó sẽ tiếp tục miễn là có tiền từ việc đe dọa sinh kế của các máy chủ web và chủ sở hữu trang web hợp pháp. May mắn thay, với cPanel & WHM và một chút chuẩn bị, bạn có thể chống lại và giữ an toàn cho người dùng của mình.