Nous avons un client qui est très préoccupé par l'introduction de code malveillant dans des modules tiers, en particulier les modules provenant de Magento Connect (ou tout module gratuit). Ils aimeraient utiliser l'un de ces modules mais veulent être assurés que le module ne ne pas contenir de code permettant à un pirate d'accéder à différentes parties de son site Magento.
Ma question est la suivante: existe-t-il un outil que nous pourrions utiliser pour scanner le code pour le contenu? Quelque chose comme ça mais peut-être plus en profondeur.
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;
}
}
Même un service qui peut être exécuté sur le serveur Web.
Idéalement, s'il y avait un service qui analyserait chaque commit avant que le code n'entre dans le référentiel, l'idéal serait.
php
magento-connect
extensions
security
brentwpeterson
la source
la source
Réponses:
Avez-vous pensé à lancer clamav? - https://www.clamav.net/index.html - Je l'ai exécuté récemment sur un serveur Ubuntu de clients exécutant magento et il est revenu avec deux fichiers infectés - la vitesse de l'analyse était impressionnante et est facilement exécutée si vous avez un accès SSH - vous pouvez également exécuter régulièrement via un travail Cron.
Pour exécuter clam AV sur Ubuntu
Pour installer ClamAV, exécutez la commande suivante
Mettre à jour manuellement les bases de données virales
Vous verrez le processus de mise à jour de ClamAV démarré Pour analyser manuellement les fichiers / dossiers à la recherche de virus
Pour ceux qui ne sont pas sur Ubuntu, des instructions complètes peuvent être trouvées ici https://www.clamav.net/doc/install.html
la source
Il existe de nombreuses façons d'obscurcir le code, donc une solution aussi simple n'est pas du tout une solution IMO. Si vous voulez vraiment verrouiller votre système et empêcher le code malveillant, je recommanderais:
N'autorisez pas l'installation de modules via Connect. Utilisez un dépôt git et installez-le d'abord sur un serveur intermédiaire et ne mettez à jour la production via git qu'après des tests et une inspection approfondis.
Ne jamais autoriser l'utilisation de modules avec du code obscurci, quel que soit le développeur. Demandez une copie non obscurcie ou cherchez simplement ailleurs. Je sympathise avec les développeurs d'extensions qui souhaitent empêcher le piratage, mais si vous êtes préoccupé par la sécurité, c'est une rupture.
Si possible, limitez le trafic sortant via iptables. C'est difficile car il y a tellement d'API tierces avec lesquelles s'intégrer et ils peuvent changer leurs adresses IP à tout moment, mais c'est le moyen le plus sûr d'empêcher le code malveillant (Magento ou autre) d'atteindre.
Installez un outil qui surveille votre racine Web pour les modifications de fichiers. Par exemple, ConfigServer Firewall et OSSEC ont des composants qui le font bien, après une configuration correcte, bien sûr.
Si vous connaissez un système qui actualisera les entrées iptables ou les groupes de sécurité AWS lors de la mise à jour des enregistrements DNS, faites-le moi savoir car je n'en ai pas trouvé ou n'en ai pas encore créé moi-même.
la source
Essayez le Magento Malware Scanner , qui contient la plus grande collection de signatures de logiciels malveillants qui soit accessible au public. Il télécharge les dernières signatures, gère les listes blanches et garde l'état.
Il est recommandé par Magento , utilisé par Magento Marketplace , Homeland Security, VISA et bien d'autres.
la source
J'ai créé un module appelé MB_ Callinghome pour faire exactement cela. L'extension est assez simple, elle observe l'événement de connexion administrateur et recherche une chaîne configurable avec find et grep. L'extension utilise exec (), ce qui la rend utilisable uniquement dans un environnement de transfert, car elle peut exposer le site à une attaque si elle est utilisée dans prod.
la source
Vous pourriez peut-être envisager d'utiliser PHP_CodeSniffer ou un outil standard de codage similaire. Vous devrez bien sûr avoir une bonne compréhension du fonctionnement interne de ce qui devrait être considéré comme sûr, mais vous pouvez le configurer de telle sorte que le renifleur de code signale ensuite les fichiers problématiques.
Je me souviens qu'il y avait une question ici concernant la raison pour laquelle les normes utilisées par le module ici https://github.com/magento-ecg/coding-standard sont si sensibles à propos de thigs comme fopen et d'autres opérations d'E / S sur les fichiers.
En l'utilisant, vous pourriez au moins identifier ce que vous pourriez considérer comme un code dangereux. Cependant, cela nécessiterait en fin de compte une révision de la base de code. Tout ce qui y est signalé peut être un code légitime aux fins de l'opération des modules. Vous ne pouvez donc pas compter uniquement sur des tests automatiques pour quelque chose de cette nature, malheureusement.
la source
Il existe des outils en ligne gratuits que vous pouvez utiliser pour analyser votre installation Magento à distance. Ceux-ci peuvent vous aider à identifier les swipers de cartes de crédit, les charges utiles malveillantes, les domaines intermédiaires et d'autres problèmes de sécurité.
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/
la source