Untuk jawaban spesifik untuk pertanyaan Anda, lihat, /magento//a/72700/361
Latar Belakang
Pertama, tidak ada eksploit khusus - ada serangkaian artikel melakukan putaran pada saat yang telah salah membaca dan salah paham artikel sumber.
The artikel asli hanya mengatakan (dan saya parafrase),
Jika seorang hacker yang bisa mendapatkan akses ke file Magento Anda, mereka bisa menangkap informasi dari pelanggan Anda
Bagian kuncinya adalah peretas yang perlu mengakses server Anda dan memodifikasi file.
Jangan panik ... ini bukan khusus untuk Magento
Dalam hal pengambilan informasi, tidak ada yang spesifik untuk Magento daripada situs web / platform lainnya. Jika seorang peretas mendapatkan akses ke file Anda, itu akan berakhir dengan efektif - mereka akan dapat menangkap informasi apa pun yang mereka inginkan.
Yang terbaik yang dapat Anda lakukan (dan akhirnya, minimum yang harus Anda lakukan) adalah mempertahankan kebijakan keamanan yang baik yang mematuhi Standar Keamanan PCI industri pemrosesan pembayaran, Anda dapat menemukan daftarnya di sini, https://www.pcisecuritystandards.org /documents/Prioritized_Approach_for_PCI_DSS_v3_.pdf
Perketat toko Anda
Anda benar-benar dapat mengunci sisi-sisi toko Anda yang sangat mengurangi area serangan permukaan bagi seorang peretas, atau paling tidak, memperlambat kemajuan mereka jika mereka berhasil masuk /
Kunci izin
Anda dapat membatasi izin pada root dokumen untuk hanya mengizinkan penulisan ke direktori penting ( /var
dan /media
)
Inilah yang kami lakukan secara default di 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"
Sesuaikan INSTALL_PATH,SSH_USER,WEB_GROUP
sesuai. Yang penting itu milikmuSSH_USER
bukan pengguna yang sama dengan yang digunakan PHP untuk proses server web, jika tidak, Anda pada dasarnya akan memberikan akses tulis penuh ke server web (mengurangi segala manfaat).
Kunci akses admin / pengunduh Anda
Di MageStack, Anda akan mengatur ini ___general/x.conf
set $magestack_protect_admin true;
set $magestack_protect_downloader true;
Di Nginx, Anda bisa menggunakan ini,
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 ;
}
Ada sedikit dokumentasi tentang cara menyiapkan .htpasswd
file di sini
Bungkus cron.sh
prosesnya
Saya telah menemukan penyedia hosting lain menggunakan mesin khusus untuk penggunaan cron / admin - yang berarti memodifikasi cron.sh
file akan memungkinkan untuk eksekusi kode jarak jauh pada cron / admin tanpa perlu mengaksesnya. Mengakhiri proses dengan pengguna yang tepat dalam fakechroot bisa sedikit lebih jauh untuk mengunci proses.
Ada terlalu banyak kode untuk saya kirim, tetapi ada skrip di sini . Ini khusus untuk MageStack, tetapi dapat disesuaikan untuk digunakan pada konfigurasi server yang kurang elegan :)
Audit, audit, audit
Linux luar biasa dalam hal masuk dan memanfaatkan yang akan memberi Anda wawasan lengkap tentang apa yang sedang dilakukan server Anda.
Fitur fantastis di MageStack adalah alat audit yang mencatat semua jenis akses dan bahkan mengajukan perubahan setiap hari. Anda dapat menemukan log di sini,
/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
Jika Anda tidak menggunakan MageStack, Anda dapat mereplikasi beberapa ini dengan penyedia hosting Anda sendiri dengan mudah, rsync
menjadi alat paling sederhana untuk melakukannya.
Misalnya. Jika cadangan tersedia secara lokal, Anda dapat melakukan hal berikut. Ini akan mengeringkan membandingkan dua direktori dan menghasilkan daftar patch yang berbeda.
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
Perubahan PHP sangat jarang sehingga Anda dapat menjadwalkan ini untuk dijalankan setiap hari (atau beberapa kali sehari) dan memberi tahu Anda melalui email jika ada perubahan file PHP.
Singkatnya
- Gunakan kontrol versi, lebih mudah untuk melacak perubahan
- Memiliki sertifikat SSL saja tidak cukup untuk membuat situs Anda aman
- Jangan menunggu untuk diretas untuk mempertimbangkan keamanan
- Hanya karena Anda mengarahkan ulang ke penyedia gateway pembayaran Anda (vs. mengambil informasi) - itu tidak berarti Anda dapat menghindari kepatuhan PCI, Anda masih harus mematuhi
- Jadilah proaktif, aman dan teliti - periksa kode modul sebelum Anda menginstalnya, periksa file PHP setiap hari, periksa log, periksa akses FTP / SSH, ubah kata sandi secara teratur
Pelanggan Anda menaruh kepercayaan yang sangat besar kepada Anda ketika mereka menyerahkan semua informasi pribadi mereka - dan jika Anda mengkhianati kepercayaan itu dengan tidak mengoperasikan bisnis yang aman, Anda akan kehilangan kebiasaan dan semua kebiasaan di masa depan.
Investigasi forensik PCI sangat mahal, memakan waktu dan akhirnya berisiko kemampuan Anda untuk dapat menerima pembayaran kartu lagi. Jangan pernah membiarkan diri Anda berada di posisi itu!
Dapatkan ditambal
Ada serangkaian tambalan yang dirilis dari Magento akhir-akhir ini yang memperbaiki lubang, termasuk beberapa yang memungkinkan untuk eksekusi kode jarak jauh. Anda dapat mengambilnya di sini, https://www.magentocommerce.com/products/downloads/magento/
Tetapi artikel-artikel baru ini tidak mengacu pada eksploitasi baru, mereka hanya menyatakan bagaimana peretas memanfaatkan eksploitasi historis (atau vektor serangan lainnya) untuk dapat menangkap informasi pemegang kartu.
Sumber