Cách phòng chống tấn công DDoS hiệu quả – phần 2

Cách phòng chống tấn công DDoS hiệu quả – phần 2

Phần trước chúng ta đã đề cập tới tấn công DDoS là gì và các dạng tấn công của chúng, các bạn có thể xem lại phần 1 tại đây: 

Cách phòng chống tấn công DDoS hiệu quả – phần 1

Phần 2 sẽ đề cập tiếp về cách thức phòng chống và triển khai hệ thống chống DDoS

 

Cách phòng chống tấn công từ chối dịch vụ DDoS

 

Cách đơn giản hiệu quả mà chúng tôi thực hiện là ngắt kết nối máy nạn nhân khỏi mạng BootNet của tin tặc. TABATECH.VN chia thành 3 nhóm giải pháp chống tấn công DDoS:

 

Phòng chống DDoS theo thời điểm xử lý tấn công

 

Thời điểm trước khi xảy ra tấn công DDoS:

Tại các bước này thực hiện các công việc về phòng vệ, ngăn chặn các cuộc tấn công có thể xảy ra. Các bước thực hiện đó là:

 

  • Rào chính sách bảo mật chặt chẽ.
  • Cập nhật hệ thống và vá lỗ hổng thường xuyên.
  • Có hệ thống theo dõi realtime bất thường xảy ra trong hệ thống và cảnh báo khi có sự cố.

 

Thời điểm trong khi bị tấn công DDoS

 

Các công việc ở bước này là phát hiện, nhận dạng và ngăn chặn tấn công càng nhanh càng tốt để dịch vụ vẫn hoạt động được.

 

Thời điểm sau khi xảy ra tấn công DDoS

 

Đây là các bước thực hiện sau khi cuộc tấn công đã xảy ra, bao gồm lần dấu vết và truy tìm nguồn gốc cuộc tấn công. Cần truy tìm theo log ghi nhận được để phân tích và ngăn chặn các cuộc tấn công tiềm ẩn có thể xảy ra sắp tới.

 

Phòng chống DDoS theo vị trí triển khai

 

 

Triển khai tại gần mạng nguồn tấn công:

 

Đây là phương pháp triển khai nhằm cách ly mạng BootNet tham gia tấn công DDoS, các biện pháp bao gồm:

  • Lọc gói tin giải mạo tại Router/Switch/Gateway/Modem
  • Sử dụng tường lửa hoặc proxy có thể nhận dạng và giới hạn các gói tin không hợp lệ.

 

Triển khai tại gần “mạng đích” tấn công:

 

Phương pháp này cũng thực hiện tại Router/Swtich/gateway/Modem, nhưng ở gần mạng đích của máy tính bị tấn công, các biện pháp bao gồm:

  • Nhận diện IP và các yêu cầu giả mạo.
  • Tiếp tục lọc và đánh dấu gói tin hợp lệ hay không hợp lệ để hệ thống bị tấn công có thể nhận diện được gói tin nào hợp lệ và gói tin nào đang tấn công. Các kỹ thuật thực hiện ở bước này gồm: Lọc IP theo history log, lọc IP theo kết nối đồng thời, tỷ lệ gói tin truyền qua theo địa chỉ IP.

 

Triển khai tại đích tấn công.

 

Tương tự tại vị trí này cũng thực hiện trên Router/Swtich/gateway/Modem và khiển khai trên máy chủ (máy bị tấn công). Các biện pháp bao gồm: lọc gói tin và phát hiện các gói tin độc hại.

 

Phòng chống DDoS theo giao thức mạng

 

