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
Saya menambahkan jawaban lain hanya karena jawaban saya yang lain tidak benar-benar menjawab pertanyaan - dan tentu saja tidak perlu lagi!
Bagaimana saya bisa memverifikasi jika suatu gambar berisi informasi CC
Pada akhirnya, Anda tidak bisa. Terkadang ada indikator yang membuatnya menonjol,
Misalnya.
Tetapi bisa sangat sulit untuk mencerna isi file biner untuk menentukan konten jika konten tidak hanya dalam teks biasa.
Eksploitasi yang paling umum yang saya lihat tidak melibatkan penulisan data teks biasa ke file dengan
.jpg|png|gif|etc
ekstensi, mereka biasanya melibatkan beberapa jenis pengkodean / enkripsi untuk mengaburkan data (mis.base64
Ataumcrypt
lain - lain). Yang berarti grep sederhana tidak akan berfungsi.Anda bisa (dan ini sama sekali tidak lengkap) ...
Temukan file besar yang tidak normal
Temukan file yang cocok dengan CC regex
Periksa apakah file gambar valid
Atau
Bagaimana saya dapat memeriksa file PHP di instalasi saya untuk melihat apakah sudah dimodifikasi
Cara termudah untuk membandingkan file instal Anda adalah dengan membandingkan inti dengan salinan yang bersih. Ini tidak akan menjelaskan file tema Anda, tetapi perlu memeriksa beberapa ribu file di instalasi Anda.
Prosesnya sangat mudah,
Misalnya. Untuk Magento versi 1.7.0.2
Ingatlah bahwa rilis Magento yang lebih lama (tidak mengganggu) tidak ditambal, jadi melakukan perbedaan inti akan menghasilkan perubahan yang ditampilkan. Untuk menghindari hal ini, terapkan tambalan ke sumber bersih yang baru diunduh, lalu perbaiki lagi setelahnya.
sumber
Pos yang bagus, tapi sayangnya tidak semua hal diciptakan sama.
Izin file
Ketika shared hosting menjadi populer, itu dianggap lebih penting bahwa orang tidak diperbolehkan untuk melihat konten orang lain di server yang sama. Sampai munculnya penjara FreeBSD, ini berarti:
Ini memungkinkan modifikasi (kemudian) file HTML oleh pemilik akun sementara pada saat yang sama, baik proses server web dan pemilik akun tidak memiliki akses ke orang lain di mesin yang sama.
Ini tidak banyak berubah dan paket perangkat lunak yang disesuaikan dengan shared hosting (CPanel, DirectAdmin, Plex) semuanya menggunakan prinsip-prinsip tersebut. Ini berarti bahwa titik masuk utama (server web dan / atau penerjemah skrip) dapat menulis ke file apa pun di akun, membuat izin file tidak berguna.
Tidak ada CC untuk dicuri jika Anda tidak memilikinya
Informasikan dengan penyedia pembayaran CC Anda jika data CC benar-benar dikirim ke server Anda dan jika demikian, jika itu dikirim tidak terenkripsi tidak terenkripsi. JavaScript cukup kuat akhir-akhir ini dan ada Penyedia Layanan Pembayaran di luar sana, yang menggunakan mesin JavScript pelanggan Anda untuk mengenkripsi informasi sensitif sebelum dikirim ke server. Meskipun pengumpul informasi ini dimungkinkan untuk mendapatkan kunci sesi serta data terenkripsi (dan dengan demikian dapat mendekripsi), pengumpul informasi kurang menarik karena data yang dikumpulkan lebih besar dan AI bot jauh lebih kompleks. .
Deteksi modifikasi
Lebih dari 15 tahun bersatu dan masih memberikan senyum nostalgia di wajah saya ketika saya melihat reinkarnasi dari Alabire . Git itu alat yang bagus untuk ini juga. Dibandingkan dengan versi yang dikenal baik, agak kurang, karena tidak memperhitungkan penambahan dan kembali mendapat alat yang bagus di sini, karena modifikasi situs-lokal lebih sering daripada instalasi asli.
Pengunduh
Memindahkan downloeader di luar root dokumen sama mudahnya dengan menginstal beberapa bentuk otentikasi HTTP. Maka kembalikan saja ketika Anda menggunakannya. Jika itu tidak praktis, maka saya lebih suka menguncinya berdasarkan alamat jarak jauh daripada lapisan pengguna / kata sandi lainnya, terutama yang mengirim kata sandi dalam teks biasa.
WAF dan alternatifnya
Firewall Aplikasi Web dapat mencegah banyak masalah, sudah dalam tahap pemindaian serangan. Sayangnya, ini adalah kotak hitam yang mahal, tetapi ada beberapa alternatif:
Saya pikir kami membahas banyak hal tetapi biarkan saya akhiri dengan hewan peliharaan saya:
BERHENTI MENGGUNAKAN FTP
Sana. Saya mengatakannya. Dan ini dia: https://wiki.filezilla-project.org/Howto
sumber
Tidak ada yang pasti tentang peretasan baru ini, Ben Marks kemarin diposting mereka sedang menyelidiki masalah ini dan ada artikel ini juga.
Pendekatan terbaik yang dapat Anda coba adalah masuk melalui SSH dan melakukan pencarian di dalam semua file yang Anda miliki untuk string tertentu, sesuatu seperti
dari folder root Magento Anda dan jika Anda mendapatkan kecocokan, heck file secara manual untuk melihat apa yang terjadi. Sama dengan string lainnya seperti "END PUBLIC KEY" misalnya.
sumber