top of page

Kiểm tra bảo mật Shopify: Checklist, cách rà soát và phạm vi pentest

1 ngày trước
15 phút đọc

Kiểm tra bảo mật Shopify nên bắt đầu bằng việc xác định ai có quyền tác động đến cửa hàng, ứng dụng nào đang tiếp cận dữ liệu và những hệ thống nào tham gia vào hành trình mua hàng.

Sau đó, doanh nghiệp cần đối chiếu cấu hình, kiểm tra hành vi thực tế và phân loại vấn đề. Những phần chưa thể xác minh bằng rà soát thông thường có thể cần đánh giá kỹ thuật hoặc pentest trong phạm vi được phép.

Bài viết này cung cấp checklist, hướng dẫn kiểm tra tài khoản, app, theme, API và dữ liệu, cùng cách chuẩn bị một đợt pentest phù hợp. Nội dung dành cho chủ cửa hàng, agency và đội phát triển tại Việt Nam.

Nếu cần hiểu tổng thể trách nhiệm giữa nền tảng, doanh nghiệp và nhà cung cấp, xem hướng dẫn bảo mật Shopify cho chủ cửa hàng và đội phát triển.

1. Kiểm tra bảo mật Shopify nên bắt đầu từ đâu?

Trước khi mở từng trang cấu hình, hãy xác nhận ba thông tin:

  • Phạm vi: cửa hàng, app, tên miền, backend và tích hợp nào cần kiểm tra.

  • Người phụ trách: ai có quyền cung cấp thông tin, thực hiện thay đổi và xác nhận kết quả.

  • Mục tiêu: rà soát định kỳ, chuẩn bị ra mắt, đánh giá sau thay đổi hay điều tra dấu hiệu bất thường.

Nếu khách đang bị đưa sang website không nhận diện được hoặc có bằng chứng truy cập trái phép, cần ưu tiên ứng cứu. Tham khảo cách xử lý khi checkout Shopify chuyển hướng sang web lạ trước khi tiếp tục kiểm tra định kỳ.

Phân biệt ba hoạt động thường bị gộp chung

Hoạt động

Câu hỏi cần trả lời

Đầu ra

Rà soát cấu hình và vận hành

Quyền, tài khoản, app và quy trình đang được quản lý thế nào?

Danh sách kiểm soát đáp ứng hoặc còn thiếu

Kiểm tra mã và hành vi

Thành phần hoạt động có đúng với thiết kế, quyền và luồng dự kiến không?

Bằng chứng kỹ thuật và điểm cần xác minh

Pentest

Điểm yếu có thể bị khai thác như thế nào trong phạm vi được phép?

Phát hiện đã xác thực, tác động và hướng khắc phục

Một bản kiểm kê đầy đủ giúp chuẩn bị pentest tốt hơn. Ngược lại, báo cáo pentest không tự thay thế việc quản lý quyền, dữ liệu và nhà cung cấp hằng ngày.

2. Checklist kiểm tra bảo mật Shopify

Sao chép bảng dưới đây vào tài liệu nội bộ, sau đó thay vai trò gợi ý bằng người cụ thể.

Dùng các trạng thái: Chưa kiểm tra / Đạt / Cần xử lý / Chưa đủ bằng chứng / Không áp dụng. Chỉ đánh dấu “Đạt” khi có căn cứ trong phạm vi đã kiểm tra; ghi lý do nếu một mục không áp dụng.

Nhóm

Hạng mục cần xác nhận

Phụ trách gợi ý

Trạng thái ban đầu

Bằng chứng cần có

Ưu tiên

Tài khoản

Có chủ sở hữu và danh sách người dùng hiện hành

Chủ cửa hàng

Chưa kiểm tra

Danh sách tài khoản

Cao

Tài khoản

Đăng nhập cá nhân và xác thực hai bước được thiết lập

Quản trị

Chưa kiểm tra

Xác nhận thiết lập

Cao

Tài khoản

Quyền phù hợp nhiệm vụ; quyền cũ được thu hồi

Quản trị

Chưa kiểm tra

Bảng quyền và hồ sơ bàn giao

Cao

Tài khoản

Có quy trình khôi phục truy cập

Chủ cửa hàng

Chưa kiểm tra

Đầu mối và quy trình

Theo lịch

Ứng dụng

