Archive de l'auteur

DNS/SPF – Spam : limitez l’usurpation de vos domaines

1 mars 2010

De nos jours, les pirates n’hésitent pas à usurper des noms de domaine pour envoyer du spam. Outre le fait d’embêter les filtres cela amène parfois à un blocage pur et simple du domaine incriminé, ce qui n’est pas négligeable dans un contexte professionnel : altération et blocage des communications … Une norme expérimentale existe depuis 2006 pour limiter cet impact : Sender Policy Framework (SPF), RFC 4408.

Cette norme n’est autre qu’une entrée DNS qui va permettre de dresser une liste des adresses IP autorisées ou non à envoyer du courriel pour un domaine donné.

De manière plus détaillées, du type TXT (pour la rétrocompatibilité) ou SPF, cette entrée se présente sous cette forme (exemple avec devaproxis.fr) :

devaproxis.fr.          86400   IN      TXT     "v=spf1 +a +mx ~all"

 

Un ensemble (exemple : +mx:192.168.23.12) comprend une action (ici, +), un sélecteur (ici, mx) et une valeur facultative (ici, 192.168.23.12).

Selon la norme, nous retrouvons 4 actions :

  • + : autorisé (pass)
  • ? : neutre (neutral)
  • ~ : suspect (soft fail)
  • - : interdit (fail)

Ces actions sont à utiliser avec une liste de sélecteurs. En voici quelques uns :

  • a : se réfère aux enregistrements DNS de type A
  • mx : se réfère aux enregistrements DNS de type MX
  • ip4 : se réfère à une adresse IPv4
  • ip6 : idem, pour une adresse IPv6
  • all : désigne tout

La valeur est facultative pour les sélecteurs a et mx, auquel cas le domaine courant est sélectionné de manière implicite.

Ce n’est pas clair ? Petite traduction de l’exemple :

  • +a : autorise toutes les entrées DNS de type A du domaine devaproxis.fr (utile pour les serveurs web)
  • +mx : autorise toutes les entrées DNS de type MX du domaine devaproxis.fr (utile, non ? :) )
  • ~all : n’autorise pas (soft fail) les autres adresses IP envoyant du courriel au nom de devaproxis.fr

 

Vous pouvez, bien entendu, mélanger les sélécteurs à votre guise. Autre exemple :

domaine1.org IN v=spf1 +a +a:domaine2.com +mx +ip4:1.1.1.1 ~ip4:8.4.4.8 -all

 

Dans ce cas, nous autorisons toutes les entrées DNS de type A des domaines domaine1.org et domaine2.com ainsi que les entrées DNS de type MX et l’adresse IP 1.1.1.1 à envoyer du courriel au nom de domaine1.org. Cependant, nous n’autorisons pas (soft fail) l’adresse IP 8.4.4.8 et nous rejetons toutes les autres adresses IPs.

 

Tout comme pour le spam, la norme SPF en action se présente sous la forme d’un marquage dans l’en-tête d’un email, calculé par le serveur à la réception. Ainsi, libre à l’administrateur d’appliquer différentes règles : tout marquer mais laisser passer, rejeter le ‘fail‘ ou encore rejeter tout ce qui ne passe pas … Pour exemple, Gmail marque les mails mais ne semble pas filtrer.

Si je n’ai pas été assez (ou pas du tout …) clair ou si vous souhaitez de plus amples informations, visitez cette page.

VN:F [1.8.3_1051]
Rating: 0 (from 0 votes)
  • Share/Bookmark

Microsoft : 5 000 serveurs tout équipés gratuits

26 février 2010

Vous avez des préjugés sur la plateforme d’hébergement Windows ? Vous souhaitez découvrir l’environnement Windows ou tester l’efficacité de PHP dessus sans en payer le prix ? Microsoft met à votre disposition 5 000 serveurs tout équipés gratuits jusqu’au 30 juin 2010.

 

 

Même si vous n’êtes pas sysadmin, profitez de l’offre et des différents pas-à-pas en ligne pour découvrir les solutions d’hébergement sous Windows.

