Application de Transport

Solution Innovante de Transport de Marchandises pour le Maroc.

Des Fonctionnalités Sécurisées et Complètes pour les Chauffeurs

Ghadi Ghadi, l’application de transport de marchandises au Maroc, propose des fonctionnalités avancées et sécurisées, garantissant une expérience fiable pour les chauffeurs et les clients.

1. Connexion Sécurisée par Numéro de Téléphone et Code SMS

La sécurité des utilisateurs est une priorité pour Ghadi Ghadi. Chaque chauffeur se connecte via un processus d’authentification en deux étapes :

  • Connexion par Numéro de Téléphone : Le chauffeur utilise son numéro de téléphone pour accéder à l’application.
  • Code de vérification par SMS : Pour sécuriser davantage la connexion, un code de vérification est envoyé par SMS. Ce code unique garantit que seul le propriétaire du numéro peut accéder à son compte.

2. Informations Personnelles et Véhicule pour les Chauffeurs

Pour assurer la fiabilité et la sécurité des services proposés, les chauffeurs doivent fournir des informations essentielles lors de leur inscription :

  • Informations Personnelles : Le chauffeur doit entrer ses informations personnelles, telles que son nom complet, son adresse et sa date de naissance, garantissant ainsi une identification précise des utilisateurs.
  • Informations sur le Véhicule : Les chauffeurs doivent enregistrer les détails de leur véhicule, y compris la marque, le modèle, l’immatriculation, et la capacité de charge, permettant aux clients de choisir le véhicule le mieux adapté à leurs besoins.
  • Licence de Conduite : La licence de conduite est également requise pour compléter le profil. Cette exigence garantit le sérieux des chauffeurs inscrits et inspire confiance aux clients en démontrant que chaque chauffeur est qualifié et conforme aux normes de sécurité.

3. Recherche et Navigation de Trajets Client

Une fois inscrits, les chauffeurs ont accès aux trajets enregistrés par les clients. Ghadi Ghadi offre plusieurs options pour trouver les trajets :

  • Recherche par Emplacement : Les chauffeurs peuvent rechercher des trajets selon des critères de proximité, leur permettant de trouver les colis les plus accessibles.
  • Carte Interactive et Radiodistance : La carte affiche les colis dans un périmètre défini autour de la position actuelle du chauffeur. Cette fonctionnalité aide les chauffeurs à optimiser leurs trajets en identifiant les colis les plus proches.

4. Consultation des Détails de Demandes et Contact Client

Pour chaque trajet, Ghadi Ghadi fournit des détails utiles sur les demandes des clients :

  • Coordonnées et Appel Direct : Les chauffeurs peuvent appeler directement le client via l’application pour des questions ou confirmations.
  • Statut et Informations complètes : Les informations détaillées incluent le point de départ, la destination, la description du colis, et le statut (en attente, en cours, terminé) pour un suivi efficace.

5. Messagerie Intégrée pour une Communication Efficace

Ghadi Ghadi inclut un système de messagerie en temps réel pour une coordination fluide :

  • Clarifications et Mises à Jour : Les chauffeurs peuvent utiliser le chat pour échanger avec les clients, poser des questions, ou fournir des mises à jour sur l’heure de livraison.
  • Commentaires : Les chauffeurs ont la possibilité d’ajouter des notes pour garder une trace des détails importants liés à chaque trajet.

6. Visualisation en Temps Réel des Trajets sur Carte

La carte interactive de l’application est une ressource précieuse pour visualiser les colis en attente de transport. En utilisant la géolocalisation, les chauffeurs peuvent planifier leur parcours en prenant en compte les différentes destinations des colis, maximisant ainsi leur efficacité et réduisant les trajets à vide.

Un Système Complet et Sécurisé pour les Chauffeurs

Avec des mesures de sécurité rigoureuses, telles que l’authentification par SMS, et une transparence complète des informations de profil, Ghadi Ghadi assure un environnement fiable pour tous ses utilisateurs. Chaque chauffeur bénéficie d’un ensemble de fonctionnalités pratiques et sécurisées, qui facilitent la gestion des trajets et optimisent le transport de marchandises, tout en garantissant la satisfaction des clients.

La Solution Innovante de Transport de Marchandises au Maroc

Ghadi Ghadi est une application révolutionnaire qui facilite le transport de marchandises au Maroc. Elle permet une connexion directe et fluide entre les chauffeurs et les clients (expéditeurs), tout en offrant des fonctionnalités de géolocalisation, de communication et de sécurité pour simplifier et optimiser le processus de transport. Ce service est conçu pour répondre aux besoins des deux parties (chauffeurs et clients), tout en garantissant une expérience utilisateur fluide et sécurisée.

Accessibilité Universelle

Ghadi Ghadi est accessible de deux manières :

  • Navigateur Web : L’application est disponible pour une utilisation directe sur votre navigateur, sans avoir besoin d’installer quoi que ce soit.
  • Application Mobile : Disponible gratuitement sur les Google Play Store pour Android et Apple App Store pour iOS, l’application mobile offre une interface optimisée pour un usage sur smartphone ou tablette, permettant une gestion facile des trajets et de la communication.

Fonctionnalités pour les Chauffeurs et les Clients

1. Inscription et Connexion Sécurisée

  • Connexion Sécurisée : Le processus d’inscription pour les chauffeurs et les clients est simple et sécurisé. Les chauffeurs s’inscrivent avec leur numéro de téléphone et reçoivent un code de vérification par SMS pour garantir une connexion sûre.
  • Informations Personnelles et Véhicule pour les Chauffeurs : Les chauffeurs doivent renseigner leurs informations personnelles ainsi que des détails sur leur véhicule (marque, modèle, capacité de charge, etc.) et leur licence de conduite pour assurer la sécurité et la conformité.
  • Informations Client : Les clients doivent entrer leurs informations personnelles avant de pouvoir ajouter un trajet ou publier une demande de transport.