Có danh mục app, custom app và mục đích sử dụng

Vận hành

Chưa kiểm tra

Danh mục có người phụ trách

Theo lịch

Ứng dụng

Quyền đọc, ghi được giải thích theo chức năng

Kỹ thuật

Chưa kiểm tra

Kết quả đối chiếu quyền

Cao

Ứng dụng

Biết dữ liệu tiếp cận và nhà cung cấp liên quan

Đầu mối dữ liệu

Chưa kiểm tra

Luồng dữ liệu và tài liệu

Cao

Ứng dụng

Có kế hoạch gỡ app và xử lý phụ thuộc

Chủ app

Chưa kiểm tra

Phương án kết thúc sử dụng

Theo lịch

Theme và script

Biết nguồn script, app embed và người được sửa

Phát triển

Chưa kiểm tra

Danh mục thành phần

Cao

Theme và script

Thay đổi quan trọng có phê duyệt và phiên bản

Phát triển

Chưa kiểm tra

Hồ sơ thay đổi

Cao

Theme và script

Đã kiểm tra cấu hình tải động liên quan

Phát triển

Chưa kiểm tra

Kết quả kiểm tra runtime

Cao

Theme và script

Luồng mua hàng được thử lại sau thay đổi

Kỹ thuật và vận hành

Chưa kiểm tra

Kết quả thử theo tình huống

Cao

Tên miền và email

Quyền sở hữu và quản trị thuộc phạm vi doanh nghiệp kiểm soát

Chủ tài sản

Chưa kiểm tra

Hồ sơ và đầu mối quản lý

Cao

Tên miền và email

Tài khoản quản trị được bảo vệ, có phương án khôi phục

IT

Chưa kiểm tra

Xác nhận kiểm soát

Cao

Tên miền và email

Thay đổi DNS được đối chiếu và phê duyệt

IT

Chưa kiểm tra

Cấu hình và lịch sử

Cao

Tên miền và email

Gia hạn, email khôi phục và người nhận cảnh báo được rà lại

IT

Chưa kiểm tra

Lịch và kết quả kiểm tra

Theo lịch

API và tích hợp

Có danh mục kết nối, phạm vi token và người quản lý

Phát triển

Chưa kiểm tra

Danh mục không chứa secret

Cao

API và tích hợp

Thông tin xác thực nhạy cảm được lưu và sử dụng phù hợp

Phát triển

Chưa kiểm tra

Kết quả rà soát

Cao

API và tích hợp

Xác thực, phân quyền và giới hạn dữ liệu theo cửa hàng được kiểm tra

Phát triển

Chưa kiểm tra

Bằng chứng kiểm thử

Cao

API và tích hợp

Webhook, nhận trùng và lỗi đồng bộ được xử lý

Phát triển

Chưa kiểm tra

Kết quả thử và log phù hợp

Cao

Dữ liệu và phục hồi

Biết dữ liệu khách hàng đi đâu và ai được truy cập

Đầu mối dữ liệu

Chưa kiểm tra

Bản đồ dữ liệu

Cao

Dữ liệu và phục hồi

Có đánh giá nghĩa vụ, thỏa thuận và thời hạn lưu

Pháp chế và dữ liệu

Chưa kiểm tra

Hồ sơ và việc còn thiếu

Cao

Dữ liệu và phục hồi

Có bản sao phù hợp và đã kiểm tra khả năng khôi phục

IT và phát triển

Chưa kiểm tra

Phạm vi sao lưu, kết quả thử

Theo lịch

Dữ liệu và phục hồi

Có nguồn bằng chứng, đầu mối sự cố và quyền quyết định khôi phục

Quản lý vận hành

Chưa kiểm tra

Danh bạ và quy trình

Cao

“Cao” là mức ưu tiên rà soát ban đầu. Nếu phát hiện tác động đang tiếp diễn, thông tin xác thực bị lộ hoặc truy cập trái phép, cần chuyển sang xử lý khẩn cấp.

Không lưu mật khẩu, token, OTP hoặc mã khôi phục trong bảng chia sẻ rộng.

3. Kiểm tra Shopify Admin và quyền cộng tác viên

Tài khoản cần được quản lý theo vòng đời: cấp mới, thay đổi nhiệm vụ và kết thúc quyền.

3.1. Dùng tài khoản riêng và bảo vệ email khôi phục