Deux scénarios principaux sont disponibles :

  • Apprendre à gérer son serveur Web (Windows Server 2008 R2)
  • Créer son site avec un gestionnaire de contenu (Drupal, Joomla, Wordpress et DotnetNuke)

 

C’est par ici : Ma Plateforme Web

Au delà du 30 juin, vous pourrez migrer sur une offre commerciale ou tout simplement récupérer la machine virtuelle et la monter chez vous.

 

Enjoy it !

VN:F [1.8.3_1051]
Rating: +2 (from 2 votes)
  • Share/Bookmark

Magento : ajouter un préfixe aux URLs auto-générées

29 janvier 2010

Ah Magento et ses joies … ou pas. Avouez que les URLs auto-générées du style /category.html ou /product.html c’est frustrant si on veut une boutique un tant soit peu « hiérarchisée ».

Dans mon exemple, je dois ajouter collection/ devant les noms de catégories et de produits (exemples : collection/femme, collection/femme/vestes, collection/produit/produit1 …). Première solution : modification à la main … Oubliez, les URLs sont recalculées à chaque vidage du cache. L’unique solution (à défaut d’avoir un paramètre dans le config.xml) reste un petit hack dans le core de Magento. Oui, cela fait peur à première vue mais le résultat tient sur 2 lignes.

Le fichier à modifier est app/code/core/Mage/Catalog/Model/Url.php

Remplacez, ligne 551