2. Recherche et Navigation des Trajets

  • Pour les Chauffeurs : Les chauffeurs peuvent rechercher des trajets disponibles autour d’eux grâce à une carte interactive et une fonction de recherche par emplacement. Ils peuvent également rechercher des trajets dans un rayon spécifique autour de leur position actuelle, ce qui facilite la planification des trajets.
  • Pour les Clients : Les clients peuvent facilement publier leurs demandes de transport, en précisant l’emplacement de départ et la destination de leurs colis. Les informations détaillées de chaque demande sont affichées pour une consultation claire.

3.Consultation des Détails de Demandes et Contact Client

Pour chaque trajet, Ghadi Ghadi fournit des détails utiles sur les demandes des clients :

  • Détails Complets des Trajets : Les chauffeurs peuvent consulter les informations détaillées pour chaque trajet, y compris l’adresse de départ, la destination, la description du colis et le statut de la demande (en attente, en cours, terminé).
  • Coordonnées du Client et Appel Direct : Le numéro de téléphone du client est visible dans les détails de la commande, permettant au chauffeur de contacter directement le client pour clarifications ou confirmations.

4. Notifications Instantanées

  • Notifications de Commentaires : Chaque fois qu’un commentaire est ajouté à un trajet, que ce soit par le chauffeur ou le client, une notification est envoyée instantanément à l’autre partie. Cela garantit que tous les utilisateurs restent informés en temps réel de l’évolution des trajets.
  • Alertes de Mise à Jour : Les utilisateurs reçoivent des notifications pour toute mise à jour importante concernant l’état de la demande ou de la livraison, assurant un suivi en continu.

5. Visualisation des Demandes et Localisation sur Carte

  • Carte Interactive : La carte de l’application affiche les colis en attente de transport ainsi que leur emplacement, permettant aux chauffeurs de planifier leurs trajets en tenant compte des positions des colis. Les chauffeurs peuvent voir en temps réel les trajets disponibles dans leur zone.
  • Planification Optimisée : En utilisant la carte et les fonctionnalités de recherche, les chauffeurs peuvent planifier leurs trajets de manière stratégique, réduisant les trajets à vide et augmentant leur efficacité.

6. Inscription Gratuite et Facilité d’Accès

  • Inscription Gratuite : L’inscription est totalement gratuite pour les chauffeurs et les clients, rendant Ghadi Ghadi accessible à tous ceux qui ont besoin de solutions de transport efficaces.
  • Accessibilité Mobile et Web : L’application est disponible en version mobile (Android et iOS) et sur navigateur web, offrant ainsi une flexibilité totale dans l’accès aux services.

Sécurité et Fiabilité Renforcées

  • Connexion Sécurisée : Chaque utilisateur, qu’il soit chauffeur ou client, bénéficie d’un processus d’inscription sécurisé par SMS pour garantir l’authenticité des informations.
  • Vérification des Chauffeurs : Les chauffeurs doivent entrer les informations sur leur véhicule et leur licence de conduite, ce qui garantit leur légitimité et la sécurité des transports.
  • Notifications en Temps Réel : Chaque commentaire ajouté par un chauffeur ou un client est immédiatement signalé par une notification, assurant une communication fluide et sans retard.

Pour un Transport de Marchandises Simplifié et Sécurisé

Ghadi Ghadi transforme le secteur du transport de marchandises au Maroc en offrant une plateforme sécurisée, flexible et facile à utiliser. Que vous soyez chauffeur ou client, l’application vous permet de gérer vos trajets de manière fluide, tout en assurant une communication rapide et sécurisée entre toutes les parties.

Avec ses fonctionnalités de recherche avancées, son système de messagerie intégré, et ses notifications en temps réel, Ghadi Ghadi est l’outil idéal pour une gestion optimisée du transport de marchandises, accessible à tous via mobile ou navigateur web

Read More

Symfony : Application de gestion de Ports

Solutions de Gestion des Ports 

L’Application de Gestion des Ports de Plaisance est une solution innovante, développée sur le framework Symfony, conçue pour optimiser et simplifier la gestion des marinas et des ports. Elle centralise toutes les informations essentielles d’un port, améliorant ainsi l’efficacité et la gestion quotidienne.

 

Principales fonctionnalités :

  • Gestion du Port : Supervision des opérations portuaires pour une organisation optimale.
  • Gestion des Clients : Suivi des propriétaires de bateaux et de leurs contrats.
  • Gestion des Emplacements et Pontons : Administration des places disponibles et des attributions.
  • Gestion des Abonnés : Suivi des abonnements et des paiements.
  • Gestion des Visiteurs : Contrôle des visiteurs et de leur accès.
  • Gestion des Contrôles : Surveillance des inspections et contrôles de port.

Grâce à la robustesse de Symfony, l’application  offre une interface intuitive qui permet aux gestionnaires d’accéder en un clic aux informations clés, comme les emplacements disponibles et les détails des bateaux enregistrés. Sa flexibilité permet une personnalisation avancée pour s’adapter aux processus uniques de chaque port et intégrer de nouvelles fonctionnalités selon les besoins.

En s’appuyant sur Symfony, le système garantit des performances optimisées et une sécurité renforcée, adaptée aux besoins spécifiques des ports, tout en facilitant une gestion rapide et efficace.

Vue d’ensemble complète du système de gestion des ports

Le Portail de Gestion des Ports est un système centralisé et robuste conçu pour optimiser les opérations portuaires, renforcer la gestion des utilisateurs et automatiser les tâches critiques. Voici une analyse approfondie de chaque fonctionnalité principale du portail.