Mỗi người nên sử dụng tài khoản riêng, mật khẩu duy nhất và xác thực hai bước. Email dùng để khôi phục cũng cần được bảo vệ.

Khi kiểm tra, xác nhận việc thiết lập mà không thu thập mã khôi phục hoặc thông tin bí mật của cá nhân.

3.2. Đối chiếu quyền với công việc hiện tại

Nhân viên chăm sóc khách hàng, marketing, vận hành kho và lập trình viên có nhu cầu khác nhau.

Với mỗi quyền nhạy cảm, cần biết ai được cấp, vì sao cần, ai phê duyệt và khi nào rà lại. Quyền từng hợp lý trong giai đoạn ra mắt có thể trở nên dư thừa sau đó.

3.3. Kiểm tra cả tài khoản ngoài Shopify

Khi agency hoặc nhân sự kết thúc công việc, rà lại dashboard app, kho mã nguồn, hosting, tên miền và công cụ hỗ trợ.

Một người bị xóa khỏi Shopify vẫn có thể còn quyền tại hệ thống khác. Hồ sơ bàn giao nên xác nhận tài sản, quyền và người tiếp nhận.

4. Rà soát app Shopify trước khi cài và gia hạn

App cần được đánh giá theo chức năng, quyền và luồng dữ liệu, thay vì chỉ dựa vào lượt đánh giá hoặc mức độ phổ biến.

kiem-tra-bao-mat-shopify
Kiểm tra bảo mật Shopify app

Trong Shopify Admin, có thể xem thông tin ứng dụng tại Settings → Apps → chọn app, rồi rà phần quyền, hoạt động và quyền riêng tư khi khả dụng.

4.1. Quyền nào thực sự cần thiết?

Đặt câu hỏi theo công việc:

  • App có cần đọc toàn bộ thông tin khách hàng không?

  • Vì sao cần quyền ghi dữ liệu sản phẩm hoặc đơn hàng?

  • Có thể thay đổi nội dung hoặc hành vi storefront không?

  • Dữ liệu được gửi đến dịch vụ nào?

  • Ai có thể sửa cấu hình bên trong app?

Quyền chỉ đọc vẫn có thể ảnh hưởng bảo mật dữ liệu. Quyền ghi có thể cần thiết, nhưng phải được giải thích và kiểm soát.

Một quyền chưa dùng gần đây là đầu mối để hỏi thêm, không tự chứng minh quyền đó thừa.

4.2. Đánh giá nhà cung cấp và bằng chứng

Với app có ảnh hưởng lớn, nên yêu cầu thông tin phù hợp về quản trị truy cập, đầu mối sự cố, thời gian lưu log, dữ liệu và đánh giá bảo mật.

Nếu nhà cung cấp có báo cáo pentest, kiểm tra thời điểm, phạm vi và kết quả khắc phục. Báo cáo chỉ bao phủ các thành phần được đánh giá.

4.3. Gỡ app cần có kế hoạch

Trước khi gỡ, xác định dữ liệu cần giữ và chức năng sẽ dừng. Sau khi gỡ, kiểm tra bước bổ sung theo hướng dẫn nhà cung cấp, mã đã chèn thủ công và kết nối ngoài.

Cũng cần kiểm tra đăng ký thanh toán ngoài Shopify nếu có. Thao tác gỡ app không thay thế toàn bộ quy trình chấm dứt quan hệ dịch vụ.

5. Kiểm tra theme và script để giảm rủi ro storefront

Theme và script cần được quản lý như mã có ảnh hưởng trực tiếp đến trải nghiệm khách.

5.1. Kiểm kê nguồn và phê duyệt thay đổi

Lập danh sách script, app embed và dịch vụ được tải trên các trang quan trọng. Ghi mục đích, người quản lý và nguồn được phép thay đổi.

Trước lần sửa đáng kể, giữ phiên bản phù hợp, xác định người duyệt và cách khôi phục.

5.2. Kết hợp so sánh mã với kiểm tra runtime

Một tệp theme không thay đổi vẫn có thể tải cấu hình khác từ app hoặc dịch vụ bên ngoài.

Đội phát triển nên kiểm tra nguồn nội dung tải động, cách sử dụng dữ liệu và các thành phần có thể tác động đến nút mua hàng. Shopify khuyến nghị coi cấu hình tải động là dữ liệu không đáng tin cậy, tránh thực thi nó như mã.

