Lỗ hổng GhostCat trên máy chủ chạy Apache Tomcat nguy hiểm thế nào?

Nhằm hỗ trợ và đồng hành cùng doanh nghiệp đẩy lùi hậu quả của đại dịch Covid-19, CyStack hỗ trợ: miễn phí 3 tháng bảo mật website & server với phần mềm Cloud Security. > Đăng ký ngay.

Nếu trang web của bạn có máy chủ chạy trên Apache Tomcat thì bạn nên cài đặt ngay phiên bản mới nhất của ứng dụng máy chủ này để tránh bị hacker chiếm quyền kiểm soát trái phép.

Tất cả các phiên bản (9.x/8.x/7.x/6.x) của Apache Tomcat được phát hành trong 13 năm qua được phát hiện có lỗi nghiêm trọng mới (CVSS 9.8). Đây là lỗi ‘file read and inclusion bug’ (một lỗi truy cập hoặc chạy tập tin độc hại trái phép thường gặp trên máy chủ web) có thể bị khai thác trong cấu hình mặc định.

Tuy nhiên, lỗi này đáng lo hơn vì trên mạng đã xuất hiện mã khai thác PoC (xem các ví dụ trên github 1, 2, 3, 4, v.v.), giúp kẻ xấu dễ dàng xâm nhập vào các máy chủ web dễ kết nối đang gặp lỗi.

Lỗ hổng được đặt tên là ‘Ghostcat’ và được đánh dấu là CVE-2020-1938. Nó cho phép những kẻ tấn công từ xa chưa được xác thực đọc nội dung của bất kỳ tệp nào trên máy chủ web gặp lỗi và lấy tệp cấu hình, mã nguồn nhạy cảm hay thực thi mã tùy ý nếu máy chủ cho phép tải tệp lên.

Ghostcat là gì và hoạt động như thế nào?

Theo công ty an ninh mạng Trung Quốc Chaitin Tech, lỗ hổng này nằm trong giao thức AJP (Apache JServ Protocol – một loại giao thức nhị phân) của Apache Tomcat. Lỗi này phát sinh do xử lý không đúng một thuộc tính.

Các nhà nghiên cứu cho biết “Nếu trang web cho phép người dùng tải tệp lên, đầu tiên kẻ tấn công có thể tải tệp chứa mã script JSP độc hại lên máy chủ (có thể là bất kỳ loại tệp nào như hình ảnh, văn bản thuần túy, v.v.). Sau đó sẽ thêm các tập tin được tải lên bằng cách khai thác Ghostcat, cuối cùng là thực thi mã từ xa”.

Giao thức AJP về cơ bản là một phiên bản tối ưu hóa của giao thức HTTP để cho phép Tomcat giao tiếp với máy chủ web Apache.

Mặc dù giao thức AJP được bật mặc định và kết nối (Listens) tại cổng TCP 8009 nhưng nó lại bị ràng buộc với địa chỉ IP 0.0.0.0 và chỉ có thể được khai thác từ xa khi truy cập vào các máy khách không đáng tin.

Theo ONYPHE (một công cụ tìm kiếm dữ liệu đe dọa mạng và nguồn mở), có hơn 170.000 thiết bị đang để công khai Trình kết nối AJP cho mọi người thông qua Internet tại thời hiện tại.

Bản vá và giảm thiểu rủi ro từ lỗ hổng Apache Tomcat

Tháng trước, các nhà nghiên cứu tại Chaitin đã tìm thấy và báo cáo lỗ hổng này cho Apache Tomcat. Sau đó công ty đã phát hành các phiên bản Apache Tomcat 9.0.31, 8.5.51 và 7.0.100 để khắc phục vấn đề.

Các bản phát hành mới nhất cũng khắc phục 2 HTTP request smuggling (một loại kỹ thuật tấn công nhắm đến HTTP) ít nghiêm trọng hơn là CVE-2020-1935 và CVE-2019-17569. 

Các web admin được khuyến nghị nên sử dụng các bản cập nhật phần mềm càng sớm càng tốt,  không để lộ cổng AJP cho các máy khách không đáng tin và sử dụng mạng đáng tin cậy.

