3.0.0
Bản phát hành sản phẩm đầu tiên.
Mọi thứ trước đó là việc dựng lại: ngăn xếp rời container sang các dịch vụ trên máy chủ, panel được viết lại, và vài tuần cuối được dành để tìm hiểu kết quả thực sự làm gì trên một máy chủ thật thay vì nó được cho là làm gì. Đây là phiên bản đứng sau câu trả lời đó.
Rà soát bảo mật
Bản phát hành đã bị giữ lại để rà soát toàn bộ bề mặt. Những gì tìm thấy:
-
Hai bề mặt quản trị đã mở ra internet. Bảng điều khiển WebAdmin riêng của OpenLiteSpeed phát hành lắng nghe trên mọi giao diện và ở đây chưa từng có gì đụng tới nó, nên chọn bộ máy đó đã đặt một panel quản trị thứ hai lên internet công khai với thông tin xác thực mà panel này không quản lý. Và
varnishdtoàn máy của bản phân phối đang chạy trên cổng 6081 dù một chú thích của trình cài đặt giải thích dài dòng vì sao nó được để dừng — không gì trong mã dừng nó. Giờ bảng điều khiển ở trên loopback và dịch vụ lạc đã bị che (mask). Cả hai đều được xác nhận là tới được từ bên ngoài máy trước khi sửa và từ chối kết nối sau đó. -
Công cụ tìm kiếm đã mở ra internet. Trình cài đặt nối thêm
network.host: 127.0.0.1và một chú thích nói "a search engine open to the internet is a database open to the internet, and this one indexes customers' site content". Cấu hình gói riêng của Elasticsearch ghihttp.host: 0.0.0.0sớm hơn trong cùng tệp, vàhttp.hostlà cài đặt gắn kết REST API — nên nút lắng nghe trên mọi giao diện và chú thích đơn giản là sai. Nó đã trả lời từ bên ngoài máy trên cổng 9201. Giờ cả hai cài đặt đều được ghim. -
Backend webmail lắng nghe trên mọi giao diện.
listen(PORT)không có host gắn tất cả chúng, nên backend tới được trên cổng 8892 thẳng qua front end vốn kết thúc TLS và đặt các tiêu đề bảo mật. CLI cài nó đã mang chú thích "on loopback only" từ ngày nó được viết; không gì làm điều đó thành sự thật. Giờ thì có. -
hitechcloudcli license verifykhởi động lại cả hai panel. Một lệnh báo một giấy phép có hợp lệ không đã ngắt mọi phiên đang mở và cắt mọi yêu cầu đang chạy, mỗi lần nó chạy. Giờ nó chỉ báo cáo và không đổi gì. -
Kiểm tra trước của tường lửa tự khoá nó khỏi khoá chủ của chính nó.
hitechcloudwaf -checktạo khoá khi chưa có, và lần kiểm tra chạy bằng root trong khi dịch vụ thì không — nên dịch vụ không bao giờ đọc được tệp mà chính kiểm tra của nó đã tạo. Một máy chủ đã khởi động lại 12.968 lần. Một lần kiểm tra giờ không ghi gì. -
Đã kiểm tra và thấy vững: chưa có thông tin xác thực nào từng vào bất kỳ kho mã nào trong dự án này, kể cả lịch sử của nó; mọi tuyến đều nằm sau một phiên, một token API, một HMAC hoặc cố ý công khai; webhook triển khai xác minh HMAC-SHA256 trong thời gian hằng số; các endpoint OIDC kiểm tra phương thức k ý, issuer và bearer token; không khoá riêng nào đọc được bởi mọi người; các công cụ tìm kiếm chỉ lắng nghe trên loopback.
-
Quét lỗ hổng: cả hai tệp nhị phân đều báo không có mã dễ bị tổn thương tới được. Ba khuyến cáo tồn tại trong các phụ thuộc và không cái nào có bản sửa đã công bố — một trong một tính năng thư viện mà sản phẩm này không dùng, một trong một gói mà không gì ở đây import, và một trong một công cụ ảnh lúc build không bao giờ thấy dữ liệu không tin cậy.
Hai phiên bản
3.0.0 là bản phát hành mà Community và Enterprise trở thành thật. Cho tới nay panel trả lời "Enterprise" cho mọi câu hỏi về giấy phép, và một bản cài mới ghi khoá mặc định trước khi tách vào cấu hình của chính nó — nên mọi bản tải Community đều lên với đại lý, gói hosting, panel quản trị và không có giới hạn. Một bản cài mới giờ không ghi khoá nào, đó chính là Community.
Community lưu trữ các website của riêng bạn trên một máy chủ: ba tài khoản hosting và năm mươi tên miền, như hitechcloud.org luôn công bố, với mọi tính năng hosting mà sản phẩm có. Panel hosting trên cổng 2083 là toàn bộ của nó, và là nơi các phiên bản PHP của máy chủ cũng được quản lý, vì không có panel quản trị nào để làm việc đó.
Enterprise là nửa đa người thuê: đại lý, gói hosting, tài khoản khách hàng, các quyền giữa chúng, và panel quản trị trên cổng 2087 quản trị tất cả những thứ đó. Cổng 2087 trả lời một trang trên một máy chủ Community và không gì khác — không phải bảng điều khiển, không phải form đăng nhập, không phải API. Panel quản trị chính là nửa đó, nên chặn từng trang một chỉ để lại trang nào mà không ai nhớ chặn.
Nhập một khoá làm mọi thứ. hitechcloudcli license <key> gỡ
các giới hạn, mở 2087, bật các mô-đun Enterprise, và cài
các thành phần mà các mô-đun đó cần — FTP, ngăn xếp thư, PostgreSQL, Node và
ClamAV — ở chế độ nền, vì panel dùng được trong một giây và một
lần cài gói mất vài phút. Không gì được cài lại và không gì được
cấu hình lại: nó thêm các thành phần và để yên máy chủ đang chạy.
Phiên bản được đọc từ khoá trên máy, không bao giờ từ máy chủ cấp phép. Một sự cố của nhà cung cấp hay một tường lửa trước khách hàng không thể biến một máy chủ Enterprise trở lại Community vào giữa một buổi chiều.
Đã thêm
-
Cài và gỡ toàn bộ các phiên bản PHP. Trên Enterprise đó là panel quản trị; trên Community đó là panel hosting, vì phiên bản đó không có panel quản trị và người chạy máy chủ ở đó. Trên Enterprise một tài khoản hosting không làm được — một phiên bản PHP được dùng chung bởi mọi tài khoản trên máy, và gỡ một phiên bản lấy nó khỏi những người hàng xóm. Một phiên bản mà một website đang chạy, và mặc định cho các website mới, không thể bị gỡ chút nào; trang nói rõ cái nào, thay vì cung cấp một nút sẽ bị từ chối.
-
Một bản cài mặc định giờ dựng tám phiên bản PHP, không phải mười ba — 5.6, 7.4 và 8.1 đến 8.6. Mọi phiên bản đã cài đều chạy một trình quản lý tiến trình và các worker rảnh của nó từ lúc khởi động dù có website dùng nó hay không. Phần còn lại chỉ cách panel một phút khi ai đó cần một phiên bản.
-
Cài và gỡ toàn bộ các phiên bản PHP từ panel quản trị. Một bản cài mặc định chạy trình quản lý tiến trình của mọi phiên bản được hỗ trợ dù có website dùng hay không; trên một máy chủ mới đó là cả chục FPM master rảnh. Trang hiển thị mỗi phiên bản đang mang gì và cho phép bạn gỡ những phiên bản không dùng. Một phiên bản mà một website đang chạy, và mặc định cho các website mới, không thể bị gỡ — trang nói rõ cái nào, thay vì cung cấp một nút sẽ bị từ chối.
Đã sửa
Mang từ các bản phát hành 2.1.27–2.1.30 sang, và đáng nhắc lại vì chúng là nền tảng của bản phát hành sản phẩm đầu tiên:
- Xoá một tên miền đã xoá mọi hộp thư mà tài khoản có, trên mọi tên miền.
- Một hộp thư có thể gửi dưới danh nghĩa bất kỳ tên miền nào trên máy chủ.
- Các danh sách chặn của bộ lọc thư rác không trả lời gì, trong im lặng.
- Một website chạy tốt trên nginx thì hỏng và chậm trên OpenLiteSpeed.
- Document Root mở sai thư mục ở mọi nơi nó xuất hiện.
- Một vùng có các nameserver là CNAME bị báo là khoẻ mạnh.
- Một địa chỉ không cấp phát được cho một đại lý, và chưa bao giờ làm được.
Ghi chú
Nâng cấp là một bản cập nhật bình thường. Không có di chuyển, không đổi schema
và không có dịch vụ mới. hitechcloudcli update đưa một máy chủ 2.1.x lên 3.0.0.
Số phiên bản. Nó là 3.0.0 vì sản phẩm đã hoàn thiện, không phải vì có gì trong đó phá vỡ tính tương thích với 2.1.30.