Phòng chống DDoS tại tầng TCP

 

  • Lọc gói tin dựa theo địa chỉ IP, theo các chính sách đã được thiết lập sẵn.
  • Tăng Backlogs size để tăng khả năng chấp nhận kết nối mới của hệ thống máy đích.
  • Giảm thời gian chờ nhận gói tin xác thực kết nối TCP-ACK, giúp máy chủ hủy bỏ các kết nối không được xác thực trong khoảng thời gian ngắn, điều này giúp giải phóng lượng tài nguyên đang bị chiếm dữ của các kết nối ko tin cậy.
  • SYN Flood là một dạng tấn công từ chối dịch vụ dựa theo giao thức TCP thường gặp, để chặn được hiệu quả có thể dùng cách sử dụng SYN Cookies với mục đích chỉ cấp tài nguyên cho những yêu cầu hợp lệ.

 

Phòng chống DDoS tại tầng ứng dụng

 

  • Giới hạn tối thiểu các hành vi truy cập, ví dụ như giới hạn kết nối đồng thời truy cập từ 1 IP hay giới hạn tỷ lệ kết nối không quá 100 request trong 1 phút. Nếu quá ngưỡng này truy cập sẽ bị block.
  • Coi log trong Log ứng dụng là công cụ chính để rà soát các bất thường, hành vi rà quét.

 

 Kết luận:

 

DDoS là dạng tấn công mạng nguy hiểm, hiện chưa có giải pháp tổng quát cụ thể nào để phòng chống tấn công DDoS do tính phức tạp tinh vi của chúng. Vì vậy ngay từ bây giờ chúng ta nên rào chính sách bảo mật chặt chẽ trên hệ thống của mình, hãy nhớ “phòng hơn chống”, hãy là người chủ động trước sự phá hoại của tin tặc.

Tùy vào tính huống kẻ tấn công thực hiện để lên phương án phòng chống, kiểm tra xem chúng đánh vào tầng nào (TCP, Application,..), đánh theo cơ chế nào từ đó xem hệ thống chúng ta có lỗ hổng gì không, chắc chắn sẽ có cách thích hợp để xử lý chúng.
Về ngăn chặn loại tấn công SYN Flood, chúng tôi sẽ hướng dẫn ở loạt bài sau, bạn có thể đăng ký ở cuối trang để nhận bài viết mới và tin bảo mật từ TABATECH.VN

 

Lỗ hổng bảo mật Dirty Cow leo quyền trong hầu hết kernel – CVE-2016-5195

Lỗ hổng bảo mật Dirty Cow leo quyền trong hầu hết kernel – CVE-2016-5195

Lỗ hổng DirtyCow đang tồn tại trên hầu hết các kernel linux, bao gồm cả Android.
Lỗ hổng này cho phép Hacker tấn công leo thang đặc quyền. Nghĩa là từ người dùng có quyền thường (normal users) có thể viết và chỉnh sửa các file mà lẽ ra người dùng Admin mới chỉnh sửa được (admin users). Ví dụ các file /etc/passwd, /etc/shadow,.. sẽ có thể thay đổi bởi những người dùng thường.

Các distro Linux bị ảnh hưởng bao gồm:

Red Hat Enterprise Linux 7.x
Red Hat Enterprise Linux 6.x
Red Hat Enterprise Linux 5.x
CentOS Linux 7.x
CentOS Linux 6.x
CentOS Linux 5.x
Debian Linux wheezy
Debian Linux jessie
Debian Linux stretch
Debian Linux sid
Ubuntu Linux precise (LTS 12.04)
Ubuntu Linux trusty
Ubuntu Linux xenial (LTS 16.04)
Ubuntu Linux yakkety
Ubuntu Linux vivid/ubuntu-core
SUSE Linux Enterprise 11 and 12.

Làm thế nào để vá lỗ hổng DirtyCow?

Tại sao gọi lỗ hổng này là Dirty COW:
COW lấy tên từ kỹ thuật copy-on-write (COW) trên Linux Kernel.

1) Để vá lỗ hổng Dirty Cow trên hệ thống Based DEBIAN (như Ubuntu, Debian,..)
Bản kernel đã được Canonical khắc phục và phân phối tới các bản distro,