Nhóm Tomcat nói “Người dùng cần lưu ý rằng một số thay đổi đã được thực hiện đối với cấu hình AJP Connector mặc định trong 9.0.31 để làm tăng độ mạnh cấu hình mặc định. Người dùng nâng cấp lên bản 9.0.31 trở lên sẽ cần thực hiện một số thay đổi nhỏ đối với cấu hình cũ”.

Nếu không thể nâng cấp máy chủ web bị bị lỗi ngay lập tức, bạn cũng có thể trực tiếp vô hiệu hóa Trình kết nối AJP hoặc thay đổi địa chỉ kết nối của nó thành localhost.

Giám sát bảo mật tự động cho hệ thống VPS & Cloud Server

Mặc dù người dùng có thể dễ dàng vá lỗ hổng bằng cách cập nhật phiên bản mới, nhưng GhostCat hay Citrix là những lỗ hổng có mức độ nguy hiểm cao tồn tại trong server. Chúng có thể gây hậu quả nghiêm trọng tới website, ứng dụng SaaS hay bất kỳ cơ sở dữ liệu nào được lưu trữ trên máy chủ. Vì vậy, quản trị viên cần lưu ý liên tục giám sát và theo dõi thông tin để phát hiện các lỗ hổng này cho hệ thống máy chủ của mình.

Một trong những cách hiệu quả để giám sát bảo mật cho server là sử dụng tính năng Security Monitoring trong ứng dụng Cloud Security được phát hành bởi công ty An ninh mạng CyStack.

Với kho dữ liệu lỗ hổng được cập nhật hàng ngày bởi chính đội ngũ chuyên gia tại CyStack, Cloud Security sẽ là một giải pháp hợp lý giúp quản trị viên giám sát bảo mật cho một số lượng lớn các website, web/app server, VPS, cloud server, cloud services.

lỗ hổng ghostcat apache tomcat được cập nhật tại CyStack Cloud Security

Lỗ hổng Apache Tomcat (CVE-2020-1938) được cập nhật vào kho dữ liệu của CyStack Cloud Security cùng hàng chục lỗ hổng khác mỗi ngày. Xem thêm tại: Danh sách cập nhật lỗ hổng

Cài đặt giám sát bảo mật cho máy chủ Apache Tomcat

Nếu bạn sử dụng dịch máy chủ Apache Tomcat, hoặc bất kỳ dịch vụ máy chủ nào (như Nginx), bạn có thể cài đặt giám sát bảo mật cho máy chủ của mình với CyStack Cloud Security chỉ với 3 bước đơn giản.

Lập tài khoản

Truy cập trang web: https://cystack.net/vi/cloud-security và lập một tài khoản dùng thử (miễn phí).

Thêm đối tượng

Sau khi tạo tài khoản và tiến hành đặng nhập, bước tiếp theo là thêm đối tượng để quét bảo mật.

Box hiển thị như sau:

Bạn chọn loại Target muốn bảo vệ là Server, sau đó thêm các thông tin cần thiết:

Lưu ý: Ở phần Server Target, bạn có thể điền tên miền, địa chỉ IP hoặc một dải IP của hệ thống máy chủ. Trong ví dụ là một tên miền của web app đang cài đặt trên máy chủ đó.

Bấm Tiếp tục & Hoàn thành để chuyển sang giao diện ứng dụng.

Kích hoạt tính năng Security Monitor cho server

Khi ở giao diện của ứng dụng (Dashboard), chuyển sang tab Security Monitor và bấm Kích hoạt.

Hệ thống sẽ tự động quét 20s sau khi được kích hoạt. Quá trình quét là hoàn toàn tự động, kéo dài khoảng 20-30 phút.

Sau khi quét xong, nếu server có lỗi bảo mật, hệ thống sẽ gửi thông báo về Email đã đăng ký tài khoản. Kèm theo đó là những chỉ dẫn về cách thức khắc phục sự cố.

Lưu ý:

  • Sau khi kích hoạt, tính năng Security Monitor (giám sát bảo mật server) sẽ tự động quét theo chu kỳ 1 lần/ngày.
  • Bạn có thể thêm thành viên trong đội ngũ để nhận cảnh báo từ CyStack Cloud Security.
  • Bạn có thể tích hợp để nhận thông báo về phần mềm nhắn tin Slack.