1. Gestion des utilisateurs et des groupes

  • Assignation des utilisateurs et contrôle des accès : Chaque utilisateur est rattaché à un ou plusieurs groupes, et chaque groupe définit le niveau d’accès (lecture, écriture ou aucun) aux différentes parties du système, permettant un contrôle des permissions selon les rôles des utilisateurs.
  • Groupes prédéfinis :
    • Super Admin : Accès total pour les administrateurs de port.
    • Utilisateurs externes : Accès limité, destiné aux demandeurs de place d’amarrage, leur permettant de consulter leurs demandes et informations personnelles.
  • Interface de gestion des groupes : Disponible sous « Administration / Site / Groupes », elle permet aux administrateurs de créer des groupes, d’assigner des rôles via une arborescence et de modifier ou désactiver les groupes si nécessaire.

2. Gestion des menus

  • Menus principal et utilisateur : Le portail offre une structure de menu personnalisable. Les administrateurs accèdent à un menu principal complet, tandis que les utilisateurs externes disposent d’un menu limité à leurs besoins, comprenant des options comme « Accueil », « Mes demandes » et « Mes places ».
  • Menu spécifique à l’utilisateur : Chaque utilisateur peut visualiser les options de profil, modifier les informations de ses embarcations et se déconnecter via un menu accessible en haut de page.
  • Personnalisation des menus : Grâce à l’option « Administration / Site / Menus », les administrateurs peuvent configurer les menus dans une structure hiérarchique et ajouter des liens ou des répertoires pour une meilleure navigation.

3. Paramètres globaux

  • Configuration des paramètres généraux : Les paramètres globaux du portail, sous « Administration / Site / Paramètres globaux », se divisent en plusieurs onglets : Connexion au site, Textes, Contrôle des ports, Périodes, et Emails.
  • Planification du contrôle des ports : Les administrateurs peuvent configurer et planifier les contrôles périodiques d’équipements, avec des périodes de validité qui varient selon les secteurs.
  • Personnalisation des textes : Les messages et instructions du système peuvent être ajustés pour que les communications reflètent la terminologie et les procédures spécifiques au port.
  • Notifications par email : Les modèles de notification automatique peuvent être personnalisés pour informer les utilisateurs à chaque étape de leurs demandes (création, acceptation, refus, etc.).

4. Facturation 

  • Facturation: Le portail est intégré avec le système de facturation, permettant des échanges de données fluides. La configuration inclut les codes de transaction, les types de factures, et les codes tarifaires pour garantir que les factures pour les clients et visiteurs correspondent aux enregistrements du système.
  • Génération automatique de factures : Les paramètres de facturation permettent la création automatique de documents XML, assurant une facturation cohérente pour les allocations de places, les frais de visite et d’autres services.

5. Planificateur de tâches

  • Gestion automatisée des tâches : Le planificateur de tâches permet d’automatiser des tâches de fond telles que l’archivage des demandes, la mise à jour des données, et les rappels par email.
  • Planification flexible : Les administrateurs peuvent configurer les tâches pour qu’elles s’exécutent à des intervalles personnalisés (horaire, journalier, hebdomadaire, ou annuel) et garantir la réalisation des opérations essentielles.
  • Types de tâches programmables :
    • Archivage des demandes : Statut mis à jour automatiquement pour les demandes expirées.
    • Synchronisation des données : Inclut des tâches de mise à jour des adresses clients et de récupération des données d’altitude du lac pour le calcul des profondeurs.
    • Mise à jour des statuts de contrôle : Change automatiquement le statut des contrôles programmés en fonction de leur date d’échéance.

6. Gestion des infrastructures

  • Aperçu des infrastructures portuaires : Le portail offre des outils de gestion pour les actifs portuaires, y compris les places d’amarrage, les secteurs et les équipements, via une intégration cartographique SIG (système d’information géographique).
  • Visualisation cartographique des données : Une interface visuelle représente les infrastructures sur une carte, montrant l’emplacement et les détails des places, chaînes, et équipements.
  • Séparation des données d’infrastructure : Le système sépare les informations géographiques et attributaires pour garantir la qualité et la cohérence des données, stockant les informations basées sur la géométrie dans un schéma SIG dédié.

7. Gestion des tarifs

  • Configuration complète des tarifs : Les administrateurs peuvent définir les tarifs pour différents services comme les amarrages, les frais visiteurs et l’hivernage, qui sont appliqués automatiquement en fonction de l’emplacement, du type de place, et de la durée.
  • Héritage des tarifs multi-niveaux : Les tarifs peuvent être définis au niveau du port, du secteur, ou de la place d’amarrage, avec des niveaux inférieurs héritant des prix des niveaux supérieurs sauf indication contraire.
  • Types et périodes de tarification :
    • Permanent : Renouvelable annuellement pour les amarrages à long terme.
    • Temporaire : Pour les locations de courte durée.
    • Visiteur : Frais journaliers pour les visiteurs de courte durée.
    • Périodes personnalisées : Tarifs saisonniers ou pour des événements spécifiques, comme les régates.

8. Attribution et types de places

  • Attribution automatique des places : Selon les critères de la demande d’un utilisateur (type de place, emplacement, taille de l’embarcation), le système suggère automatiquement les places disponibles correspondant à sa demande.
  • Règles dynamiques d’attribution des places : Le système évalue la disponibilité de la taille, du type et de l’emplacement de la place pour chaque demande, permettant une assignation précise qui répond aux besoins de l’utilisateur et aux exigences du port.

9. Contrôle et suivi des ports

  • Contrôles d’équipements et d’embarcations : Le portail gère les plannings de contrôle et les workflows pour la propreté et la fonctionnalité des bateaux, équipements et autres actifs portuaires.
  • Suivi de l’historique des inspections : Des journaux détaillés des inspections passées, des vérifications à venir, et des statuts de contrôle sont accessibles, fournissant aux administrateurs des données complètes pour assurer la conformité.

10. Journaux d’actions

  • Enregistrement complet des actions : Le système trace toutes les actions clés des utilisateurs et du système, de l’envoi des notifications par email à la facturation avec NEST, stockant les enregistrements pour consultation ultérieure.
  • Options de filtrage des journaux : Les administrateurs peuvent filtrer les journaux par type, date, utilisateur, et description, facilitant la recherche d’actions spécifiques ou la résolution de problèmes.

