Per la risposta specifica alla tua domanda, vedi /magento//a/72700/361
sfondo
In primo luogo, non esiste un exploit specifico : al momento ci sono una serie di articoli che fanno il giro che hanno frainteso e frainteso l'articolo di origine.
L' articolo originale diceva semplicemente (e sto parafrasando),
Se un hacker fosse in grado di accedere ai tuoi file Magento, potrebbe acquisire informazioni dai tuoi clienti
La parte chiave è l'hacker che deve effettivamente accedere al tuo server e modificare i file.
Non fatevi prendere dal panico ... questo non è niente di specifico per Magento
In termini di acquisizione di informazioni, non c'è nulla di specifico in Magento di qualsiasi altro sito Web / piattaforma. Se un hacker ottiene l'accesso ai tuoi file, è effettivamente finito il gioco: sarebbero in grado di catturare qualsiasi informazione desiderassero.
Il meglio che puoi fare (e, in definitiva, il minimo che dovresti fare) è mantenere una buona politica di sicurezza che aderisca agli standard di sicurezza PCI del settore dei processi di pagamento, puoi trovare l'elenco qui, https://www.pcisecuritystandards.org /documents/Prioritized_Approach_for_PCI_DSS_v3_.pdf
Rafforza il tuo negozio
Puoi davvero bloccare le sfaccettature del tuo negozio che riducono notevolmente l'area di attacco superficiale per un hacker, o almeno, rallentano i suoi progressi se riescono a entrare /
Blocca le autorizzazioni
È possibile limitare le autorizzazioni sulla radice del documento per consentire la scrittura solo nelle directory essenziali ( /var
e /media
)
Questo è ciò che facciamo di default su 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"
Adatta INSTALL_PATH,SSH_USER,WEB_GROUP
in base alle tue esigenze. Ciò che è importante è che il tuo SSH_USER
non è lo stesso utente che PHP utilizza per il processo del server Web, altrimenti, in sostanza, forniresti l'accesso completo in scrittura al server Web (mitigando eventuali vantaggi).
Blocca l'accesso amministratore / downloader
Su MageStack, lo imposteresti ___general/x.conf
set $magestack_protect_admin true;
set $magestack_protect_downloader true;
Su Nginx, potresti usare questo,
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'è un po 'più di documentazione su come preparare un .htpasswd
file qui
Avvolgere il cron.sh
processo
Ho incontrato altri provider di hosting che utilizzano macchine dedicate per l'utilizzo di cron / admin, il che significa che la modifica del cron.sh
file consentirebbe l'esecuzione di codice in remoto su cron / admin senza la necessità di accedervi. Concludere il processo con l'utente giusto in una fakechroot può andare oltre per bloccare il processo.
C'è troppo codice per me per spedire, ma c'è uno script qui . È specifico per MageStack, ma potrebbe essere adattato per l'uso su configurazioni server meno eleganti :)
Audit, audit, audit
Linux è fantastico in termini di accesso e sfruttamento che ti darà una visione completa di ciò che il tuo server sta facendo.
Una fantastica funzionalità di MageStack è lo strumento di controllo che registra tutti i tipi di accesso e persino le modifiche ai file su base giornaliera. Puoi trovare i registri qui,
/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
Se non stai usando MageStack, puoi replicare un po 'di questo con il tuo provider di hosting abbastanza facilmente, rsync
essendo lo strumento più semplice per farlo.
Per esempio. Se i backup sono disponibili localmente, è possibile effettuare le seguenti operazioni. Ciò eseguirà il confronto a secco tra due directory e produrrà un elenco di patch diff.
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
Le modifiche a PHP sono così rare che è possibile programmare l'esecuzione quotidiana (o più volte al giorno) e avvisare via e-mail in caso di modifica del file PHP.
In sintesi
- Utilizza il controllo versione, è più facile tenere traccia delle modifiche
- Il solo possesso di un certificato SSL non è sufficiente per rendere sicuro il tuo sito
- Non aspettare di essere violato per considerare la sicurezza
- Solo perché reindirizzi al tuo provider di gateway di pagamento (anziché acquisire informazioni) - ciò non significa che puoi evitare la conformità PCI, devi comunque conformarti
- Sii proattivo, sicuro e accurato: controlla il codice del modulo prima di installarlo, controlla i file PHP quotidianamente, controlla i registri, controlla l'accesso FTP / SSH, cambia le password regolarmente
I tuoi clienti si fidano enormemente di te quando passano sopra tutte le loro informazioni private - e se tradisci quella fiducia non gestendo un'azienda sicura, perderai le loro abitudini e tutte le abitudini future.
Le indagini forensi PCI sono incredibilmente costose, richiedono molto tempo e alla fine rischiano la tua capacità di poter riprendere i pagamenti con carta. Non lasciarti mai mettere in quella posizione!
Ottieni patch
Ci sono state recentemente una serie di patch rilasciate da Magento che risolvevano buchi, inclusi alcuni che consentivano l'esecuzione di codice in modalità remota. Puoi scaricarli qui, https://www.magentocommerce.com/products/downloads/magento/
Ma questi nuovi articoli non si riferiscono a un nuovo exploit, stanno semplicemente affermando come gli hacker stanno sfruttando exploit storici (o qualsiasi altro vettore di attacco) per essere in grado di acquisire informazioni sui titolari di carta.
fonti