Memcached là một hệ thống cache mã nguồn mở, hoạt động bằng cách lưu tạm dữ liệu hay sử dụng vào bộ nhớ RAM để tăng tốc độ truy xuất. Kết nối với Memcached được thực hiện qua giao thức TCP hoặc UDP trên cổng 11211.

Gần đây, một cuộc tấn công quy mô lớn lợi dụng lỗ hổng trên Memcached để thực hiện DDoS khuếch đạiMemcrashed. Rất nhiều VPS/Server đã bị tấn công và chiếm dụng băng thông…

1. Cách thức tấn công của Memcrashed

Cụ thể, kẻ tấn công sẽ gửi một gói tin fake địa chỉ IP của nạn nhân đến server memcached trên cổng 11211. Các truy vấn được gửi đến máy chủ chỉ một vài byte, nhưng số lượng phản hồi lại lên đến hàng chục nghìn lần, tạo ra một cuộc tấn công đáng kể. Bên cạnh đó, Memcached cho phép kết nối qua giao thức UDP – một trong những giao thức tốt nhất dùng trong việc khuếch đại.

Theo Cloudflare, một gói tin 15 bytes gửi đi có thể tạo ra 134KB phản hồi (khuếch đại 10.000 lần). Thực tế ghi nhận, hệ thống đã nhận được tới 750KB phản hồi – khuếch đại gấp 51200 lần.

Theo Arbor Networks, các truy vấn giả mạo cũng hướng đến TCP cổng 11211, nhưng vì các truy vấn TCP không thể giả mạo nên cách tấn công này ít bị lạm dụng hơn.

Theo số liệu mới nhất từ Shohan, có gần 90.000 server chạy Memcached qua cổng 11211 đang mở. Và rất nhiều trong số đó đến từ các location thông dụng: Mỹ, Nhật, Hồng Kông… Cụ thể, các cuộc tấn công xảy ra khắp nơi trên toàn thế giới, nhưng chủ yếu là Bắc Mỹ và Châu Âu. Phần lớn các máy chủ của OVH, DigitalOcean và Sakura.

2. Giải pháp fix lỗi Memcached

Nhằm tránh bị lợi dụng lỗ hổng trên, HocVPS khuyến cáo các VPS/Server sử dụng Memcached hãy cập nhật ngay bảo mật cho hệ thống của mình: chỉ cho phép duy nhất kết nối từ localhost tới Memcached và tắt giao thức UDP.

Cụ thể, chỉnh sửa cấu hình Memcached:

# nano /etc/sysconfig/memcached

Chỉnh sửa OPTIONS thành OPTIONS="-l 127.0.0.1 -U 0", trong đó:

  • -l 127.0.0.1 : Chỉ chấp nhận truy vấn từ localhost.
  • -U 0 : tắt hoàn toàn giao thức UDP.

  • Không cần thiết cập nhật tường lửa. Toàn bộ các kết nối bên ngoài tới Memcached qua 11211 đã bị chặn.
  • Thiết lập của HocVPS trong Hướng dẫn cài đặt Memcached đã đảm bảo an toàn, nếu bạn cài đặt server theo hướng dẫn đó không phải làm gì thêm cả.
  • Đối với Ubuntu/Debian, chỉnh sửa /etc/memcached.conf

Khởi động lại Memcached

# service memcached restart

Kiểm tra lại hệ thống các kết nối

# netstat -tulpn

Khi đó, Memcached chỉ kết nối duy nhất 127.0.0.1 qua giao thức TCP

tcp        0      0 127.0.0.1:11211         0.0.0.0:*               LISTEN      27106/memcached

Có thể thấy, mới đầu 2018 đã có hàng loạt lỗ hổng được công bố cùng các cuộc tấn công quy mô lớn nổ ra, như Meltdown, Spectre và Memcrashed. Là một người quản trị hệ thống VPS/Server, các bạn hãy luôn cập nhật hệ thống cũng như theo dõi tin tức an ninh mạng thường xuyên, đặc biệt từ HocVPS.

Comment của bạn

Your email address will not be published. Required fields are marked *

4 Comments

  1. David 3 comment

    Mình để ý trong bài hướng dẫn cài memcached của HocVPS trước đây có thông số cấu hình là OPTIONS=”-l 127.0.0.1″. Như này thì cũng an toàn 1 phần do nó chỉ nhận kết nối localhost thôi đúng không? Bây giờ thêm an toàn là ngắt luôn port UDP 😀

    1. Việt Phương Moderator

      Dạng cho không lọt 1 tí nào luôn 🙂 Còn -l 127.0.0.1 đã là rất an toàn rồi