11. Tableau de bord et rapports

  • Tableau de bord pour administrateurs : Un tableau de bord central donne un aperçu des principaux indicateurs opérationnels, comme les demandes en attente, les attributions de places, et les statuts d’inspection.
  • Aperçus des données en temps réel : Les administrateurs peuvent surveiller les mises à jour en direct de l’utilisation du système, offrant les informations nécessaires pour optimiser en continu les opérations du port.

Conclusion

Le Portail de Gestion des Ports est un outil complet, conçu pour simplifier et améliorer l’administration portuaire. De la gestion des utilisateurs et la planification des tâches à la surveillance des infrastructures et l’automatisation de la facturation, le système offre une solution complète pour maintenir l’efficacité, améliorer les interactions utilisateurs, et assurer une gestion des dossiers précise.

Read More

Cosmicsting : Cyberattaque sur Adobe Commerce et Magento

Introduction :

 

Dans le domaine de la cybersécurité en pleine mutation, une nouvelle menace sérieuse s’attaque aux boutiques Adobe Commerce. Appelée « CosmicSting », cette attaque sophistiquée présente un danger considérable et pourrait toucher jusqu’à 75 % des boutiques Adobe Commerce. CosmicSting tire parti d’une faille critique dans les plateformes Adobe Commerce et Magento, permettant aux cybercriminels de lire des données  sensibles comme les mots de passe et d’injecter du code malveillant pour compromettre la sécurité des données des clients. Ce blog vous propose de découvrir en détail le fonctionnement de CosmicSting ainsi que les actions à mettre en place pour protéger efficacement votre commerce.

CosmicSting (CVE-2024-34102) : Une cybermenace exploitant les failles critiques d’Adobe Commerce et Magento.

CVE-2024-34102 est une faille de sécurité sévère résultant d’une mauvaise gestion de la désérialisation imbriquée dans Adobe Commerce et Magento. Cette vulnérabilité permet aux attaquants d’exploiter les entités externes XML (XXE) pendant le processus de désérialisation, ce qui peut potentiellement conduire à l’exécution de code à distance. En résumé, les attaquants peuvent créer des charges JSON malveillantes qui, lorsqu’elles sont désérialisées par l’application, instancient des objets avec des propriétés ou des comportements inattendus, entraînant divers risques de sécurité.

L’exploitation de cette vulnérabilité permet aux attaquants d’obtenir un accès administratif non autorisé aux API REST, GraphQL ou SOAP, ce qui peut conduire à un vol de données, des perturbations de service et une compromission complète des systèmes affectés. Cette vulnérabilité pose un risque significatif en raison de sa capacité à exfiltrer des fichiers sensibles, tels que app/etc/env.php, contenant des clés cryptographiques utilisées pour l’authentification. Les attaquants peuvent exploiter cette faille pour forger des jetons administratifs et manipuler les API de Magento en tant qu’utilisateurs privilégiés.

 

De plus, la CVE-2024-34102 peut être associée à d’autres vulnérabilités, telles que l’exploitation des chaînes de filtres PHP (CVE-2024-2961), entraînant l’exécution de code à distance (RCE). Les implications plus larges des vulnérabilités d’entité externe XML (XXE) permettent aux attaquants de récupérer et de manipuler des données provenant de sources externes, exacerbant ainsi l’impact potentiel sur les systèmes compromis.

Impact

L’impact de la CVE-2024-34102 (CosmicSting) sur Adobe Commerce et Magento est sévère, affectant plus de 140 000 instances de Magento à l’échelle mondiale fin 2023. De plus, selon Sansec, la vulnérabilité pourrait toucher environ 75 % des boutiques Adobe Commerce.

Versions affectées

Plateformes :

  • Toutes les plateformes sont affectées pour Adobe Commerce et Magento Open Source.

  • Installation manuelle du plugin Webhooks pour Adobe Commerce.

  • Versions :

  • Adobe Commerce : versions antérieures à : 2.4.7 ; 2.4.6-p5 ; 2.4.5-p7 ; 2.4.4-p8 ; 2.4.3-ext-7 ; 2.4.2-ext-7

  • Magento Open Source : versions antérieures à : 2.4.7 ; 2.4.6-p5 ; 2.4.5-p7 ; 2.4.4-p8

  • Plugin Webhooks d’Adobe Commerce : versions de 1.2.0 à 1.4.0

Chronologie

Décembre 2023

  • 20 décembre 2023 : Le rapport de vulnérabilité est soumis à HackerOne par Sergey Temnikov.

Janvier 2024

  • 8 janvier 2024 : HackerOne soumet le rapport à Adobe.

Juin 2024

  • 11 juin : Avis d’Adobe concernant Adobe Commerce/Magento au sujet d’une vulnérabilité sévère d’injection d’entité XML pré-authentification (CVE-2024-34102), évaluée par Adobe avec un score CVSS de 9.8. La CVE-2024-34102 est donc publiée.

  • 18 juin : Sansec note que 75 % des magasins n’ont toujours pas appliqué de correctifs et met en garde contre une exploitation massive de CosmicSting.

  • 23 juin : Sergey Temnikov (spacewasp), le découvreur du problème, alerte sur la gravité de CosmicSting. Il souligne que des tiers peuvent obtenir un accès administrateur à l’API sans avoir besoin d’une version Linux vulnérable (liée au problème iconv). Il recommande un correctif d’urgence amélioré.

  • 23 juin : Sansec découvre les premières attaques CosmicSting en cours (provenant de l’adresse IP 185.175.225.116).

  • 26 juin : Une analyse approfondie est publiée par AssetNote.

  • 26 juin : AssetNote publie des détails sur les attaques et les premiers kits d’exploitation apparaissent sur GitHub.

  • 26 juin : Adobe augmente la note de sévérité de 3 à 2.

  • 27 juin : Adobe publie un correctif autonome officiel pour CosmicSting qui peut être appliqué aux installations sans nécessiter une mise à niveau complète.

  • 27 juin : Hypernode rapporte avoir observé les premières instances de scans et d’abus effectif de CosmicSting dans la nature. Ils incitent toutes les parties concernées à patcher immédiatement leurs systèmes.