5.3. Thử các đường mua hàng thực tế

Sau thay đổi, kiểm tra trang sản phẩm, mua nhanh, giỏ hàng, nút checkout và những phương thức thanh toán liên quan.

Ghi lại điều kiện kiểm tra, thiết bị, phiên và địa chỉ đích. Một lần mua thành công không tự bao phủ mọi đường đi.

Nếu phát hiện bất thường, ưu tiên điều tra thay vì tiếp tục kiểm thử bằng dữ liệu nhạy cảm. Bối cảnh có thể tham khảo trong bài Shopify bị tấn công checkout hijack.

6. Kiểm tra Shopify API, webhook và backend riêng

Phần này cần người đang quản lý ứng dụng và tích hợp tham gia. Chủ cửa hàng nên yêu cầu kết quả có phạm vi, không đánh dấu thay cho đội kỹ thuật.

6.1. Xác thực yêu cầu và phân quyền theo cửa hàng

Backend cần xác thực trước khi đọc hoặc ghi dữ liệu, đồng thời xác định cửa hàng từ kết quả xác thực phù hợp.

Không chỉ tin vào tham số cửa hàng do bên gửi yêu cầu cung cấp. Với ứng dụng nhiều store, truy vấn cần được giới hạn theo cửa hàng đã xác thực.

Điểm dễ bỏ sót: token hợp lệ không chứng minh người khởi tạo hành động có quyền. Một endpoint thiếu kiểm soát vẫn có thể khiến backend thực hiện yêu cầu bằng thông tin xác thực hợp lệ.

6.2. Quản lý token và secret

Phân biệt loại token trước khi đánh giá. Thông tin xác thực nhạy cảm không được lộ trong mã phía trình duyệt, kho công khai hoặc log.

Cần có quy trình thu hồi và thay thế khi nghi lộ, cùng kiểm tra các tác vụ phụ thuộc.

6.3. Xác minh webhook và xử lý nhận trùng

Với webhook Shopify gửi qua HTTPS, xác minh HMAC bằng request body gốc trước khi tin cậy nội dung.

Sau đó, kiểm tra xử lý nhận trùng, retry, lỗi và khả năng đối soát. Các cơ chế phải phù hợp phương thức giao nhận thực tế.

6.4. Cập nhật cần lưu ý từ ngày 27/10/2026

Shopify đã công bố lịch thực thi yêu cầu offline access token có thời hạn cho public app thuộc diện áp dụng.

App chưa đáp ứng bị gỡ niêm yết và chặn cài mới từ ngày 1/1/2027. Các yêu cầu Admin API liên quan dùng token không có thời hạn bị từ chối từ ngày 1/4/2027.

Custom app và app do merchant tạo được loại trừ khỏi yêu cầu này. Merchant nên hỏi nhà cung cấp về tình trạng đáp ứng; đội phát triển cần kiểm tra cơ chế làm mới và tác vụ nền.

7. Dữ liệu và trách nhiệm doanh nghiệp tại Việt Nam

Sau khi kiểm kê kỹ thuật, hãy đi theo luồng dữ liệu: Shopify, app, CRM, marketing, logistics, tệp xuất và người được truy cập.

Xác định mục đích, bên nhận, thời hạn lưu và cách xử lý khi kết thúc dịch vụ. Gỡ một kết nối không tự xác nhận dữ liệu đã được xử lý ở mọi nơi nhận.

Luật Bảo vệ dữ liệu cá nhân số 91/2025/QH15 và Nghị định 356/2025/NĐ-CP cùng có hiệu lực từ ngày 1/1/2026. Doanh nghiệp cần đối chiếu vai trò và hoạt động thực tế để xác định nghĩa vụ áp dụng.

Không nên suy ra mọi cửa hàng phải mua cùng một giải pháp hoặc pentest theo cùng một chu kỳ. Kết quả kỹ thuật và đánh giá tuân thủ có liên quan nhưng không đồng nhất.

8. Khi nào cần pentest Shopify?

Pentest phù hợp khi doanh nghiệp cần kiểm chứng điểm yếu của các thành phần mình sở hữu hoặc có quyền cho phép kiểm thử.