return $this->getUnusedPath($category->getStoreId(), $prefix . $parentPath . $urlKey . $categoryUrlSuffix,

 

Par

$prefix = ( $category->getParentId() == x ) ? 'votreprefixe/' : '' ;
return $this->getUnusedPath($category->getStoreId(), $prefix . $parentPath . $urlKey . $categoryUrlSuffix,

Remplacez ‘x’ par l’id de votre catégorie racine et ‘votreprefixe’ par … votre préfixe.

 

Cela ne gère que les URLs de catégories et produits associés [aux catégories]. Pour les produits seuls, veuillez modifier la ligne 577 par :

return $this->getUnusedPath($category->getStoreId(), 'votreprefixeproduit/' . $urlKey . $productUrlSuffix,

 

*** ATTENTION ***, il est très important de garder à l’esprit que ces modifications sont susceptibles d’être perdues lors d’une mise à jour de votre installation.

Il est évident que le mieux pour faire ceci serait que le Core intègre une directive de configuration permettant d’assigner des préfixes (au même titre que les suffixes et extensions) mais bon, on fait avec ce que l’on a. Enjoy it !

VN:F [1.8.3_1051]
Rating: 0 (from 2 votes)
  • Share/Bookmark

Sunday Security Summary #5

24 janvier 2010

Cette semaine s’est placée sous le signe d’une faille de sécurité très critiquée sur Internet Explorer ce qui a valu à Microsoft de sortir un patch plus tôt que prévu. Flash, BIND, Linux et PHPMyAdmin l’accompagnent.

 

 

Système et applicatif

CVE

Application

Version(s)

Détail

CVE-2010-0007 Linux kernel < 2.6.33-rc4 Détournement de privilèges permettant la libre modification des règles de filtrage d’ebtables
CVE-2009-4141 Linux kernel < 2.6.33-rc4-git1 Gain de privilège
CVE-2010-0244, CVE-2010-0245, CVE-2010-0246, CVE-2010-0247, CVE-2010-0248 Internet Explorer 5.01 SP4, 6, 6 SP1, 7, 8 Exécution de code arbitraire et corruption de mémoire
CVE-2010-0027 Internet Explorer 7, 8 Exécution de programme local via l’outil de validation des URLs
CVE-2010-0097 ISC BIND 9.0.x à 9.3.x, < 9.4.3-P5, < 9.5.2-P2, < 9.6.1-P3, 9.7.0b Injection de données (AD flag) sur des réponses valides
CVE-2010-0290 ISC BIND 9.0.x à 9.3.x, < 9.4.3-P5, < 9.5.2-P2, < 9.6.1-P3, 9.7.0b DNS cache poisoning
CVE-2010-0382 ISC BIND 9.0.x à 9.3.x, < 9.4.3-P5, < 9.5.2-P2, < 9.6.1-P3, 9.7.0b Faille de sécurité générée par la correction de CVE-2009-4022, impact inconnu
CVE-2010-0379 Flash Player 6 Exécution de code arbitraire
Note : ActiveX distribué avec Windows XP SP2 et SP3
CVE-2010-0378 Flash Player 6.0.79 Exécution de code arbitraire
Note : ActiveX distribué avec Windows XP SP2 et SP3
CVE-2010-0037 Apple Mac OS X 10.5.8, 10.6.2 Exécution de code arbitraire ou déni de service via l’application Image RAW
CVE-2010-0036 Apple Mac OS X 10.5.8, 10.6.2 Exécution de code arbitraire ou déni de service via l’application CoreAudio

 

Applications web

CVE

Application

Version(s)

Détail

CVE-2009-4605, CVE-2008-7252, CVE-2010-7251 phpMyAdmin 2.11.x < 2.11.10 Attaque CSRF et failles de sécurité à impact inconnu
VN:F [1.8.3_1051]
Rating: 0 (from 0 votes)
  • Share/Bookmark

TechDays 2010 : j’y serai … et vous ?

23 janvier 2010

Pour la quatrième année consécutive, les TechDays prendront place au Palais des Congrès de Paris pour 3 jours de folie. Microsoft France vous donne rendez-vous les 8, 9 et 10 février prochains.

 

 

Venez découvrir de nouvelles technologies ou vous perfectionner sur les produits Microsoft grâce à plus de 300 conférences : de la découverte des nouveautés de Windows 7 en passant par Office 2010 sans oublier le futur de Visual Studio ou encore les solutions de Cloud Computing de Microsoft.

Et si les conférences ne vous suffisent pas, retrouvez près de 140 exposants sur 5 000 m² d’exposition pour découvrir d’autres produits ou faire de nouvelles rencontres professionnelles. Venez également rencontrer les communautés qui partagent leurs passions pour les technologies Microsoft : Microsoft Student Partners, Most Valuable Professional, Microsoft Users Groups, …

L’accès à cet évènement est entièrement gratuit et ouvert à tous !

Plus d’informations et inscription sur http://www.techdays2010.fr/

 

 

 

 

… Et vous ? :)

VN:F [1.8.3_1051]
Rating: 0 (from 0 votes)
  • Share/Bookmark

Sunday Security Summary #4

18 janvier 2010

Petit point habituel de la semaine passée en matière de sécurité, nous avons eu le droit à un Patch Day très court chez Microsoft tandis que la glibc s’invite exceptionnellement avec Windows Live Messenger aux côtés de Joomla et nginx. Ceci étant, je vous épargne le Patch day Oracle ainsi que celui de TYPO3.

 

 

Système et applicatif

CVE

Application

Version(s)

Détail

CVE-2009-4536, CVE-2009-4538 Linux kernel <= 2.6.32.3 Détournement de filtre par un paquet surchargé (driver e1000)
CVE-2009-4537 Linux kernel <= 2.6.32.3 Faille de sécurité permettant un déni de service (driver r8169)
CVE-2009-4355

OpenSSL

<= 0.9.8l,
<= 1.0.0b4

Fuite mémoire permettant un déni de service

CVE-2009-4489 Cherokee < 0.99.32 Exécution de code à distance via une requête HTTP mal formée
CVE-2009-4487 nginx 0.7.64 Exécution de code à distance via une requête HTTP mal formée
CVE-2009-3953, CVE-2009-3954, CVE-2009-3955, CVE-2009-3956, CVE-2009-3957, CVE-2009-3958, CVE-2009-3959 Adobe Reader, Acrobar < 8.2, < 9.3 Exécution de code arbitraire et déni de service
CVE-2010-0278 Windows Live Messenger 14.0.8089.726 Faille de sécurité permettant un déni de service (crash applicatif)
CVE-2010-0015 GNU C Library (glibc, libc6) 2.7 Détournement d’informations des comptes NIS (mots de passe chiffrés)
CVE-2010-0310 Solaris 10 Gain de privilège via Trusted Extensions
CVE-2010-0314 Apple Safari Accès à des données sensibles via la balise <link> dans un contexte d’appel CSS
CVE-2010-0315 Google Chrome Accès à des données sensibles via la balise <link> dans un contexte d’appel CSS
CVE-2010-0249 Microsoft Internet Explorer 6 – 8 Exécution de code arbitraire, faille 0-day exploitée courant Janvier
CVE-2010-0318 FreeBSD 7.1, 7.2 et 8.0 Possibilité de lire ou modifier des fichiers sans autorisation dans un contexte particulier (ZFS)
CVE-2010-0018 Microsoft Windows 2000 SP4, XP SP2-SP3, 2003 SP2, Vista, 2008, 2008 R2 et 7 Patch Day - Exécution de code arbitraire via le moteur de polices de caractères Embedded OpenType (EOT)

 

Web

CVE

Application / Module

Version(s)

Détail

CVE-2009-4598 Joomla / JPhoto 1.0 Injection SQL via le paramètre id
CVE-2009-4599 Joomla / JS Jobs 1.0.5.6 Injections SQL multiples via les paramètres md et oi
CVE-2009-4604 Joomla / Fernando Soares Mamboleto 2.0 RC3 Injection de fichiers PHP via une faille include

 

Voilà pour le 4ème volume du 3S … Have a nice week.

VN:F [1.8.3_1051]
Rating: +1 (from 1 vote)
  • Share/Bookmark

RSA : 768 bits c’est has been, passe à 1024

17 janvier 2010

Il fallait s’y attendre, le 12 décembre dernier une équipe de chercheurs dirigée par T. Kleinjung a réussi à factoriser une clé RSA de 768 bits, le projet aura duré un an et demi.

Pour ceux qui ne connaissent pas, l’algorithme RSA (Rivest Shamir Adleman) est un algorithme de chiffrement asymétrique à clé publique. Cet algorithme a été introduit en 1977 par Ron Rivest, Adi Shamir et Len Adleman.

Je ne vais pas m’étendre sur la présentation de cet algorithme, Wikipedia le fait très bien. Si vous voulez en savoir plus sur le mechanisme de fonctionnement, vous pouvez toujours vous référer à l’article du Site du Zéro.

Partant de ce principe, nous ne pouvons pas parler de "casser" l’algorithme mais de factorisation de clé. La consommation en ressources dépend directement de la taille de clé, sachant que pour une clé 768 bits il faut approximativement 1 500 ans pour la factoriser à l’aide un Opteron 2.20 Ghz. Le résultat final occupe pas moins de 5 To et a demandé plusieurs centaines de machines. Vous trouverez le PDF du projet ici.

Jusqu’en mai 2007, les laboratoires RSA organisaient le concours de factorisation RSA avec un bon prix selon la taille de clé factorisée. Si le concours était encore d’actualité, T. Kleinjung et son équipe auraient touché 50 000 dollars.

Le NIST recommande donc de passer sur des clés d’une taille minimale de 1024 bits. Une hypothèse très controversée indique que les clés de 1024 bits pourraient être factorisées d’ici la fin de l’année étant donné que le rapport puissance de calcul / machine augmente sensiblement. La taille la plus répandue reste 2048 bits, et pour les paranos vive les clés de 4096 bits :)

 

Petite information à part pour les personnes qui se posent des questions au regard de la loi française : sachez que depuis le 21 juin 2004, la Loi pour la Confiance dans l’Economie Numérique a totalement libéralisé l’utilisation des algorithmes de chiffrement à l’intérieur du pays (l’import / export est soumis à certaines règles). Pour plus d’informations sur les règlementations en matière de sécurité des données en France, visitez le site de l’Agence Nationale de la Sécurité des Systèmes d’Information.

VN:F [1.8.3_1051]
Rating: +1 (from 1 vote)
  • Share/Bookmark

PatchDay : Microsoft commence l’année doucement

12 janvier 2010

Les failles seraient-elles en vacances chez Microsoft ? En tout cas, c’est ce qu’on pourrait croire à la vue de cette première compilation mensuelle de bulletins de sécurité  de l’année qui ne comprend … qu’un seul bulletin.

 

 

Bien que noté comme critique, ce bulletin reste en sévérité faible pour toutes les versions de Windows sauf Windows 2000 SP4 :

  • MS10-001 – Critique : Vulnérabilité dans le moteur de rendu des polices Embedded OpenType (EOT) permettant l’exécution de code à distance. Cette faille concerne des applications telles qu’Internet Explorer, Office PowerPoint ou encore Word. Ce bulletin remplace le précédant bulletin MS09-029.

 

Bon patch day :)

 

