Cho dù bạn là một blogger, chủ một cửa hàng Thương mại điện tử hay quản trị viên web cho một nhà cung cấp dịch vụ, ai cũng biết rằng trong thế giới internet ngày nay, việc có một trang web mạnh có thể là sự khác biệt giữa thành công và thất bại về kinh tế.
Với việc các doanh nghiệp ngày càng phát triển phụ thuộc vào các công cụ tìm kiếm và lưu lượng truy cập web để thúc đẩy doanh số bán hàng, thì nguy cơ ngày càng hiện hữu từ các tác nhân xấu tạo các cuộc tấn công DDoS.
Nhưng cuộc tấn công DDoS là gì, làm thế nào chúng có thể được xác định và bạn có thể làm gì để bảo vệ trang web của mình trước chúng? Trong hướng dẫn này, chúng ta sẽ xem xét các dấu hiệu phổ biến của cuộc tấn công DDoS cũng như các bước bạn có thể thực hiện để giảm thiểu thiệt hại mà chúng gây ra.
DDoS là gì?
DDoS , hoặc Tấn công Từ chối dịch vụ là một cuộc tấn công phối hợp sử dụng một hoặc nhiều địa chỉ IP được thiết kế để làm tê liệt một trang web bằng cách làm cho máy chủ của nó không thể truy cập được.
Điều này được thực hiện bằng cách làm quá tải tài nguyên của máy chủ và sử dụng hết tất cả các kết nối, băng thông có sẵn. Cũng giống như khi lái xe, thời gian di chuyển của bạn từ điểm A đến điểm B sẽ chậm hơn nếu có quá nhiều xe cộ. Bằng cách làm ngập một máy chủ có nhiều kết nối hơn mức nó có thể xử lý, máy chủ sẽ bị quá tải, không thể xử lý các yêu cầu hợp pháp. Ngay cả các máy chủ lớn cũng không thể xử lý số lượng kết nối mà DDoS có thể mang lại.
Mặc dù có nhiều phương tiện khác nhau để thực hiện một cuộc tấn công DDoS, từ HTTP floods đến các kết nối kéo dài của Slowloris, nhưng phần lớn yêu cầu kết nối trực tiếp đến máy chủ của bạn. Rất nhiều trong số họ.
Tin tốt là vì những kết nối này đang hoạt động, bạn có khả năng nhìn thấy chúng khi chúng đang được thực hiện. Sử dụng một vài lệnh đơn giản, bạn không chỉ có thể xác định xem DDoS có đang xảy ra hay không mà còn có thể có được thông tin cần thiết để giúp giảm thiểu các cuộc tấn công này.
Cách kiểm tra DDoS
Nếu bạn lo lắng rằng máy chủ của mình có thể bị tấn công DDoS, điều đầu tiên bạn cần làm là xem xét tình trạng tải trên máy chủ của mình.
Tải chấp nhận được là bao nhiêu?
Điều đó phụ thuộc vào tài nguyên CPU của bạn hoặc các luồng có sẵn. Thông thường, quy tắc là một điểm cho mỗi luồng.
Để xác định tải hiện tại của máy chủ, bạn có thể sử dụng các lệnh grep / proc / cpuinfo | lệnh wc -l , sẽ trả về số lượng bộ xử lý logic (luồng). Trong một cuộc tấn công DDoS, bạn có thể thấy tải ở mức gấp đôi, gấp ba hoặc thậm chí cao hơn mức tải tối đa mà bạn nên có.
Để bắt đầu, hãy sử dụng hai lệnh bên dưới để trả về thời gian hoạt động và tải máy chủ của bạn.
grep processor /proc/cpuinfo | wc -l uptime
Mức trung bình tải hiển thị tải trong các khoảng thời gian sau: trung bình 1 phút, trung bình 5 phút và trung bình 15 phút. Trong trường hợp này, trung bình tải lớn hơn 7 có thể là một mối quan tâm.
Không giống như ví dụ trên, đôi khi máy chủ của bạn sẽ phản hồi tốt qua kết nối phụ trợ như IPMI, nhưng vẫn sẽ chậm khi kết nối qua giao diện công cộng. Để xác định xem có phải trường hợp này hay không, bạn sẽ muốn kiểm tra lưu lượng mạng của mình.
Điều này có thể được thực hiện bằng một trong số các công cụ bao gồm nload, bmon, iftop, vnstat và ifstat. Lựa chọn của bạn sẽ phụ thuộc vào hệ điều hành của bạn, nhưng tất cả các công cụ này đều có thể được cài đặt thông qua trình quản lý gói của bạn (apt, yum, v.v.).
Cách kiểm tra IP nào đang kết nối với máy chủ của bạn
Vì hầu hết các cuộc tấn công DDoS yêu cầu kết nối với máy chủ của bạn, bạn có thể kiểm tra và xem có bao nhiêu và địa chỉ IP nào đang kết nối với máy chủ của bạn cùng một lúc.
Điều này có thể được xác định bằng cách sử dụng netstat, một lệnh được sử dụng để cung cấp tất cả các cách thức chi tiết. Tuy nhiên, trong trường hợp này, chúng ta chỉ quan tâm đến các IP cụ thể tạo kết nối, số lượng IP và có thể là các mạng con mà chúng là một phần của nó. Để bắt đầu, hãy nhập lệnh sau vào thiết bị đầu cuối của bạn:
netstat -ntu|awk '{print $5}'|cut -d: -f1 -s|sort|uniq -c|sort -nk1 -r
Lệnh này sẽ trả về danh sách giảm dần các IP nào được kết nối với máy chủ của bạn và mỗi IP có bao nhiêu kết nối.
Kết quả cũng có thể bao gồm dữ liệu giả, sẽ xuất hiện dưới dạng thông tin không phải IP và có thể bị bỏ qua.
Nhìn vào kết quả, bạn sẽ thấy các kết nối được liệt kê ở bất kỳ đâu từ 1 đến khoảng 50 kết nối trên mỗi IP. Điều này có thể khá phổ biến đối với các traffic bình thường. Tuy nhiên, nếu bạn thấy một số IP có hơn 100 kết nối, thì đây là điều cần xem xét kỹ lưỡng.
Bạn có thể thấy các IP đã biết, một hoặc nhiều IP riêng của máy chủ hoặc thậm chí IP cá nhân của riêng bạn với nhiều kết nối. Đối với hầu hết các phần, chúng có thể bị bỏ qua, vì chúng vẫn bình thường. Đó là khi bạn nhìn thấy các IP đơn lẻ, không xác định với hàng trăm hoặc hàng nghìn kết nối, bạn nên lo lắng, vì đây có thể là dấu hiệu của một cuộc tấn công.
Giảm nhẹ cuộc tấn công DDoS
Khi bạn phát hiện những IP nào đang tấn công máy chủ của mình, việc chặn những IP cụ thể này có thể được thực hiện bằng một vài lệnh đơn giản.
Để bắt đầu, hãy sử dụng lệnh sau, thay thế “ipaddress” bằng địa chỉ IP mà bạn đang cố chặn.
route -n |grep ipaddress
Khi bạn đã chặn một IP cụ thể trên máy chủ, bạn có thể kiểm tra chéo xem IP đó có bị chặn thành công hay không bằng cách sử dụng:
route -n |grep ipaddress
Bạn cũng có thể đánh dấu địa chỉ IP trên máy chủ bằng cách sử dụng iptables bằng cách nhập các lệnh sau:
iptables -A INPUT 1 -s IPADDRESS -j DROP/REJECT service iptables restart service iptables save
Sau khi nhập một loạt lệnh này, bạn sẽ cần phải hủy tất cả các kết nối httpd và khởi động lại các dịch vụ httpd. Điều này có thể được thực hiện bằng cách nhập:
killall -KILL httpd service httpd startssl
Nếu nhiều địa chỉ IP không xác định đang tạo ra một số lượng lớn kết nối, thì một trong hai quá trình này có thể được lặp lại cho tất cả các IP đang bị lạm dụng.
DDoS sử dụng nhiều IP
Mặc dù cuộc tấn công từ chối dịch vụ từ một IP duy nhất tạo ra nhiều kết nối có thể dễ dàng chẩn đoán và sửa chữa, nhưng việc ngăn chặn DDoS trở nên phức tạp hơn khi những kẻ tấn công sử dụng ít kết nối hơn trên một số lượng lớn hơn các IP tấn công.
Trong những trường hợp này, bạn sẽ thấy ít kết nối riêng lẻ hơn ngay cả khi máy chủ của bạn bị DDoS. Với sự gia tăng của Internet vạn vật (IoT), các kiểu tấn công này đã trở nên phổ biến hơn. Bằng cách xâm nhập và sử dụng các thiết bị, thiết bị và công cụ “thông minh” có tính năng kết nối internet, các phần tử độc hại đã xây dựng mạng lưới các IP có sẵn, được gọi là botnet, có khả năng được triển khai trong các cuộc tấn công DDoS phối hợp chống lại các mục tiêu cụ thể.
Vì vậy, bạn có thể làm gì nếu bạn thấy một số lượng lớn các IP không xác định chỉ thực hiện các kết nối đơn lẻ? Trong trường hợp này, có thể khó xác định đây là lưu lượng truy cập tự nhiên hay là một cuộc tấn công phối hợp.
Để bắt đầu, bạn sẽ muốn xác định xem những kết nối này đến từ các mạng con chung: phổ biến là giống nhau / 16 hoặc / 24. Bạn có thể sử dụng hai lệnh tiếp theo để liệt kê các mạng con chứa các IP được kết nối và có bao nhiêu IP trong mỗi mạng con.
Để tìm các IP từ cùng một mạng con /16 (xxx.xxx.0.0), hãy sử dụng:
netstat -ntu|awk '{print $5}'|cut -d: -f1 -s |cut -f1,2 -d'.'|sed 's/$/.0.0/'|sort|uniq -c|sort -nk1 -r
Khi được nhập, lệnh này sẽ hiển thị bất kỳ IP nào bắt đầu bằng hai octet giống nhau: tức là. 192.168.xxx.xxx.
Để tìm các IP từ cùng một mạng con /24 (xxx.xxx.xxx.0), hãy sử dụng:
netstat -ntu|awk '{print $5}'|cut -d: -f1 -s |cut -f1,2,3 -d'.'|sed 's/$/.0/'|sort|uniq -c|sort -nk1 -r
Khi được nhập, lệnh này sẽ hiển thị bất kỳ IP nào bắt đầu bằng ba octet giống nhau: tức là. 192.168.1.xxx.
Khi bạn đã xác định được liệu bạn có thực sự đang bị tấn công DDoS nhiều IP hay không, các bước để giảm thiểu nó cũng giống như các bước được sử dụng ở trên để chống lại các cuộc tấn công IP đơn lẻ, nhưng được nhân rộng cho nhiều IP.
Những kỹ thuật này chỉ là một số công cụ có sẵn để kiểm tra các cuộc tấn công có thể xảy ra. Mặc dù hiện có nhiều công cụ nâng cao hơn, nhưng các phương pháp này có thể cung cấp kết quả nhanh chóng và dễ dàng để xác định xem bạn có đang gặp phải cuộc tấn công DDoS hay không.
Thông tin mà các lệnh này cung cấp rất hữu ích ngay cả khi không bị tấn công và việc tự làm quen với chúng có thể giúp củng cố công cụ của bất kỳ quản trị viên nào.
Rủi ro và chi phí liên quan đến các cuộc tấn công DDoS lớn hơn bao giờ hết. Thật không may, với sự gia tăng của các mạng botnet, ngay cả khi một cuộc tấn công DDoS được xác minh, việc chặn hàng trăm hoặc hàng nghìn IP tấn công theo cách thủ công có thể cực kỳ khó khăn. Trong những trường hợp này, rất khó để ngăn chặn một cuộc tấn công khi nó bắt đầu.
Vì lý do này, cách tốt nhất là bạn nên có sẵn một kế hoạch để chống lại các cuộc tấn công DDoS trước khi chúng xảy ra. Ngoài các phương pháp được đề cập ở đây, bạn cũng có thể muốn xem xét đăng ký một trong các dịch vụ bảo vệ DDoS khác nhau có sẵn trực tuyến. Các tùy chọn phổ biến bao gồm Akamai, Verisign và Radware.