Juillet 2024

  • 8 juillet : Adobe augmente la note de sévérité de 2 à 1 (critique).

  • 12 juillet : Sansec observe des hacks massifs de magasins Adobe Commerce de haut profil. Des marques connues figurent parmi les victimes.

Août 2024

  • 21 août : Adobe publie le correctif AC-12485 pour invalider les anciennes clés de cryptage. Cela est vital, car sinon, les attaquants continueront à modifier vos blocs CMS.

  • 27 août : Les attaquants combinent CosmicSting avec le bug CNEXT, leur permettant d’exécuter du code sur votre serveur (également connu sous le nom d’exécution de code à distance). Il s’agit d’une escalade sérieuse, car les attaquants peuvent désormais installer des portes dérobées pour dissimuler leur présence et rester persistants sur vos serveurs.

Septembre 2024

  • 4 septembre : Le magasin Cisco est piraté à l’aide de l’attaque CosmicSting.

Octobre 2024

  • 14 octobre : Le groupe Peschanki compromet plus de 2000 magasins en quelques heures, lors du plus grand piratage automatisé à ce jour.

  • 21 octobre : Une nouvelle campagne de grande envergure est lancée par le groupe Laski, infectant plus de 1200 magasins.

Mesures Critiques pour Sécuriser votre Installation Adobe Commerce

Pour protéger votre système contre les attaques potentielles, suivez ces étapes essentielles :

Protéger votre Clé de Chiffrement

  • Mise à jour : Installez la dernière version d’Adobe Commerce pour empêcher les attaquants de voler votre clé cryptographique (clé de chiffrement).

  • Rotation de Clé : Considérez que votre clé actuelle a déjà été compromise. Générez une nouvelle clé et invalidez l’ancienne pour empêcher tout usage abusif.

Recommandation : Mettre à jour vers la dernière version d’Adobe Commerce est la solution la plus efficace. Cependant, notez que cette mise à jour inclut des changements fonctionnels, comme l’application stricte d’une politique de sécurité de contenu (CSP), ce qui pourrait affecter vos processus de commande.

Solution Alternative : Patch Isolé

  • Si la mise à jour n’est pas possible, appliquez le patch isolé fourni par Adobe pour réduire les vulnérabilités.

Rotation de la Clé après la Mise à jour

  • Après la mise à jour, effectuez une rotation de vos clés de chiffrement comme indiqué par Adobe. Notez que les données chiffrées avec l’ancienne clé ne sont pas automatiquement rechiffrées avec la nouvelle. Pour automatiser ce processus, utilisez le module de rotation de clé fourni par Luke Rodgers chez GENE Commerce — fortement recommandé.

  • Consultez également votre documentation sur la rotation des clés pour des instructions spécifiques sur la manière de mettre en œuvre cette rotation dans votre système actuel. Cette étape est cruciale pour assurer la sécurité et minimiser les risques liés à une clé compromise.

Solution d'Urgence (à Court Terme)

Si des actions immédiates sont nécessaires, vous pouvez temporairement bloquer l’accès à l’API CMS Block :

Bloquer les Requêtes à l’API CMS Block

Ajoutez le code suivant en haut de  app/bootstrap.php pour empêcher l’accès à l’API :

if (preg_match(‘/\/rest\/.*\/cmsBlock/m’, $_SERVER[‘REQUEST_URI’])) {
    http_response_code(503);
    echo “Service Unavailable”;
    exit();
}

Attention : Cette mesure est provisoire et ne garantit pas une sécurité totale pour votre système. Les attaquants peuvent toujours :

  • Accéder à d’autres fichiers sur votre serveur, et ainsi continuer d’obtenir vos nouvelles clés de chiffrement.

  • Exploiter d’autres points de terminaison REST pour extraire des données clients sensibles (par exemple, via l’endpoint des commandes).

  • Effectuer une exécution de code à distance en combinant cette vulnérabilité avec d’autres failles.

Read More

CosmicSting stratégies et défenses

Introduction

La montée en puissance des cybermenaces, comme l’attaque CosmicSting, souligne l’importance d’une gestion proactive de la sécurité des systèmes. Cette vulnérabilité, qui cible principalement les boutiques Adobe Commerce et Magento, expose les données sensibles à des risques considérables. 

Pour contrer ces menaces, il est crucial d’adopter des mesures préventives, notamment la rotation régulière des clés de chiffrement. Dans cet article, nous examinerons l’importance de cette pratique et vous fournirons des conseils sur la manière de l’appliquer efficacement dans votre environnement. En vous engageant dans des stratégies de défense robustes, vous pourrez mieux protéger vos ressources et renforcer la résilience de votre infrastructure face aux menaces émergentes.

1.Mise à Jour Essentielle : Appliquer le Dernier Patch Adobe

Il est impératif de mettre à jour votre système vers la dernière version du correctif fournie par Adobe  avant d’effectuer la rotation des clés. Cette étape garantit que toutes les vulnérabilités connues sont corrigées, offrant ainsi une base sécurisée pour la gestion de vos clés cryptographiques. Ne négligez pas cette mise à jour cruciale, car elle joue un rôle essentiel dans la protection de vos données sensibles contre les menaces potentielles..

1.Pourquoi la Rotation de la Clé est Essentielle

