Kami memiliki klien yang sangat peduli dengan kode berbahaya yang diperkenalkan dalam modul pihak ketiga, terutama modul yang berasal dari Magento Connect (Atau modul gratis apa pun). Mereka ingin menggunakan salah satu modul ini tetapi ingin diyakinkan bahwa modul tersebut tidak mengandung kode yang memungkinkan peretas mendapatkan akses ke berbagai bagian situs Magento mereka.
Pertanyaan saya adalah ini: Apakah ada alat yang dapat kita gunakan untuk memindai kode untuk konten? Sesuatu seperti ini tetapi mungkin lebih dalam.
function check($contents,$file) {
$this->scanned_files[] = $file;
if(preg_match('/eval\((base64|eval|\$_|\$\$|\$[A-Za-z_0-9\{]*(\(|\{|\[))/i',$contents)) {
$this->infected_files[] = $file;
}
}
Bahkan layanan yang dapat dijalankan di server web.
Idealnya jika ada layanan yang akan memindai setiap komit sebelum kode masuk ke repo akan ideal.
php
magento-connect
extensions
security
brentwpeterson
sumber
sumber
Jawaban:
Pernahkah Anda berpikir tentang menjalankan clamav? - https://www.clamav.net/index.html - Saya menjalankan ini baru-baru ini di klien Ubuntu server menjalankan magento dan kembali dengan dua file yang terinfeksi - kecepatan pemindaian sangat mengesankan dan mudah dijalankan jika Anda memiliki akses SSH - Anda juga bisa berjalan secara teratur melalui pekerjaan Cron.
Untuk menjalankan clam AV di Ubuntu
Untuk menginstal ClamAV, jalankan perintah berikut
Memperbarui basis data virus secara manual
Anda akan melihat proses pembaruan ClamAV dimulai Untuk memindai file / folder secara manual dari virus
Bagi yang tidak di Ubuntu, petunjuk lengkap dapat ditemukan di sini https://www.clamav.net/doc/install.html
sumber
Ada banyak cara untuk mengaburkan kode sehingga solusi sederhana seperti itu sama sekali bukan solusi IMO. Jika Anda benar-benar ingin mengunci sistem Anda dan mencegah kode berbahaya saya akan merekomendasikan:
Jangan izinkan pemasangan modul melalui Connect. Gunakan repo git dan instal terlebih dahulu pada server pementasan dan hanya perbarui produksi melalui git setelah pengujian dan inspeksi menyeluruh.
Jangan pernah mengizinkan penggunaan modul dengan kode yang tidak jelas, tidak peduli siapa pengembangnya. Minta salinan yang tidak disuntikkan atau cari di tempat lain. Saya bersimpati dengan pengembang ekstensi yang ingin mencegah pembajakan, tetapi jika Anda khawatir tentang keamanan, itu adalah pemecah kesepakatan.
Jika mungkin batasi lalu lintas keluar melalui iptables. Ini sulit karena ada begitu banyak API pihak ketiga untuk diintegrasikan dan mereka dapat mengubah IP mereka kapan saja, tetapi itu adalah cara yang paling pasti untuk mencegah kode jahat (Magento atau lainnya) menjangkau.
Instal alat yang memantau root web Anda untuk perubahan file. Sebagai contoh, ConfigServer Firewall dan OSSEC memiliki komponen yang melakukan ini dengan baik, setelah konfigurasi yang tepat, tentu saja.
Jika Anda mengetahui suatu sistem yang akan menyegarkan entri iptables atau Grup Keamanan AWS ketika DNS mencatat pembaruan, beri tahu saya karena saya belum menemukan atau membuat sendiri ..
sumber
Coba Magento Malware Scanner , yang berisi koleksi tanda tangan malware terbesar yang tersedia untuk umum. Ini mengunduh tanda tangan terbaru, menangani daftar putih dan membuat status.
Direkomendasikan oleh Magento , digunakan oleh Magento Marketplace , Homeland Security, VISA dan banyak lainnya.
sumber
Saya membuat modul bernama MB_ Callinghome untuk melakukan hal itu. Ekstensi ini cukup sederhana, ia mengamati acara login admin dan mencari string yang dapat dikonfigurasi dengan find dan grep. Ekstensi menggunakan exec () yang membuatnya hanya dapat digunakan dalam lingkungan pementasan karena mungkin mengekspos situs terhadap serangan jika digunakan dalam prod.
sumber
Anda mungkin dapat melihat menggunakan PHP_CodeSniffer atau alat standar pengkodean serupa. Anda tentu saja harus memiliki pemahaman yang kuat tentang cara kerja bagian dalam dari apa yang dianggap aman, tetapi Anda dapat mengaturnya sehingga sniffer kode kemudian akan menandai file yang bermasalah.
Saya ingat ada pertanyaan di sini mengenai mengapa standar yang digunakan oleh modul di sini https://github.com/magento-ecg/coding-standard sangat sensitif tentang thig seperti fopen dan operasi file i / o lainnya.
Dengan menggunakannya, Anda setidaknya bisa mengidentifikasi apa yang Anda ingin anggap sebagai kode berbahaya. Namun pada akhirnya masih membutuhkan peninjauan basis kode. Apa pun yang ditandai akan ada kode yang sah untuk keperluan operasi modul. Jadi Anda tidak dapat mengandalkan murni pada pengujian otomatis untuk sesuatu yang sifatnya sayangnya.
sumber
Ada alat online gratis yang dapat Anda gunakan untuk memindai instalasi Magento Anda dari jarak jauh. Ini dapat membantu Anda mengidentifikasi penyapu kartu kredit, muatan berbahaya, domain perantara, dan masalah keamanan lainnya.
https://sitecheck.sucuri.net/
https://www.magereport.com/
http://www.unmaskparasites.com/
http://webscan.foregenix.com/
https://github.com/gwillem/magento-malware-scanner/
https://magescan.com/
https://www.virustotal.com/
sumber