Để biết câu trả lời cụ thể cho câu hỏi của bạn, hãy xem /magento//a/72700/361
Lý lịch
Thứ nhất, không có khai thác cụ thể - có một loạt các bài báo đang thực hiện các vòng tại thời điểm đã đọc sai và hiểu sai bài viết nguồn.
Các bài viết gốc chỉ nói (và tôi diễn giải),
Nếu một hacker đã có thể để có được quyền truy cập vào các file Magento của bạn, họ có thể nắm bắt thông tin từ khách hàng của bạn
Phần quan trọng là tin tặc cần truy cập vào máy chủ của bạn và sửa đổi các tệp.
Đừng hoảng sợ ... điều này không có gì đặc biệt với Magento
Về mặt nắm bắt thông tin, không có gì cụ thể đối với Magento hơn bất kỳ trang web / nền tảng nào khác. Nếu một hacker có quyền truy cập vào các tệp của bạn, thì trò chơi của nó sẽ kết thúc - họ có thể nắm bắt bất kỳ thông tin nào họ muốn.
Điều tốt nhất bạn có thể làm (và cuối cùng, điều tối thiểu bạn nên làm) là duy trì chính sách bảo mật tốt tuân thủ Tiêu chuẩn bảo mật PCI của ngành xử lý thanh toán, bạn có thể tìm thấy danh sách tại đây, https://www.pcisecuritystiterias.org /document/P Warrioritized_Approach_for_PCI_DSS_v3_.pdf
Bảo vệ cửa hàng của bạn
Bạn thực sự có thể khóa các khía cạnh của cửa hàng của mình để giảm đáng kể khu vực tấn công bề mặt cho tin tặc, hoặc ít nhất, làm chậm tiến trình của chúng nếu chúng quản lý để vào /
Khóa quyền
Bạn có thể hạn chế quyền trên gốc tài liệu chỉ cho phép ghi vào các thư mục cần thiết ( /var
và /media
)
Đây là những gì chúng tôi làm theo mặc định trên MageStack ,
echo -n "Fixing ownership"
chown -R $SSH_USER:$WEB_GROUP $INSTALL_PATH && echo " ... OK" || echo " ... ERROR"
INSTALL_PATH="/path/to/public_html"
chmod 750 $INSTALL_PATH
find $INSTALL_PATH -type d ! -perm 750 -exec chmod 750 {} \; && echo " ... OK" || echo " ... ERROR"
echo -n "Fixing file permissions"
find $INSTALL_PATH -type f ! -perm 740 -exec chmod 740 {} \; && echo " ... OK" || echo " ... ERROR"
echo -n "Fixing cron permissions"
find $INSTALL_PATH/*/cron.sh -type f ! -perm 750 -exec chmod 750 {} \; && echo " ... OK" || echo " ... ERROR"
echo -n "Fixing media/var file permissions"
chmod -R 760 $INSTALL_PATH/*/media $INSTALL_PATH/*/var && echo " ... OK" || echo " ... ERROR"
echo -n "Fixing media/var directory permissions"
find $INSTALL_PATH/*/media $INSTALL_PATH/*/var -type d ! -perm 770 -exec chmod 770 {} \; && echo " ... OK" || echo " ... ERROR"
Điều chỉnh INSTALL_PATH,SSH_USER,WEB_GROUP
cho phù hợp. Điều quan trọng là bạn SSH_USER
không phải là cùng một người dùng mà PHP sử dụng cho quy trình máy chủ web, nếu không, về cơ bản, bạn sẽ cung cấp quyền truy cập ghi đầy đủ vào máy chủ web (giảm thiểu mọi lợi ích).
Khóa quyền truy cập quản trị viên / người tải xuống của bạn
Trên MageStack, bạn sẽ đặt cái này vào ___general/x.conf
set $magestack_protect_admin true;
set $magestack_protect_downloader true;
Trên Nginx, bạn có thể sử dụng cái này,
location ~* ^/(index.php/)?admin{
satisfy any;
allow x.x.x.x;
auth_basic "Login";
auth_basic_user_file /microcloud/data/domains/x/domains/x/___general/.htpasswd;
deny all;
location ~* \.(php) {
include fastcgi_params;
}
try_files $uri $uri/ /admin/index.php ;
}
Có thêm một chút tài liệu về cách chuẩn bị một .htpasswd
tập tin ở đây
Kết thúc cron.sh
quá trình
Tôi đã bắt gặp các nhà cung cấp dịch vụ lưu trữ khác sử dụng các máy chuyên dụng để sử dụng cron / admin - điều đó có nghĩa là sửa đổi cron.sh
tệp sẽ cho phép thực thi mã từ xa trên cron / admin mà không cần phải truy cập vào nó. Kết thúc quá trình với đúng người dùng trong fakechroot có thể đi xa hơn một chút để khóa quy trình.
Có quá nhiều mã để tôi đăng, nhưng có một đoạn script ở đây . Nó đặc trưng cho MageStack, nhưng có thể được điều chỉnh để sử dụng trên các cấu hình máy chủ kém thanh lịch :)
Kiểm toán, kiểm toán, kiểm toán
Linux là tuyệt vời về đăng nhập và khai thác vào đó sẽ cung cấp cho bạn cái nhìn sâu sắc hoàn toàn về những gì máy chủ của bạn đang làm.
Một tính năng tuyệt vời trên MageStack là công cụ kiểm toán ghi lại tất cả các loại quyền truy cập và thậm chí thay đổi tệp hàng ngày. Bạn có thể tìm thấy các bản ghi ở đây,
/microcloud/logs_ro
|-dh[0-9]+
|---access-YYYY-MM-DD.log.gz
|---backup-YYYY-MM-DD.log.gz
|---magescan-YYYY-MM-DD.log.gz
|---php-differential-YYYY-MM-DD.log.gz
|-acc[0-9]+
|---access-YYYY-MM-DD.log.gz
Nếu bạn không sử dụng MageStack, bạn có thể sao chép một số điều này với nhà cung cấp dịch vụ lưu trữ của riêng bạn khá dễ dàng, rsync
là công cụ đơn giản nhất để làm điều đó.
Ví dụ. Nếu bản sao lưu của bạn có sẵn tại địa phương, bạn có thể làm như sau. Điều này sẽ chạy khô so sánh hai thư mục và tạo ra một danh sách vá khác.
rsync -na /path/to/public_html/ /path/to/backup/public_html/ > change.log
grep -E '\.php$' change.log | while read FILE; do
diff -wp /path/to/public_html/$FILE /path/to/backup/public_html/$FILE >> php-differential.log
done
Các thay đổi PHP không thường xuyên đến mức bạn có thể lên lịch để chạy hàng ngày (hoặc nhiều lần mỗi ngày) và thông báo cho bạn qua email nếu có thay đổi tệp PHP.
Tóm tắt
- Sử dụng kiểm soát phiên bản, dễ dàng hơn để theo dõi các thay đổi
- Chỉ cần có chứng chỉ SSL là không đủ để làm cho trang web của bạn an toàn
- Đừng chờ đợi để bị hack để xem xét bảo mật
- Chỉ vì bạn chuyển hướng đến nhà cung cấp cổng thanh toán (so với việc nắm bắt thông tin) - điều đó không có nghĩa là bạn có thể tránh tuân thủ PCI, bạn vẫn cần tuân thủ
- Hãy chủ động, an toàn và kỹ lưỡng - kiểm tra mã mô-đun trước khi cài đặt, kiểm tra tệp PHP hàng ngày, xem lại nhật ký, kiểm tra truy cập FTP / SSH, thay đổi mật khẩu thường xuyên
Khách hàng của bạn đang đặt niềm tin rất lớn vào bạn khi họ chuyển qua tất cả thông tin cá nhân của họ - và nếu bạn phản bội lòng tin đó bằng cách không điều hành một doanh nghiệp an toàn, bạn sẽ mất tùy chỉnh và tất cả các tùy chỉnh trong tương lai.
Điều tra pháp y PCI rất tốn kém, mất thời gian và cuối cùng có nguy cơ khả năng bạn có thể thực hiện thanh toán thẻ một lần nữa. Đừng bao giờ để mình bị đặt vào vị trí đó!
Được vá
Gần đây có một loạt các bản vá được phát hành từ Magento đã sửa các lỗ hổng, bao gồm một số bản vá được phép thực thi mã từ xa. Bạn có thể tìm nạp chúng tại đây, https: //www.magentoc Commerce.com/products/doads/magento/
Nhưng những bài viết mới này không đề cập đến một khai thác mới, họ chỉ đơn giản chỉ ra cách tin tặc tận dụng các khai thác lịch sử (hoặc bất kỳ vectơ tấn công nào khác) để có thể nắm bắt thông tin chủ thẻ.
Nguồn