Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "HI.AI Members" các nội dung bạn quan tâm.

Bài 5. Không mở Ollama trực tiếp ra Internet

1. Đặt vấn đề

Ollama mặc định thường chạy trên máy local và phục vụ qua cổng API. Nếu cấu hình sai hoặc cố ý mở ra mạng ngoài, người khác có thể gọi API Ollama trực tiếp. Đây là rủi ro rất lớn. Trong môi trường bệnh viện, tuyệt đối không nên mở Ollama trực tiếp ra Internet.

Ollama là backend chạy model, không phải cổng ứng dụng dành cho người dùng cuối. Nó không tự cung cấp đầy đủ cơ chế xác thực người dùng, phân quyền theo vai trò bệnh viện, kiểm soát RAG, log nghiệp vụ, rate limit, ẩn danh dữ liệu hoặc kiểm soát câu trả lời. Vì vậy, Ollama phải được đặt sau lớp bảo vệ.

2. Vì sao không được mở Ollama trực tiếp?

Nếu mở trực tiếp, rủi ro gồm:

  • Người ngoài gọi model.
  • Người nội bộ gọi vượt quyền.
  • Lộ endpoint AI.
  • Không biết ai sử dụng.
  • Không giới hạn request.
  • GPU bị lạm dụng.
  • Người dùng gửi dữ liệu nhạy cảm không kiểm soát.
  • Không có log nghiệp vụ.
  • Model trả lời không qua kiểm soát.
  • Có thể bị khai thác nếu có lỗi cấu hình.

3. Cổng Ollama không phải API công khai

Cổng Ollama như 11434 nên được xem là cổng nội bộ giữa API trung gian và model. Người dùng không cần biết cổng này. Website, Drupal, QMS hoặc chatbot phải gọi API trung gian, không gọi thẳng Ollama.

Mô hình đúng:

 
Người dùng → Website/Chatbot → API trung gian → Ollama localhost
 

Mô hình sai:

 
Người dùng/Internet → Ollama API
 

4. Chỉ bind localhost khi có thể

Cấu hình an toàn nhất là để Ollama chỉ lắng nghe trên 127.0.0.1, nghĩa là chỉ máy chủ đó gọi được. API trung gian chạy cùng máy hoặc qua kết nối nội bộ được kiểm soát.

Nếu cần cho máy khác trong LAN gọi, phải dùng firewall, reverse proxy, xác thực và IP allowlist. Nhưng ngay cả trong LAN, cũng không nên mở tự do.

5. Dùng firewall

Cần chặn truy cập từ bên ngoài vào cổng Ollama. Ví dụ nguyên tắc:

  • Chỉ cho localhost truy cập.
  • Hoặc chỉ cho IP của API trung gian.
  • Chặn tất cả IP khác.
  • Không NAT cổng Ollama ra Internet.
  • Không mở port trên router/proxy.

Firewall là lớp bảo vệ hạ tầng bắt buộc.

6. Không dùng Ollama như service public cho nhiều ứng dụng không kiểm soát

Nếu nhiều ứng dụng cần AI, không nên để tất cả gọi Ollama trực tiếp. Nên tạo API AI nội bộ có kiểm soát. API này quyết định ứng dụng nào được dùng, dùng model nào, chức năng nào, quota bao nhiêu và log ra sao.

7. Rủi ro lộ dữ liệu qua prompt

Nếu Ollama mở trực tiếp, người dùng có thể gửi bệnh án, xét nghiệm, phản ánh, sự cố vào prompt mà không có cảnh báo, không ẩn danh, không log đúng và không kiểm soát lưu trữ. Đây là rủi ro dữ liệu nghiêm trọng.

8. Rủi ro tài nguyên

Model AI tiêu tốn GPU, RAM, CPU. Nếu Ollama mở trực tiếp, người dùng hoặc script có thể gửi nhiều request làm nghẽn hệ thống, ảnh hưởng các dịch vụ khác. API trung gian cần rate limit và queue nếu cần.

9. Kiểm tra hệ thống có đang mở không

Phòng CNTT cần kiểm tra:

  • Ollama đang listen trên địa chỉ nào.
  • Cổng 11434 có bị mở ra ngoài không.
  • Firewall có chặn chưa.
  • Nginx có proxy nhầm không.
  • Docker network có expose port không.
  • Cloud/security group nếu có có mở port không.
  • Từ máy khác có gọi được trực tiếp không.

10. Kết luận

Không mở Ollama trực tiếp ra Internet là nguyên tắc bảo mật bắt buộc. Ollama chỉ nên là backend model serving, được gọi bởi API trung gian hoặc service nội bộ đã kiểm soát. Mọi truy cập của người dùng phải đi qua lớp xác thực, phân quyền, log, kiểm soát dữ liệu và rate limit. Local AI chỉ an toàn khi model backend không bị phơi ra ngoài.