linux-image-4.8.0-26 (4.8.0-26.28) for Ubuntu 16.10
linux-image-4.4.0-45 (4.4.0-45.66) for Ubuntu 16.04 LTS
linux-image-3.13.0-100 (3.13.0-100.147) for Ubuntu 14.04 LTS
linux-image-3.2.0-113 (3.2.0-113.155) for Ubuntu 12.04 LTS
linux-image-4.4.0-1029-raspi2 (4.4.0-1029.36) for Ubuntu 16.04 LTS for Raspberry Pi 2.

Thực hiện các bước sau để vá lỗ hổng bảo mật DirtyCOW

sudo apt-get update && sudo apt-get dist-upgrade
reboot
Kiểm tra kernel đã được upgrade chưa bằng lệnh:

root@gw:~# uname -a
Linux gw 3.13.0-100-generic #147-Ubuntu SMP Tue Oct 18 16:48:51 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Ngoài ra, nếu bạn bật tính năng upgrade tự động bản vá bảo mật định kỳ thì kernel 3.13.0-100 mặc định đã được cài đặt trên hệ thống.
Để loại bỏ lỗ hổng DirtyCOW bạn chỉ cần reboot server và check lại với lệnh `uname -a`.

 

Lỗ hổng bảo mật leo thang quyền CVE-2017-1000253

Lỗ hổng bảo mật leo thang quyền CVE-2017-1000253

Lỗ hổng mang số hiệu CVE-2017-1000253

Lỗ hổng leo thang quyền mang số hiệu CVE-2017-1000253 vừa được Redhat công bố,
Lỗ hổng được tìm thấy trong cách mà Linux kernel thực hiện load các file ELF  (Executable and Linkable Format), một hiện tượng stack corruption xảy ra khi cấp phát bộ nhớ thiếu.

Các phiên bản bị ảnh hưởng, bao gồm:

All versions of CentOS 7 before 1708 (released on September 13, 2017)
All versions of Red Hat Enterprise Linux 7 before7.4 (released on August 1, 2017)
All versions of CentOS 6 and RedHat Enterprise Linux 6

Phiên bản không bị ảnh hưởng:

Kernel 3.10.0-693 and later

Cách fix CVE-2017-1000253
Cách 1: – Upgrade Kernel tới phiên bản mới nhất trong dòng bạn đang dùng.

Kernel 3.10.0-693 and later

Cách fix CVE-2017-1000253
Cách 1: – Upgrade Kernel tới phiên bản mới nhất trong dòng bạn đang dùng.

Cách 2: set thông số sysctl trong kernel, chú ý khi set thông số này vì có thể ảnh hưởng tới ứng dụng của bạn đang chạy.

vm.legacy_va_layout=1

Tham khảo: https://access.redhat.com/security/cve/cve-2017-1000253https://access.redhat.com/security/vulnerabilities/3189592
Hiểu về tấn công DDoS UDP

Hiểu về tấn công DDoS UDP

Tấn công DDoS UDP là gì?

Tương tự như dạng tấn công ddos gây ngập lụt gói ICMP, dạng tấn công UDP xảy ra khi kẻ tấn công gửi một lượng lớn các gói tin UDP với địa chỉ nguồn giả mạo là IP máy bị tấn công (Victim). Theo giao thức, các máy tính nhận được các gói tin UDP này sẽ đọc thông tin header trong gói và gửi theo địa chỉ đích là máy bị tấn công, máy tính vô tình gửi 1 gói UDP trả lời (UDP Datagram response) tới máy bị tấn công.

Theo đó khi khối lượng máy tính tham gia trả gói UDP response rất lớn khoảng 10.000 máy, chúng sẽ làm máy nạn nhân bị quá tải, không còn khả năng phục vụ, thậm chí CPU tăng đột biến do phải xử lý gói UDP quá lớn.

Cách phòng chống tấn công DDoS UDP

Trên Router/SW/Firewall:

    • Chỉ mở các kết nối UDP cần thiết, ví dụ UDP port 80 không dùng thì cần tắt bỏ.
  • Limit lượng pps trên mỗi nguồn IP hoặc nhiều nguồn IP, khi qúa ngưỡng request tiếp theo sẽ không phục vụ nữa.   Ví dụ giới hạn 500 packet UDP trên giây bằng iptables, dùng lệnh sau:
#Outbound UDP Flood protection in a user defined chain.
iptables -N udp-flood
iptables -A OUTPUT -p udp -j udp-flood
iptables -A udp-flood -p udp -m limit --limit 50/s -j RETURN
iptables -A udp-flood -j LOG --log-level 4 --log-prefix 'UDP-flood attempt: '
iptables -A udp-flood -j DROP


Trên server:

    • Tắt các dịch vụ không sử dụng, ví dụ: tắt DNS nếu không cần thiết
  • Rào chính sách bảo mật trên firewall, chỉ allow một số port cần thiết.

Xem thêm bài viết tổng quan về tấn công DDoS: https://tabatech.vn/cach-phong-chong-tan-cong-ddos/ 

 

Read More »

Cách phòng chống tấn công DDoS hiệu quả – phần 1

Cách phòng chống tấn công DDoS hiệu quả – phần 1

 

Hôm nay TABATECH.VN đưa ra cách nhìn nhận tổng quát về dạng tấn công DDoS và đi sâu vào giải pháp để phòng chống dạng tấn công này. Đây là những kinh nghiệm vận hành từ đội ngũ chuyên gia bảo mật TABATECH.VN, mong có thể mang đến cộng đồng cách nhìn rộng và tổng quan về cách phòng chống tấn công DDoS.

      Ở Việt Nam có rất nhiều website từng bị tấn công DDoS gây thiệt hại rất lớn, có những lúc bị tiêu thụ hết 10Gbps thậm chí 30Gbps băng thông Internet tiêu biểu như dantri.com.vn, vietnamnet.vn, muachung.vn, tuoitre.com.vn,.. Tấn công DDoS tấn công vào hạ tầng dịch vụ của các báo lớn, các tổ chức chỉnh phủ,.. nhằm một mục đích nào đó.

      Đối với những Sysadmin quản trị hệ thống có nhiều kinh nghiệm cũng không khỏi lúng túng khi gặp loại tấn công DDoS trên hệ thống mình quản lý. Lý do: vì chúng đa dạng, thực hiện trên quy mô lớn, tính chất phân tán và có thể kẻ tấn công thực hiện nhiều loại tấn công cùng một lúc. Do vậy hiện cũng không có giải pháp toàn diện cụ thể nào để ngăn chặn loai tấn công này.

 

Tấn công DDoS là gì? và Tấn công DoS là gì?

 

 

    Tấn công từ chối dịch vụ Distributed Denial-of-Service (viết tắt là DDoS) là dạng tấn công nhằm gây cạn kiện tài nguyên hệ thống máy chủ và làm ngập lưu lượng băng thông Internet, khiến truy cập từ người dùng tới máy chủ bị ngắt quãng, truy cập chập chờn, thậm chí làm tê liệt hệ thống.
Đây là dạng tấn công phổ biến và đã xuất hiện từ rất lâu, chi tiết hơn bạn có thể tham khảo thêm tại Wiki

Tấn công DoS là gì?, Thực chất DDoS ta vừa định nghĩa là 1 kiểu tấn công của DoS, DoS đơn giản hơn do chúng chỉ sử dụng 1 máy tính và 1 kết nối internet để tấn công. Vì vậy tính nguy hại của DoS thấp hơn nhiều so với DDoS và cũng dễ tìm được kẻ tấn công hơn.

 

Các dạng tấn công từ chối dịch vụ

 