Source : Microsoft Security Response Center

VN:F [1.8.3_1051]
Rating: 0 (from 0 votes)
  • Share/Bookmark

Zend Framework : Sortie des versions 1.9.7, 1.8.5 et 1.7.9

12 janvier 2010

L’équipe en charge du développement du célèbre framework PHP vient d’annoncer la disponibilité d’une mise à jour pour ses trois branches 1.9, 1.8 et 1.7.

 

Estampillées 1.9.7, 1.8.5 et 1.7.9, ces mises à jour corrigent 6 failles de sécurité découvertes il y a quelques semaines ainsi que près de 40 bugs. Vous retrouverez les changelogs ici, ici et .

Cinq failles de sécurité, principalement des injections XSS et une injection MIME-type, concernent les modules Zend_Json, Zend_Service_ReCaptcha_MailHide, Zend_File_Transfer, Zend_Filter_StripTags et Zend_Dojo_View_Helper_Editor. La sixième faille concerne une inconsistance au niveau de l’encodage utilisé dans de nombreux modules.

La compagnie ajoute que la version 1.9.7 est la dernière release de la branche 1.9 avant la sortie de la version 1.10. Version 1.10 qui, actuellement en alpha, devrait sortir en beta cette semaine puis en version finale un peu plus tard dans le mois.

 

