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

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

7 Comments

  1. Nam Nguyễn 1 comment

    Chào ad,

    VPS mình cài hocvps và wordpress, tầm 2 tuần nay bị spam comment và đặc biệt là bị tạo mới rất nhiều bài post tiếng nước ngoài spam link. (Điều lạ là những bài post này tự publish và xem trực tiếp)
    Mình đã update tất cả. Theme và plugin mình ko cài nhiều và ko dùng hàng null.

    Mong ad chỉ giáo cách fix hoặc có liên quan đến cấu hình của hocvps không ạ.

    Thân ái

  2. Trần Cường 1 comment

    Trước cũng vì không fix lỗi này mà mấy ông quản lý server suốt ngày cảnh báo.

  3. David 5 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