Những tình huống đáng cân nhắc gồm:

  • Chuẩn bị đưa custom app hoặc tích hợp quan trọng vào sử dụng.

  • Thay đổi lớn về xác thực, phân quyền, API hoặc kiến trúc.

  • Checklist có nhiều mục kỹ thuật chưa thể xác minh.

  • Cần đánh giá độc lập theo yêu cầu đối tác.

  • Sau ngăn chặn sự cố, cần kiểm tra điểm yếu còn lại và bản sửa.

Nếu vấn đề chỉ là tài khoản cũ chưa thu hồi hoặc thiếu hồ sơ quản lý app, doanh nghiệp có thể xử lý phần vận hành trước. Pentest nên có câu hỏi và tài sản cụ thể.

9. Phạm vi PENTEST Shopify nên gồm những gì?

Tên gọi “pentest Shopify” cần được chuyển thành danh mục tài sản và tình huống đánh giá rõ ràng.

Phạm vi

Nội dung có thể đánh giá

Điều cần xác nhận

Custom app và Web riêng

Đăng nhập, phiên, phân quyền, dữ liệu và logic nghiệp vụ

Quyền sở hữu hoặc cho phép kiểm thử

API riêng

Xác thực, quyền theo đối tượng, giới hạn dữ liệu và hành động

Endpoint, vai trò và phiên bản

Công cụ nội bộ

Tài khoản đặc quyền, chức năng hỗ trợ, khả năng sửa cấu hình

Có đưa vào phạm vi hay không

Tích hợp

Luồng dữ liệu, token, webhook và xử lý lỗi

Trách nhiệm từng bên

Theme và mã tùy chỉnh

Cách hiển thị nội dung, nguồn script và hành vi

Phạm vi mã và quyền thay đổi

Hạ tầng backend liên quan

Cấu hình và bề mặt tiếp xúc thuộc quyền kiểm thử

Danh sách tài sản được duyệt

Quyền sở hữu cửa hàng không tự cho phép kiểm thử hạ tầng lõi Shopify hoặc hệ thống nhà cung cấp app. Từng tài sản cần được xác nhận và tuân thủ điều kiện của bên liên quan.

Cũng cần phân biệt mã chạy trên storefront với checkout do nền tảng quản lý. Không mở rộng kết luận từ điểm yếu một thành phần thành tuyên bố toàn bộ Shopify bị xâm nhập.

10. Chuẩn bị trước khi PENTEST

Để đề xuất phạm vi sát nhu cầu, doanh nghiệp nên chuẩn bị:

Thông tin

Nội dung cần có

Vai trò

Merchant, agency hay nhà phát triển app

Mục tiêu

Ra mắt, rà soát định kỳ, sau thay đổi hoặc sau sự cố

Tài sản

Domain, ứng dụng, API và công cụ nội bộ

Kiến trúc

Thành phần và luồng tích hợp chính

Tài khoản thử

Vai trò cần kiểm tra và dữ liệu thử phù hợp

Giới hạn

Hành động bị loại trừ, khung giờ và điều kiện dừng

Phối hợp

Đầu mối kỹ thuật, người phê duyệt và kênh báo khẩn

Xác nhận kết quả

Phạm vi khắc phục và retest dự kiến

Không gửi mật khẩu hoặc token thật qua biểu mẫu tư vấn ban đầu. Thông tin truy cập phục vụ kiểm thử cần được bàn giao qua cơ chế đã thống nhất.

Môi trường thử giúp giảm tác động, nhưng cần làm rõ khác biệt với production. Nếu kiểm thử trên hệ thống đang chạy, phải có giới hạn và phương án phối hợp tương ứng.

11. Sau PENTEST, cần nhận được đầu ra gì?

Một báo cáo hữu ích phải giúp lãnh đạo hiểu tác động và đội kỹ thuật biết cách xử lý.

Đầu ra nên bao gồm:

  • Tóm tắt rủi ro và vấn đề ưu tiên.

  • Phạm vi, phương pháp và giới hạn đánh giá.

  • Phát hiện kèm điều kiện và bằng chứng.

  • Tài sản, dữ liệu hoặc chức năng bị ảnh hưởng.

  • Hướng khắc phục phù hợp.

  • Kết quả kiểm thử lại trong phạm vi thống nhất.