Source : Zend Developer Zone

VN:F [1.8.3_1051]
Rating: 0 (from 0 votes)
  • Share/Bookmark

Magento : encadrer un bloc via les layouts

11 janvier 2010

Magento, mastodonte de l’e-Commerce, se veut être (sans aucun doute) la plateforme la moins bien documentée officiellement. Travaillant actuellement dessus, je ferai part ici de mes quelques astuces qui peuvent vous aider …

Ma première astuce concerne les blocs et les superbes layouts XML. Considérons le bloc statique left_anchor déclaré dans le layout comme suit :

 
      <block type="cms/block" name="left_anchor" as="left_anchor">
       <action method="setBlockId"> <block_id>left_anchor </block_id>
      </action>

Au niveau design, vous devez impérativement encadrer le contenu par un <div id=’LeftAnchor’></div>.

Deux possibilités ‘rapides’ s’offrent à vous : ajouter le conteneur directement dans le contenu du bloc statique ou encore encadrer le $this->getChildHtml(‘left_anchor’) dans le template HTML si vous le pouvez.

Si vous ne pouvez ou ne voulez pas utiliser ces options, il vous reste une troisième alternative : le layout XML. On a à notre disposition un template wrapper.phtml et un type de bloc associé qui nous permet d’encadrer tout et n’importe quoi … Ainsi le layout donne :

<block type="core/template" name="leftanchor" as="leftanchor" template="page/html/wrapper.phtml">
  <block type="cms/block" name="left_anchor" as="left_anchor">
      <action method="setBlockId"><block_id>left_anchor</block_id></action>
  </block>
  <action method="setId"><id>LeftAnchor</id></action>
</block>

 

Concrètement, l’action setId permet de déclarer l’id de la balise. De la même manière, vous avez les actions setTag si vous souhaitez utiliser autre chose que des divs et setParams pour ajouter des paramètres HTML personnalisés (comme une classe CSS, par exemple).

VN:F [1.8.3_1051]
Rating: 0 (from 0 votes)
  • Share/Bookmark