Sorunuza özel cevap için bkz. Https://magento.stackexchange.com/a/72700/361
Arka fon
Birincisi, belirli bir istismar yoktur - şu anda mermiyi yapan ve kaynak makaleyi yanlış ve yanlış anlayan bir dizi makale vardır.
Orijinal makale , sadece söz konusu (ve başka sözcüklerle ediyorum)
Bir hacker ise olduğumuzu Magento dosyalara erişim elde edebilir, bunlar olabilir sizin müşteriden bilgi yakalamak
Bilgisayar korsanının sunucunuza gerçekten erişmesi ve dosyaları değiştirmesi gereken kilit kısımdır.
Panik yapma ... Bu Magento'ya özgü bir şey değil
Bilgi yakalama açısından, Magento'ya diğer herhangi bir web sitesi / platformdan daha spesifik bir şey yoktur. Bir bilgisayar korsanı dosyalarınıza erişirse, etkin bir şekilde oyun biter - istedikleri bilgileri yakalayabilirler.
Yapabileceğiniz en iyi şey (ve sonuç olarak yapmanız gereken en az şey) ödeme işleme endüstrisinin PCI Güvenlik Standartlarına uygun iyi bir güvenlik politikası sağlamaktır, listeyi burada bulabilirsiniz, https://www.pcisecuritystandards.org /documents/Prioritized_Approach_for_PCI_DSS_v3_.pdf
Mağazanızı sertleştirin
Mağazanızın bir hacker için yüzey saldırı alanını büyük ölçüde azaltan yönlerini kilitleyebilir veya en azından içeri girmeyi başarırlarsa ilerlemelerini yavaşlatabilirsiniz.
Kilitleme izinleri
Belge kökündeki izinleri yalnızca temel dizinlere ( /var
ve /media
) yazmaya izin vermek için kısıtlayabilirsiniz
MageStack'ta varsayılan olarak yaptığımız şey budur ,
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"
Uygun şekilde ayarlayın INSTALL_PATH,SSH_USER,WEB_GROUP
. Önemli olan, SSH_USER
PHP'nin web sunucusu işlemi için kullandığı aynı kullanıcı olmamasıdır, aksi takdirde, temel olarak web sunucusuna tam yazma erişimi sağlarsınız (herhangi bir avantajı azaltır).
Yönetici / indirici erişiminizi kilitleme
MageStack'ta bunu ___general/x.conf
set $magestack_protect_admin true;
set $magestack_protect_downloader true;
Nginx'te bunu kullanabilirsiniz,
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 ;
}
Nasıl hazırlanacağına dair biraz daha dokümantasyon var .htpasswd
dosya var
Sarın cron.sh
Süreci
Cron / admin kullanımı için özel makineler kullanan diğer barındırma sağlayıcılarıyla karşılaştım - yani cron.sh
dosyanın cron / admin üzerinde uzaktan kod yürütülmesine izin vereceği . İşlemi doğru kullanıcı ile bir fakechroot'ta sarmak, işlemi kilitlemek için biraz daha ileri gidebilir.
Gönderebileceğim çok fazla kod var, ama bir senaryo var var . MageStack'a özgüdür, ancak daha az zarif sunucu yapılandırmalarında kullanılmak üzere ayarlanabilir :)
Denetim, denetim, denetim
Linux, sunucunuzun ne yaptığına dair tam bir fikir verecek olan oturum açma ve bunlara dokunma açısından harika.
MageStack'ın fantastik bir özelliği, her türlü erişimi ve hatta dosya değişikliklerini günlük olarak kaydeden denetim aracıdır . Günlükleri burada bulabilirsiniz,
/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
MageStack kullanmıyorsanız, bunlardan bazılarını kendi barındırma sağlayıcınızla kolayca çoğaltabilirsiniz, rsync
yapmak için en basit araç olan .
Örneğin. Yedekleriniz yerel olarak mevcutsa, aşağıdakileri yapabilirsiniz. Bu, kuru çalışarak iki dizini karşılaştıracak ve fark yama listesi oluşturacaktır.
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
PHP değişiklikleri o kadar nadirdir ki, bunu günlük olarak (veya günde birden çok kez) çalışacak şekilde planlayabilir ve bir PHP dosya değişikliği varsa size e-posta ile bildirebilirsiniz.
Özetle
- Sürüm kontrolünü kullanın, değişiklikleri izlemek daha kolaydır
- Sitenizi güvenli hale getirmek için sadece bir SSL sertifikasına sahip olmak yeterli değildir
- Güvenliği düşünmek için saldırıya uğramak için beklemeyin
- Ödeme ağ geçidi sağlayıcınıza (bilgi yakalamaya karşı) yönlendirdiğiniz için - PCI uyumluluğundan kaçınabileceğiniz anlamına gelmez, yine de uymanız gerekir
- Proaktif olun, güvenli olun ve kapsamlı olun - kurmadan önce modül kodunu kontrol edin, günlük PHP dosyalarını kontrol edin, günlükleri inceleyin, FTP / SSH erişimini kontrol edin, şifreleri düzenli olarak değiştirin
Müşterileriniz, tüm özel bilgilerini aktardıklarında size çok büyük bir güven veriyorlar - ve bu güveye güvenli bir iş yürütmeyerek ihanet ederseniz, geleneklerini ve gelecekteki tüm geleneklerini kaybedersiniz.
PCI adli soruşturmaları inanılmaz derecede pahalı, zaman alıcıdır ve sonuçta kart ödemelerini tekrar alabilme yeteneğinizi riske atar. Kendinizi bu pozisyona sokmanıza izin vermeyin!
Yamalı ol
Son zamanlarda Magento'dan sabit delikleri serbest bırakan bir dizi yama vardı, bunlardan bazıları uzaktan kod yürütülmesine izin verdi. Bunları buraya getirebilirsiniz, https://www.magentocommerce.com/products/downloads/magento/
Ancak bu yeni makaleler yeni bir istismardan bahsetmiyor, bilgisayar korsanlarının kart sahibi bilgilerini yakalamak için tarihi istismarları (veya başka bir saldırı vektörünü) nasıl kullandıklarını belirtiyorlar.
Kaynaklar