Bảo mật
Danh sách kiểm tra để tăng cường bảo mật cho máy chủ Antimatter: những gì cần mở, các giới hạn và cài đặt quyền riêng tư cần xem xét, các dịch vụ bên ngoài mà máy chủ liên lạc, và cách báo cáo vấn đề bảo mật.
Những gì cần mở
| Cổng | Dịch vụ | Mức độ mở |
|---|---|---|
| 443/tcp, 443/udp, 80/tcp | Proxy HTTPS của bạn (Caddy hoặc nginx) | Công khai: đây là cách mọi người truy cập Antimatter. |
| 8443/udp và 8443/tcp | Phương tiện cuộc gọi | Công khai, nếu mọi người sử dụng cuộc gọi từ bên ngoài mạng của bạn. |
| 8065/tcp | Máy chủ web của Antimatter | Chỉ cho proxy: công bố nó trên 127.0.0.1 (HTTP_PORT=127.0.0.1:8065). |
| 8067/tcp | Chỉ số đo lường | Chỉ mạng riêng, khi được bật. Không cần đăng nhập. |
| 8074/tcp và udp | Gossip cụm | Chỉ giữa các nút cụm. |
| 5432, 9000, 8080, 8066 | PostgreSQL, lưu trữ tệp, dịch vụ GIF, proxy đẩy | Không bao giờ. Các tệp compose giữ chúng trên các mạng nội bộ không có cổng được công bố. |
Tệp compose của trang web cũng chạy mọi container với no-new-privileges, chạy Antimatter dưới dạng người dùng không đặc quyền trên một ảnh distroless, và chạy dịch vụ GIF với hệ thống tệp chỉ đọc. Cơ sở dữ liệu, lưu trữ và dịch vụ GIF nằm trên một mạng không có quyền truy cập Internet.
Danh sách kiểm tra sau khi cài đặt
- Tạo tài khoản quản trị viên đầu tiên trước khi bất kỳ ai khác có thể truy cập máy chủ (Cài đặt).
- Phục vụ Antimatter chỉ qua HTTPS và đặt URL trang web thành địa chỉ
https://(Tên miền và HTTPS). - Giữ
.env,config.jsonvà các khóa TLS chỉ có thể đọc được bởi root (hoặc người dùng của máy chủ):chmod 600 .env. - Quyết định ai có thể tạo tài khoản, giữ Bật Máy chủ Mở ở trạng thái tắt trừ khi cộng đồng là công khai, và bật Yêu cầu Xác minh Email khi email hoạt động (Đăng nhập và tài khoản).
- Bật xác thực đa yếu tố và áp dụng nó ít nhất cho các tài khoản quản trị viên, hoặc sử dụng của nhà cung cấp danh tính của bạn.
- Xem xét các kết nối bên ngoài bên dưới, đặc biệt là máy chủ STUN mà Cuộc gọi sử dụng theo mặc định.
- Trước khi thêm các kết nối mô hình, hãy thiết lập khóa mã hóa AI (
AM_AI_ENCRYPTION_KEY) và lưu một bản sao riêng biệt khỏi các bản sao lưu cơ sở dữ liệu (AI). - Sao lưu và kiểm tra khôi phục (Sao lưu và nâng cấp).
- Giữ cho các ảnh hoặc các gói luôn được cập nhật: các bản vá bảo mật sẽ được phát hành cùng các phiên bản mới.
Giới hạn tần suất truy cập
Máy chủ có thể giới hạn số lượng yêu cầu API mà mỗi client thực hiện. Tính năng này tắt mặc định. Trong Bảng điều khiển Hệ thống › Môi trường › Giới hạn Tỷ lệ:
| Cài đặt | Khóa | Mặc định |
|---|---|---|
| Bật giới hạn tỷ lệ | RateLimitSettings.Enable | Tắt |
| Số truy vấn tối đa mỗi giây | RateLimitSettings.PerSec | 10 |
| Kích thước Burst tối đa | RateLimitSettings.MaxBurst | 100 |
| Dung lượng bộ nhớ lưu trữ | RateLimitSettings.MemoryStoreSize | Theo dõi 10000 client |
| Giới hạn tỷ lệ thay đổi theo địa chỉ từ xa | RateLimitSettings.VaryByRemoteAddr | on |
| Giới hạn tỷ lệ thay đổi theo người dùng | RateLimitSettings.VaryByUser | Tắt |
| Giới hạn tốc độ thay đổi theo tiêu đề HTTP | RateLimitSettings.VaryByHeader | trống |
Khi đặt sau proxy, giới hạn theo địa chỉ chỉ hoạt động nếu máy chủ biết địa chỉ của từng client (ServiceSettings.TrustedProxyIPHeader và ServiceSettings.TrustedProxyIPs, xem Địa chỉ client sau proxy). Nếu không, mọi yêu cầu dường như đều đến từ proxy và tất cả mọi người chia sẻ một giới hạn duy nhất. Điều tương tự cũng áp dụng cho lọc IP và cho các địa chỉ trong nhật ký kiểm toán.
Số lần thử đăng nhập được giới hạn riêng biệt: Số lần đăng nhập tối đa (10) sẽ khóa tài khoản sau số lần nhập sai mật khẩu đó.
Lọc IP
Bảng điều khiển Hệ thống › Cấu hình trang web › Lọc IP giới hạn quyền truy cập máy chủ theo địa chỉ IP, với các quy tắc cho phép và từ chối (mỗi quy tắc là một địa chỉ hoặc một dải CIDR). Khi bật Bật Lọc IP, những người có địa chỉ khớp với quy tắc từ chối, hoặc không khớp với quy tắc cho phép nào khi có quy tắc cho phép, sẽ không thể truy cập máy chủ. Trang này từ chối các quy tắc sẽ chặn địa chỉ của chính bạn. Khi đặt sau proxy, hãy thiết lập địa chỉ client trước (Địa chỉ client sau proxy): nếu không, mọi yêu cầu dường như đều đến từ proxy.
Tải lên và chia sẻ tệp
| Cài đặt | Vị trí | Mặc định |
|---|---|---|
Kích thước tệp tối đa (FileSettings.MaxFileSize) | Môi trường › Lưu trữ tệp | 100 MB. Giữ giới hạn kích thước yêu cầu của proxy ít nhất bằng giá trị này. |
Kích thước tải tối đa (Byte) (ServiceSettings.MaximumPayloadSizeBytes) | Môi trường › Máy chủ web | 300000: yêu cầu API lớn nhất ngoài tải lên tệp |
Cho phép chia sẻ tệp (FileSettings.EnableFileAttachments) | Cấu hình trang web › Chia sẻ và tải xuống tệp | on |
| Cho phép Tải lên Tệp trên Di động, Cho phép Tải xuống Tệp trên Di động | Cấu hình trang web › Chia sẻ và tải xuống tệp | on |
Bật Liên kết Tệp Công cộng (FileSettings.EnablePublicLink) | Cấu hình trang web › Liên kết công khai | tắt: khi bật, người dùng có thể chia sẻ tệp bằng liên kết hoạt động mà không cần đăng nhập |
Bật SVG (ServiceSettings.EnableSVGs) | Cấu hình trang web › Bài đăng | tắt trên máy chủ mới: khi bật, hình ảnh SVG được hiển thị trực tiếp |
Antimatter không quét tệp tải lên để tìm phần mềm độc hại.
Cài đặt quyền riêng tư
Trong Bảng điều khiển Hệ thống › Cấu hình trang web › Người dùng và Nhóm:
| Cài đặt | Khóa | Mặc định | Chức năng |
|---|---|---|---|
| Hiển thị địa chỉ email | PrivacySettings.ShowEmailAddress | on | Tắt, địa chỉ email của thành viên sẽ bị ẩn khỏi mọi người trừ quản trị viên. Hãy tắt tùy chọn này trên các máy chủ công khai. |
| Hiển thị Tên đầy đủ | PrivacySettings.ShowFullName | on | Tắt, họ tên đầy đủ sẽ bị ẩn và tên người dùng sẽ được hiển thị thay thế. |
| Bật tính năng bỏ qua, chặn và yêu cầu nhắn tin | PrivacySettings.EnableUserBlocking | on | Xem bên dưới. |
| Cho phép người dùng mở các kênh Tin nhắn Trực tiếp bằng | TeamSettings.RestrictDirectMessage | Bất kỳ người dùng nào trên máy chủ Antimatter | Hoặc Bất kỳ thành viên nào trong nhóm: chỉ những người cùng thuộc một cộng đồng. |
Bỏ qua, chặn và yêu cầu tin nhắn
Khi bật Bật tính năng bỏ qua, chặn và yêu cầu nhắn tin (mặc định), người dùng có thể bỏ qua và chặn lẫn nhau, và có thể chọn nhận tin nhắn trực tiếp từ những người lạ dưới dạng yêu cầu nhắn tin, không gửi thông báo cho họ cho đến khi được chấp nhận. Điều này phù hợp với các cộng đồng công khai. Trong môi trường làm việc nơi đồng nghiệp luôn phải có thể liên lạc được với nhau, hãy tắt tính năng này (AM_PRIVACYSETTINGS_ENABLEUSERBLOCKING=false): không còn áp dụng các quy tắc này nữa, nhưng danh sách và lựa chọn mà người dùng đã thực hiện sẽ được giữ lại và áp dụng lại nếu bạn bật lại tính năng.
Phiên và token
- Thời lượng phiên và thời gian chờ khi không hoạt động: xem Đăng nhập và tài khoản. Phiên ngắn hơn có nghĩa là một laptop hoặc điện thoại bị mất sẽ duy trì trạng thái đã đăng nhập trong thời gian ngắn hơn.
- Bật Mã truy cập Cá nhân (
ServiceSettings.EnableUserAccessTokens, tắt) cho phép người dùng tạo token API; Thời hạn tối đa của token truy cập cá nhân (ngày) giới hạn thời hạn của chúng. Cả hai đều nằm trong Bảng điều khiển Hệ thống › Tích Hợp › Quản lý tích hợp. - Để đăng xuất tất cả mọi người cùng một lúc, ví dụ sau một vụ xâm nhập dữ liệu nghi ngờ: Thu hồi tất cả các phiên trong Bảng điều khiển Hệ thống › Quản lý Người dùng › Người dùng.
Kết nối đến các dịch vụ bên ngoài
Antimatter không liên lạc với bất kỳ dịch vụ nào do Mattermost, Inc. vận hành. Nó không gửi dữ liệu đo lường, báo cáo sự cố hoặc kiểm tra cập nhật bảo mật, và không lấy thông báo sản phẩm. Một cấu hình được chuyển từ Mattermost mà vẫn đề cập đến một trong các dịch vụ của Mattermost (dịch vụ đẩy, chợ ứng dụng, thông báo hoặc máy chủ STUN cho cuộc gọi) sẽ không khiến máy chủ liên lạc với chúng: các địa chỉ đó sẽ bị bỏ qua.
Máy chủ và các ứng dụng chỉ kết nối đến các dịch vụ bên ngoài khác cho các tính năng cần chúng, và đến các dịch vụ mà bạn cấu hình:
| Tính năng | Liên lạc | Theo mặc định |
|---|---|---|
| Cuộc gọi: tìm địa chỉ công khai bằng STUN. Máy chủ và mỗi người tham gia cuộc gọi gửi một yêu cầu, hiển thị cho máy chủ STUN địa chỉ IP và cổng của họ. | Máy chủ STUN công khai của Cloudflare, stun.cloudflare.com | bật, trong khi ứng dụng Cuộc gọi được bật. Để thay đổi, xem Cuộc gọi. |
Bản xem trước liên kết: máy chủ sẽ tải các trang được liên kết trong tin nhắn (Bật bản xem trước liên kết trang web, ServiceSettings.EnableLinkPreviews) | các trang web mà mọi người liên kết đến | bật. Tắt bằng AM_SERVICESETTINGS_ENABLELINKPREVIEWS=false. |
| Thông báo đẩy đến ứng dụng di động | proxy push của riêng bạn (Thông báo push) | tắt cho đến khi bạn thiết lập địa chỉ của nó |
Chợ ứng dụng từ xa (PluginSettings.EnableRemoteMarketplace) | URL thị trường mà bạn đã thiết lập | tắt, và không có địa chỉ |
| máy chủ SMTP của bạn | máy chủ mặc định là localhost | |
| Các kết nối mô hình (viết lại, tóm tắt, dịch, đọc to và các ứng dụng), các kết nối mô hình riêng của quản trị viên cộng đồng | các nhà cung cấp AI được thêm trong Bảng điều khiển Hệ thống › AI › Kết nối mô hình hoặc trong cài đặt của một cộng đồng (AI) | không có gì cho đến khi ai đó thêm một kết nối |
| Đăng nhập một lần (SSO), các dịch vụ AI của ứng dụng Trợ lý, chuyển giọng nói thành văn bản và dịch, webhook đi ra, và các ứng dụng như Mail, Lịch, GitHub, GitLab hoặc Jira | các dịch vụ bạn cấu hình | tắt cho đến khi bạn cấu hình chúng |
Theo mặc định, máy chủ từ chối kết nối đến các địa chỉ riêng tư và loopback cho các mục này (xem trước liên kết, webhook, ứng dụng, kết nối mô hình của cộng đồng), do đó một tin nhắn hoặc tích hợp không thể được sử dụng để truy cập mạng nội bộ của bạn. Hãy liệt kê các máy chủ nội bộ mà nó có thể truy cập trong Cho phép các kết nối nội bộ không đáng tin cậy vào (ServiceSettings.AllowedUntrustedInternalConnections, trong Bảng điều khiển Hệ thống › Môi trường › Nhà phát triển); tệp compose của trang web liệt kê gifs ở đó.
Báo cáo lỗ hổng bảo mật
Báo cáo các vấn đề bảo mật một cách riêng tư, như được giải thích trong chính sách bảo mật của Antimatter, không phải trong các vấn đề công khai.