Một điểm yếu được phát hiện chưa đồng nghĩa đã xử lý xong. Cần phân biệt “đã gửi hướng dẫn”, “đã triển khai bản sửa” và “đã xác nhận bằng retest”.

Có thể xem case study ứng cứu sự cố và pentest Shopify Smind Sections để tìm hiểu việc kết hợp điều tra, kiểm thử và xác nhận khắc phục.

12. Những yếu tố ảnh hưởng chi phí PENTEST

Chi phí phụ thuộc vào phạm vi và độ sâu, không chỉ số lượng cửa hàng.

Các yếu tố thường cần làm rõ gồm số ứng dụng và API, số vai trò, độ phức tạp logic nghiệp vụ, mô hình nhiều cửa hàng, công cụ nội bộ, tài liệu và mã được cung cấp, môi trường kiểm thử cùng phạm vi retest.

Hai cửa hàng dùng cùng nền tảng có thể có hệ thống tích hợp rất khác nhau. Vì vậy, cần so sánh báo giá theo tài sản, tình huống kiểm thử và đầu ra thay vì chỉ nhìn tổng tiền.

13. Lịch kiểm tra và cách ưu tiên khắc phục

Thời điểm

Việc đề xuất

Hằng ngày

Tiếp nhận cảnh báo, phản ánh khách và lỗi tích hợp quan trọng

Hằng tuần

Đối chiếu thay đổi app, theme và cấu hình với kế hoạch

Hằng tháng

Rà quyền, ứng dụng không còn cần thiết và việc khắc phục còn mở

Theo chu kỳ rủi ro

Đánh giá nhà cung cấp, khôi phục và hệ thống riêng

Sau thay đổi lớn

Kiểm tra thành phần bị tác động và luồng phụ thuộc

Khi có sự cố

Ngăn tác động, lưu bằng chứng và điều tra ngay

Đây là lịch gợi ý; cần điều chỉnh theo hệ thống và khả năng vận hành.

Với mỗi vấn đề, ghi một người thực hiện, hạn hoàn thành, biện pháp tạm thời và bằng chứng đóng việc. Giữ trạng thái “Chưa đủ bằng chứng” nếu chưa thể xác nhận.

Không dùng tỷ lệ hoàn thành checklist để kết luận cửa hàng an toàn. Một quyền đặc biệt bị bỏ quên hoặc secret bị lộ có thể quan trọng hơn nhiều mục đã hoàn tất.

---------

Câu hỏi thường gặp

Chủ shop không biết kỹ thuật có tự kiểm tra được không?

Có thể bắt đầu bằng tài khoản, danh mục app, trách nhiệm và hồ sơ. Những mục API, mã và backend cần giao người có chuyên môn, kèm yêu cầu kết quả rõ ràng.

Có. Doanh nghiệp vẫn cần kiểm tra quyền, dữ liệu, tài khoản và mức phù hợp với nhu cầu thực tế.

Quét tự động có thể tìm một số vấn đề. Phân quyền, logic nghiệp vụ và chuỗi tác động thường cần kiểm tra sâu hơn trong phạm vi phù hợp.

Không. Kết quả có phạm vi và thời điểm. Thay đổi mã, quyền, cấu hình hoặc nhà cung cấp có thể tạo rủi ro mới.

Tùy mục tiêu và phạm vi. Có thể tổ chức theo giai đoạn, nhưng cần phân biệt đầu ra và người chịu trách nhiệm của từng phần.

Trao đổi phạm vi kiểm tra bảo mật Shopify với IPSIP Việt Nam

Doanh nghiệp có thể bắt đầu bằng checklist và danh sách các mục chưa xác minh. Kèm theo đó là vai trò của mình, tài sản được phép kiểm thử và mục tiêu đánh giá.

Tại dịch vụ Pentest của IPSIP Việt Nam, phạm vi và quy tắc kiểm thử được thống nhất trước triển khai; kết quả gồm bằng chứng, hướng khắc phục và retest theo thỏa thuận.

Mục tiêu là xác định đúng phần cần kiểm tra và tạo đầu ra có thể dùng để giảm rủi ro thực tế.

--------

Nguồn tham khảo

theo dõi ipsip việt nam trên google news.png
conact-ipsip-vietnam
zalo
whatsapp-mobile-software-icon-png-image_6315991.png
bottom of page