Même si votre boutique est sécurisée, il existe toujours un risque qu’un jeton JWT (JSON Web Token) ait été émis et demeure valide. Pour cette raison, il est fortement recommandé aux marchands de procéder à une rotation de la clé de chiffrement pour renforcer la sécurité. Cependant, il est important de noter que le processus de rotation de clé de Magento ne désactive pas automatiquement l’ancienne clé, ce qui peut présenter des vulnérabilités résiduelles. Le module gene encryption module peut simplifier cette procédure en invalidant efficacement les anciennes clés tout en régénérant les valeurs chiffrées avec la nouvelle clé. Cela garantit une sécurité complète pour votre boutique en ligne et protège les données sensibles des clients.

 

Voici les étapes générales à suivre pour prévenir les attaques liées à CosmicSting. Lisez attentivement chaque étape pour comprendre les fonctionnalités de ce module ainsi que les points de vulnérabilité potentiels.

1. Identification des Tables Utilisant la Clé de Chiffrement :

Commencez par effectuer une sauvegarde complète de la base de données, que nous utiliserons pour déterminer quelles tables contiennent des valeurs chiffrées. Si une sauvegarde de production n’est pas réalisable, vous pouvez recourir aux environnements de staging ou de QA. Une fois la sauvegarde effectuée, utilisez la commande suivante pour extraire les données :

 

mysqldump –databases nom_de_la_base > chemin/vers/backup.sql

 

Une fois la sauvegarde effectuée, vous pourrez repérer les tables contenant des valeurs chiffrées. Pour ce faire, utilisez grep pour rechercher les tables en analysant le fichier de sauvegarde :

 

