Bảo mật
Những gì đã làm, những gì đang làm.
Trang này chỉ nói điều có thật và kiểm được trong mã nguồn. Phần chưa làm được nói thẳng ở bên phải, không giấu.
Đã có
- Mỗi thương hiệu chỉ thấy phần của mình. Mỗi thao tác, API, file CSV và trang in đều chỉ trả dữ liệu của thương hiệu đang đăng nhập. Hỏi tới dữ liệu của thương hiệu khác thì nhận câu trả lời “không tìm thấy”, giống như dữ liệu không tồn tại. Có bộ test riêng cho việc này.
- Phân quyền kiểm ở máy chủ. Bốn vai trò: quản trị, trưởng kho, nhân viên kho, thương hiệu. Quyền được kiểm trên máy chủ ở mọi thao tác, không chỉ ẩn nút trên giao diện. Nhân viên kho chỉ làm việc ở kho mình được gán.
- Nhật ký ai làm gì. Mọi thao tác đổi dữ liệu để lại một dòng: người, khoá API, bộ kết nối sàn hay bot đã làm, làm gì, trên đối tượng nào, lúc nào. Quản trị viên xem được trong trang Nhật ký.
- Tài khoản và phiên đăng nhập. Mật khẩu lưu dưới dạng băm bcrypt. Đăng nhập sai bị giới hạn theo tài khoản và địa chỉ. Phiên là cookie chỉ máy chủ đọc được, hết hạn sau 12 giờ. Ai cũng đổi được mật khẩu của mình; quản trị viên đặt lại được mật khẩu cho người khác.
- Khoá API. Mỗi thương hiệu một khoá, chỉ hiện một lần lúc tạo, được lưu dưới dạng băm SHA-256, so sánh trong thời gian không đổi, thu hồi có hiệu lực ngay, và giới hạn 120 yêu cầu mỗi phút.
- Webhook của đối tác được xác thực. Webhook của sàn, hãng vận chuyển, ngân hàng và ví đều được xác thực bằng chữ ký hoặc khoá bí mật, so sánh trong thời gian không đổi; khi chưa cấu hình khoá, điểm nhận bị đóng.
- Sổ cái tồn kho. Mọi thay đổi tồn là một dòng sổ cái; số dư được cập nhật cùng giao dịch và không bao giờ âm. Mỗi con số trên màn hình lần lại được tới dòng dữ liệu đã tạo ra nó.
- Đơn thật tách khỏi đơn mô phỏng. Bộ mô phỏng không bao giờ động tới đơn thật, và đơn mô phỏng không bao giờ được gửi tới đối tác thật, kể cả khi đã có khoá.
- Chặn một số lỗi phổ biến. File CSV xuất ra chặn công thức độc hại (=, +, -, @ ở đầu ô). Trang có tiêu đề bảo mật: chặn nhúng khung, chặn đoán kiểu nội dung, HSTS khi chạy thật.
- Bí mật của đối tác được mã hoá khi lưu. Token của Haravan, của kênh bán và thông tin xác thực đối tác được mã hoá ở tầng ứng dụng (AES-256-GCM, có phiên bản khoá để xoay khoá) trước khi vào cơ sở dữ liệu, bằng khoá riêng của từng máy chủ. Dòng cũ được mã hoá dần khi đọc hoặc ghi. Khoá này phải được giữ riêng với bản sao lưu.
- Xác thực hai bước (TOTP). Quản trị và trưởng kho có thể bật xác thực hai bước bằng ứng dụng tạo mã, kèm mã khôi phục lưu dạng băm; máy chủ có thể bắt buộc theo vai trò. Đổi mật khẩu hoặc chọn “đăng xuất mọi nơi” làm mọi phiên đang mở hết hiệu lực. Đăng nhập một lần (SSO) chưa có.
- Chính sách nội dung bảo mật (CSP) có nonce. Mỗi trang có chính sách nguồn nội dung riêng với nonce theo từng yêu cầu, chặn nhúng khung và chặn nguồn lạ; màn 3D vẫn chạy trong chính sách này.
- Kiểm thử trước mỗi lần triển khai. Hơn 1.100 bài test tự động chạy trên Postgres thật, cùng bộ kiểm tra trên trình duyệt, đều phải xanh trước mỗi lần triển khai. Đây là kiểm thử của chính chúng tôi, không phải đánh giá của bên thứ ba.
Chưa có, đang lên kế hoạch
- Sao lưu tự động ra ngoài máy chủ. Sao lưu hằng ngày kèm thử khôi phục định kỳ chưa được tự động hoá; hiện thực hiện thủ công khi triển khai.
- Nhiều công ty trên một hệ thống dùng chung. Chưa có: hiện mỗi khách một hệ thống riêng, nên dữ liệu giữa các công ty tách nhau vì nằm ở hai nơi khác nhau. Khi có hệ thống dùng chung, việc cách ly sẽ có bộ test riêng trước khi mở.
- Kiểm thử xâm nhập và chứng nhận. Chưa có đánh giá bảo mật độc lập và chưa có chứng nhận nào (như ISO 27001). Chúng tôi không nêu chứng nhận nào cho tới khi có thật.
Dữ liệu của bạn
Dữ liệu là của bạn.
Nơi lưu trữ: do hai bên thống nhất khi triển khai. Quản trị viên xuất được CSV từ nhiều màn hình. Việc xuất và xoá toàn bộ khi chấm dứt hợp đồng được thoả thuận trong hợp đồng. Cách chúng tôi xử lý dữ liệu cá nhân nằm ở Chính sách bảo mật.
Báo lỗ hổng
Nếu bạn tìm thấy lỗ hổng, hãy báo cho chúng tôi và đừng công bố trước khi chúng tôi kịp sửa. Chúng tôi sẽ đọc và phản hồi.
Hiện chúng tôi nhận liên hệ qua biểu mẫu. Email và điện thoại sẽ được bổ sung tại đây.
Hoặc dùng biểu mẫu liên hệ.