DDoS là dạng tấn công rất phức tạp, nhiều chuyên gia bảo mật tiếp cận chúng theo các cách khác nhau.Theo một cách dễ hiểu nhất, TABATECH.VN phân loại theo 2 dạng:

 

1. Dạng tấn công DDoS gây ngập lụt (Flooding attacks)

 

Ở dạng này kẻ tấn công sẽ gửi lượng lớn gói tin hợp lệ tới máy tính nạn nhân và làm máy nạn nhân phải hoạt động hết công suất, tiêu thụ lượng tài nguyên đáng kể CPU, RAM, Disk IO, băng thông mạng. Điều này khiến người dùng hợp lệ truy cập bị gián đoạn.
Các gói tin hợp lệ gửi tới máy nạn nhân được huy động từ mạng BootNet do tin tặc tạo ra từ rất rất nhiều máy tính bị nhiễm mã độc Trojan. Các máy bị nhiễm mã độc sẽ bị điều khiển của tin tặc, gửi những yêu cầu như http://victim.computer, với mô hình BootNet chứa rất nhiều máy tính bị nhiễm như vậy thì khi tấn công sẽ làm hệ thống đích bị suy yếu rất lớn.

 

2. Dạng tấn công DDoS kiểu Logic (Logical Attacks)

 

Kẻ tấn công sẽ lợi dụng lỗ hổng giao thức và lỗ hổng ứng dụng trên máy nạn nhân để thực hiện tấn công tràn không gian bảng kết nối khiến người dùng hợp lệ không thể truy cập được dịch vụ.
Ví dụ dạng tấn công SYN Flood: Kẻ tấn công dùng phương pháp logic gửi lượng lớn gói tin khởi tạo kết nối TCP-SYN, kẻ tấn công sẽ dựa vào quá trình bắt tay 3 bước (handshake 3- wiki htttp) để gửi một lượng lớn gói tin khởi tạo kết nối SYN làm đầy bảng kết nối trên máy nạn nhân.

(trên Linux bảng này gọi là conntrack Table)

Sau khi hiểu về hình dạng loại tấn công DDoS, chúng ta sẽ dựa vào đó để ngăn chặn.
Cách phòng chống tấn công DDoS cũng đa dạng như cách kẻ tấn công thực hiện chúng.

CVE-2017-6074: Lỗ hổng kernel nghiêm trọng tồn tại suốt 11 năm

CVE-2017-6074: Lỗ hổng kernel nghiêm trọng tồn tại suốt 11 năm

 

      Lỗ hổng CVE-2017-6074 được tìm ra bởi nhà nghiên cứu bảo mật Andrey Konovalo. Lỗ hổng này đặt ở mức nghiêm trọng, nó khiến máy chủ bị leo thang quyền hạn, tấn công từ chối dịch vụ DoS, và còn những ảnh hưởng khác.

      Lỗ hổng này là một dạng lỗ hổng user-after-free, xuất hiện trong code triển khai DCCP (Datagram Congestion Control Protocol). Qúa trình giải phóng bộ nhớ DCCP 2 lần khiến người dùng có thể thay đổi bộ nhớ Kernel, điều này làm hệ điều hành bị đơ, người dùng vượt quyền hạn từ người dùng thường lên root.

Các server nằm trên hệ thống của TABATECH đã được vá lỗ hổng nghiêm trọng này!

 

Cách vá lỗ hổng

  • Nâng cấp kernel (recommend).
  • Đối với các hệ thống không load DCCP module thì có thể xử lý bằng cách tắt module này đi bằng lệnh:

 

echo >> /etc/modprobe.d/disable-dccp.conf

 

TABATECH.VN sẵn sàng lắng nghe và tư vấn miễn phí cho bạn, đứng ngần ngại liên hệ với chúng tôi!
Thành công của chúng tôi là giải quyết được vấn đề của bạn!

TABATECH.VN

 

Read More »