grep -P “VALUES\s*\(.*\d:\d:…*'” chemin/vers/backup.sql | awk ‘{print $3}’ | sort | uniq -c

 

Cela vous fournira une liste des tables contenant des valeurs chiffrées, lesquelles devront être régénérées avec la nouvelle clé .

 

2.Installation De Module gene encryption:

installez le module Gene Encryption Key Manager disponible sur GitHub. Ce module offre des fonctionnalités avancées pour gérer efficacement les clés de chiffrement.

Lien vers le module : Gene Encryption Key Manager sur GitHub 

 

composer require gene/module-encryption-key-manager
bin/magento setup:upgrade

3.Générer une nouvelle clé et empêcher l'utilisation des anciennes pour les JWT

C’est la priorité absolue pour chaque marchand ! Installez ce module et générez une nouvelle clé en utilisant la commande suivante :

 

php bin/magento gene:encryption-key-manager:generate [–key=MA_NOUVELLE_CLE_DE_32_CARACTERES] [–skip-saved-credit-cards]  —force

 

Cette action forcera  le JWT factory  à utiliser la nouvelle clé. D’autres parties de l’application peuvent encore recourir aux anciennes clés, mais cette étape est essentielle pour contrer les attaques de CosmicSting.

Utilisez l’option –key pour définir manuellement la nouvelle clé à utiliser lors de la réinitialisation du chiffrement. Si aucune clé personnalisée n’est fournie, une nouvelle clé sera automatiquement générée.

 

L’option  –skip-saved-credit-cards permet de ne pas ré-encrypter les données de cc_number_enc dans la table sales_order_payment. Cette table peut être volumineuse, et de nombreuses boutiques n’y conservent aucune donnée.

4.Correction des Valeurs de Configuration Manquantes:

Ces commandes s’exécutent en mode dry run par défaut, ce qui vous permet d’effectuer un premier passage pour visualiser les modifications qui seront apportées. Une fois que vous êtes satisfait des résultats, vous pouvez exécuter la commande avec l’option –force  pour appliquer les changements.

Pour résoudre les valeurs de configuration manquantes, exécutez la commande suivante :

php bin/magento gene:encryption-key-manager:reencrypt-unhandled-core-config-data 

 

Cela réencryptera les données de configuration principales qui n’ont pas été prises en charge. Une fois que cette opération est terminée, vous pouvez relancer la commande pour vérifier que tout a été correctement mis à jour :

 

php bin/magento gene:encryption-key-manager:reencrypt-unhandled-core-config-data

5.Correction des Données 2FA

Pour corriger les données liées à l’authentification à deux facteurs (2FA), exécutez la commande suivante :

php bin/magento gene:encryption-key-manager:reencrypt-tfa-data

 

Après avoir effectué cette opération, relancez la commande pour vérifier que tout a été correctement mis à jour :

 

php bin/magento gene:encryption-key-manager:reencrypt-tfa-data

6.Correction des Colonnes Supplémentaires Identifiées

Il est également important de réencrypter toutes les autres colonnes identifiées  avec la cmd Grep . Assurez-vous de vérifier chaque table et colonne. Soyez vigilant, en particulier avec les colonnes entity_id, row_id  et id.

Voici la commande à exécuter pour encrypter les colonnes supplémentaires  :

php bin/magento gene:encryption-key-manager:reencrypt-column entity_name entity_id column_name 

Exemples: 

php bin/magento gene:encryption-key-manager:reencrypt-column customer_entity entity_id rp_token

 

php bin/magento gene:encryption-key-manager:reencrypt-column oauth_token entity_id secret

 

php bin/magento gene:encryption-key-manager:reencrypt-column oauth_consumer entity_id secret

 

Après chaque commande, assurez-vous de vérifier que les valeurs ont été correctement mises à jour dans la base de données. 

7.Vider le Cache

Pour vider le cache de votre installation Magento, exécutez la commande suivante :

php bin/magento cache:flush

 

À ce stade, toutes vos données devraient avoir été migrées vers votre nouvelle clé de chiffrement. Pour vous aider à vérifier cela, vous pouvez effectuer les opérations suivantes :

Configurer les Paramètres de Journalisation:

Activez la journalisation des décryptages pour vérifier que rien n’utilise encore l’ancienne clé :

php bin/magento config:set –lock-env dev/debug/gene_encryption_manager_only_log_old_decrypts 1

 

php bin/magento config:set –lock-env dev/debug/gene_encryption_manager_enable_decrypt_logging 1

 

Surveillez vos journaux à la recherche de “gene encryption manager” pour vérifier que rien n’utilise encore l’ancienne clé.

8.Invalidation de l'Ancienne Clé

Une fois que vous êtes satisfait des vérifications, vous pouvez invalider votre ancienne clé avec la commande suivante :

php bin/magento gene:encryption-key-manager:invalidate


Avant l’invalidation env.php

Après l’invalidation : 

Note:

 

Notez que Magento\Catalog\Model\View\Asset\Image continuera à utiliser la clé à l’index 0 dans la section crypt/invalidated_key.

9.Tests à Effectuer

Assurez-vous de bien tester les éléments suivants :

  • Toutes les intégrations qui utilisent les API de Magento.

  • Les médias doivent toujours s’afficher avec le même répertoire de hachage. S’il se régénère, cela pourrait occuper un espace disque considérable et augmenter le temps d’exécution.

  • Connexion/Déconnexion des utilisateurs administrateurs.

  • Connexion/Déconnexion des clients.

En effectuant ces tests, vous vous assurez que tout fonctionne correctement après la migration vers la nouvelle clé de chiffrement.

 

Read More

Comment configurer les listes de produits dans Magento 2.

Dans ce post, je vais vous présenter comment configurer les listes de produits dans Magento 2. Définir le moyen efficace d’afficher vos listes de produits aidera à encourager les clients à acheter plus et les clients pourront facilement trouver leurs produits préférés.

Vous pouvez définir la liste de produits par défaut à afficher en tant que liste ou dans une grille.En backend, vous pouvez également déterminer le nombre de produits apparaissant par page et sélectionner l’attribut utilisé pour trier la liste. De plus, comme vous en avez besoin, vous pouvez définir pour permettre aux clients d’afficher tous les produits par page ou non.

Suivez ce guide ici pour configurer les listes de produits:

 

  • Dans le panneau d’administration, cliquez sur Stores. Sélectionnez Configuration dans la section Settings.
  • Cliquez sur Catalog dans le panneau droit, puis sélectionnez Catalog.
  • Ouvrez la section storeFront et suivez l’étape.

 

Comment configurer les listes de produits dans Magento 2.

 

    • Sélectionnez le mode Liste par défaut en choisissant l’une des listes suivantes
      • Grille seulement
      • Liste seulement
      • Grille (par défaut) / Liste
      • Liste (par défaut) Grille
    • Dans Products per page on Grid Allowed Values , entrez le nombre de produits affichés par page sur la grille comme vous le souhaitez. Si vous souhaitez définir une liste de valeurs, veuillez séparer chaque nombre par une virgule.
    • Dans Products per Page on Grid Default Value , entrez le numéro que vous souhaitez définir par défaut pour le produit apparaissant par page sur la grille.
    • Dans le champ Allow All Products on Page, choisissez Yes pour permettre aux clients d’afficher une liste de tous les produits.
    • Dans le champ Product Listing Sort by, définissez l’attribut par défaut pour trier les produits, l’un des éléments suivants:
      • Position
      • prénom
      • Prix
    • Si vous utilisez un catalogue à plat, procédez comme suit:
      • Dans Use Flat Catalog Category, sélectionnez Yes.
      • Dans Use Flat Catalog Product , sélectionnez Yes.
    • Dans Allow Dynamic Media URLs in Products and Categories , définissez la valeur sur Yes si vous souhaitez autoriser les références dynamiques pour les actifs multimédias dans les URL de catégorie et de produit.
    • Save Config.

Comment configurer le filtre de prix_Navigation des prix dans Magnto2. 

Read More

Layered Navigation : Comment configurer le filtre de prix_Navigation des prix dans Magento 2

Layered Navigation dans Magento 2 par défaut est conçu comme un sitemap pratique sur votre magasin Magento 2. La navigation est généralement placée sur la gauche de la page de catégorie avec une liste de catégories et de gamme de prix. Ainsi, au lieu de faire le tour de votre magasin, les clients ont seulement besoin de décrire leurs exigences à travers le filtre des critères, et ils obtiendront les articles souhaités très rapidement.

Comment configurer le filtre de prix_Navigation des prix dans Magento 2

Avec la navigation par couche, les clients peuvent filtrer par attributs de produit ou par prix, et aujourd’hui je vais vous montrer comment configurer le filtre de prix / la navigation par prix. Si vous avez besoin d’en savoir plus sur la navigation en couches avec les attributs du produit, nous vous recommandons d’inclure la rubrique précédente.

 

Qu’est-ce que le filtre de prix / la navigation de prix?

 

La configuration réussie du filtre de prix / de la tarification signifie que le produit est classé par prix dans la navigation. Il existe 3 méthodes pour calculer la navigation par prix: Automatique (Égaliser les fourchettes de prix), Automatique (Égaliser les comptages de produits) et Manuel. Alors que les deux premières méthodes permettent l’auto-calcul, le manuel doit être réglé sur l’intervalle de prix. For example, the interval is 10 and the price step by 10 includes:

 

  • $20.00 – $29.99 (1)
  • $30.00 – $39.99 (2)
  • $70.00 – $79.99 (1)
  • $100.00 – $109.99 (1)
  • $120.00 – $129.99 (2)
  • $150.00 – $159.99 (1)
  • $180.00 – $189.99 (1)
  • $420.00 – $429.99 (1)
  • $440.00 – $449.99 (1)
  • $710.00 et ci-dessus(1)

configurer le filtre de prix / navigation de prix dans la navigation en couches.

 

Définir le filtre de prix / la navigation des prix

  • Dans le panneau d’administration, Stores > Settings > Configuration.
  • Dans le panneau de gauche, sous Catalog, sélectionnez Catalog.
  • Ouvrez la section Layered Navigation.
  • Dans le champ Display Product Count , permet d’entrer le nombre de produits inclus entre parenthèses après chaque élément filtré.
  • Effectuez Price Navigation Steps Calculation par deux méthodes:

Méthode 1: Automatic (equalize price ranges).

Cette méthode consiste à utiliser l’algorithme standard pour la navigation par prix. Dans Price Navigation Steps Calculation , sélectionnez l’option  Automatic (Equalize Price Ranges).

 

Comment configurer le filtre de prix_Navigation des prix dans Magento 2

Méthode 2: Automatic (equalize product counts).

  • Dans le champ Price Navigation Steps Calculation , sélectionnez l’option Automatic (equalize product counts).
  •  Dans le champ Display Price Interval as One Price , permet d’afficher un prix unique pour de nombreux produits qui sont tous les deux au même prix si vous choisissez Yes.
  • Dans le champ Interval Division Limit , indiquez le seuil d’un certain nombre de produits dans une gamme de prix. La plage ne peut pas être divisée au-delà de cette limite. Si elle est ignorée, la valeur par défaut (9) sera appliquée.

 

Comment configurer le filtre de prix_Navigation des prix dans Magento 2 (2)

Méthode 3: Manual.

  • Dans Price Navigation Steps Calculation , sélectionnez l’option Manual .
  •  Définir Default Price Navigation Step.
  • Définir Maximum Number of Price Intervals , et le nombre maximum est de 100.
Comment configurer le filtre de prix_Navigation des prix dans Magento 2 (3)

Comment configurer le filtre de prix_Navigation des prix dans Magento 2 (3)

  • Save Config.  

Comment configurer la navigation en couches avec des attributs filtrables dans Magento2.

Read More

Comment configurer la navigation en couches avec des attributs filtrables dans Magento 2

Configurer la navigation par couche Magento 2 à partir de Magento 2 par défaut est conçu comme un sitemap pratique sur votre magasin Magento 2. La navigation par couche est généralement placée à gauche de la page de catégorie avec la liste des catégories et la gamme de prix.Ainsi, au lieu de faire le tour de votre magasin, les clients ont seulement besoin de décrire leurs demandes à travers le filtre des critères, et ils obtiendront les articles désirés très rapidement. Toutefois, si vous souhaitez donner plus de critères pour la recherche ainsi que d’améliorer l’expérience du client sur votre site.

lanavigationencouches

Avec la navigation par couche par défaut, les clients peuvent filtrer par attributs de produit ou prix, tandis que la configuration du nombre de produits est mentionnée dans cette rubrique.

Qu’est-ce que la navigation par couche avec des attributs filtrables?

La navigation en couches avec attributs filtrables permet à vos clients de filtrer les produits par catégorie ou par attribut. Par exemple, quand un visiteur fait du shopping sur votre magasin de vêtements, la première étape peut être de sélectionner une catégorie dont il a besoin, comme des femmes, des hommes ou des sandales.À ce moment, tous les produits classés dans ces groupes apparaîtront sur la page de résultats. Ensuite, il peut filtrer les attributs du produit pour limiter les suggestions par styles, couleurs, gamme de prix, etc. Ces attributs sont appelés attributs filtrables et ils sont masqués dans chaque section de critères.

Configurer la navigation en couches avec des attributs filtrables. 

  • Étape 1:Créer les propriétés d’attribut.
  • Étape 2:Faire de la catégorie une ancre.
  • Étape 3:Testez les résultats.

Étape 1:Créer les propriétés d’attribut

 

  • Dans le panneau d’administration Stores > Attributes > Product
  • Sous la colonne Attributes , entrez le nom de l’attribut dans la zone de recherche ou recherchez-le manuellement, puis passez en mode Edit.
  • Dans le panneau de gauche, sélectionnez Storefront Properties  et définissez Filtrable (avec résultats) ou Filtrable (sans résultat) Use in Layered Navigation.
  • Activer la recherche de résultats dans la navigation par couches en sélectionnant Yes dans le champ Use in Search Results Layered Navigation .
  • Répétez les étapes ci-dessus si vous souhaitez inclure d’autres attributs dans la navigation par couches.

 

lanavigationencouches

Étape 2: Faire de la catégorie une ancre

 

  • Dans le panneau d’administration Products > Inventory > Categories.
  • Dans l’arborescence des catégories, choisissez la catégorie dans laquelle vous devez appliquer la navigation par couches.
  • Appuyez sur l’onglet Display Settings , choisissez Yes dans le champ Is Anchor.
  • Save Category.

Étape 3:Testez les résultats.

 

Il suffit d’aller à votre magasin et passez la souris sur la catégorie dans la barre de navigation supérieure. Immédiatement, la sélection des attributs filtrables est affichée dans la section de navigation en couches de la page de catégorie.

Comment montrer Breadcrumbs aux pages de CMS dans Magento 2. 

Read More

Comment montrer Breadcrumbs aux pages de CMS dans Magento 2.

Un breadcrumb trail est utilisé comme une aide à la navigation qui comprend un ensemble de liens qui aident les utilisateurs à garder une trace de leurs emplacements. Les utilisateurs peuvent rapidement revenir à la page précédente en cliquant sur un lien dans le breadcrumb trail. Habituellement, le breadcrumb trail  sera situé sous l’en-tête. Dans cette rubrique, je vais vous montrer un moyen simple d’ajouter Breadcrumbs aux pages CMS dans Magento 2.

 

Pour afficher Breadcrumbs aux pages du CMS:

 

  • Dans le panneau d’administration, cliquez sur Stores. Dans la section Settings , sélectionnez Configuration.
  • Dans le panneau de gauche sous Général, sélectionnez Web.
  • Ouvrez la section Default Pages.
  • Changer show Breadcrumbs for CMS pages to Yes .
  • Lorsque vous avez terminé, cliquez sur Save Config.

 

Comment montrer Breadcrumbs aux pages de CMS dans Magento 2
Comment faire pour arrêter Brute Force Attacks dans Magento 1, 2

Read More