Sử dụng Shodan để tìm kiếm và Hack các Server chạy Docker (hiểu để phòng tránh và bảo vệ hệ thống)
Không Public các Server chạy Docker!
Docker là một nền tảng dịch vụ PaaS phổ biến dành cho các hệ thống Linux và Windows hiện nay, nó được thiết kế để giúp cho các lập trình viên, các quản trị viên hệ thống dễ dàng tạo, kiểm tra và chạy các ứng dụng của họ trong một môi trường tách biệt gọi là Container.
Theo số liệu nhà sản xuất công bố, đã có hơn 3.5 triệu ứng dụng được đưa vào các container sử dụng công nghệ Docker. Dịch chuyển các ứng dụng từ mô hình truyền thống sang môi trường container của Docker giúp tăng tính hiện đại cho hệ thống với các kiến trúc như monolithic hay microservices. Nhưng đồng thời cũng mang lại những rủi ro bảo mật không đáng có.
Bây giờ, chúng ta sẽ đi vào nội dung chính của tiêu đề.
Theo mặc định nếu các server chạy Docker sử dụng chế độ remote API, chúng thường sẽ chạy trên các ports là 2375 hoặc 2376; và đặc biệt là không cài xác thực với cấu hình mặc định. Nếu port này không được limit hoặc block thì có thể dễ dàng truy cập thông qua Internet. Và vì không để ý điều này nhiều người đã vô tình đặt server của mình vào trạng thái không an toàn.
Chúng ta có thể sử dụng Shodan để tìm kiếm các host đang chạy Docker sử dựng remote API. Về Shodan (https://www.shodan.io) - Shodan là một công cụ tìm kiếm khác nhiều so với các công cụ tìm kiếm nội dung như Google, Yahoo hoặc Bing. Thay vào đó, công cụ được sử dụng để tìm các thiết bị trực tuyến trên internet như: máy tính, server, webcam, các thiết bị routers…. Cơ chết hoạt động của Shodan là quét toàn bộ các thiết bị trên internet có mở cổng public ra internet và thực hiện phân tích các trạng thái được trả về từ các thiết bị. Từ đó Shodan có thể cho chúng ta biết được những thông tin cơ bản của các thiết bị như version và các lỗ hổng đang tồn tại.
Chúng ta sử dụng câu lệnh truy vấn sau để tìm kiếm các server nào đang public port 2375
Port:2375 product:"Docker"
Hoặc có thể tìm kiếm theo vùng, quốc gia với câu lệnh như sau:
Port:2375 product:"Docker" country:"VN"
Ở câu lệnh này chúng ta đang yêu cầu Shodan tìm kiếm các server public port 2375 và sử dụng docker tại Việt Nam.
Qua câu lệnh search đơn giản chúng ta có thể thấy có 5800 server ở nhiều quốc gia khác nhau đang sử dụng Docker và để lộ port 2375 ra ngoài. Chúng ta sẽ thử kết nối đến một số server trên qua câu lệnh sau.
docker -H x.x.x.x:2375 ps -a
Đây là kết quả của một server tôi tìm thấy, khi vào được đến đây thì chúng ta có thể tùy ý sử dụng các lệnh trong docker như trên local. Vậy từ đây đã nảy sinh ra các vấn đề bảo mật, kẻ tấn công có thể lợi dụng điều này để tạo thêm các container khác sử dụng vào mục đích riêng của họ như đào coin, sử dụng để C2 server hoặc tệ hơn nữa ăn cắp dữ liệu trên đó.
Từ ví dụ trên ta có thể thấy được sự nguy hiểm của việc public API docker, theo mặc định API docker sẽ không có bất kỳ xác thực nào, nếu bạn có ý định sử dụng remote API docker thì hãy đảm bảo rằng API đã được cấu hình xác thực và giới hạn truy cập.
Đối với bất kì hệ thống nào đang muốn chuyển đổi sang sử dụng container để chạy dịch vụ thì nên tìm hiểu cách làm thế nào để bảo vệ cho hệ thống của mình thật an toàn không chỉ cho Docker mà còn cho cả mỗi container.
Chúng ta có thể tham khảo một số phương pháp bảo mật tại link sau.
https://docs.docker.com/engine/security/security/
Theo Bizfly Cloud tổng hợp
>>Có thể bạn quan tâm: Chạy Docker trên Windows dễ như trên Linux
Bizfly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.
Bizfly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.
Độc giả quan tâm đến các giải pháp của Bizfly Cloud có thể truy cập tại đây.
DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud