Onext partenaire de l’Université d’été TYPO3 2012

 

 

La 5ème édition de l’Université d’été TYPO3 se déroulera du 25 au 27 juin 2012 au sein de l’école d’ingénieurs Polytech d’Annecy. Cet événement rassemble les utilisateurs de TYPO3, l’un des outils de gestion de contenus web open source les plus utilisés au monde…

Chaque année, la communauté française de TYPO3 se réunit au sein d’une Université d’été pour faire un point sur les nouveautés et se former auprès des experts reconnus. Accueillie cette année par Polytech’Savoie à Annecy, cette rencontre prévoit un programme riche sur 3 jours. Vous pourrez ainsi :

  • Participer à des ateliers et des présentations sur une variété de sujets concernant TYPO3
  • Avoir la possibilité de rencontrer la communauté TYPO3 francophone et internationnale
  • Partager vos connaissances avec d’autres développeurs et utilisateurs
  • Avoir des réponses concrètes à toutes les questions que vous vous posez sur ce puissant CMS !

En savoir plus

 

ONEXT-Groupe SODIFRANCE, partenaire de l’université d’été TYPO3 2012

ONEXT-Groupe SODIFRANCE,   acteur majeur sur TYPO3, présentera deux conférences ; d’une part un retour d’expérience sur le projet en cours de réalisation pour la ville de Caluire et d’autre part, un atelier sur le thème de l’optimisation et l’intégration du moteur de recherche SoLR dans TYPO3.

 

Lundi 25 juin : 15H30 – 16H30

Conférence sur l’utilisation de TYPO3, d’ALFRESCO et d’Active Directory :
Comment conjuguer de la gestion de contenu avec de la gestion documentaire dans un intranet ?

A l’heure du partage des informations, TYPO3 reste un outil très performant pour la partie WEB, mais l’est-il autant pour la GED ? Cette conférence vous propose d’étudier un cas pratique : la mise en place de l’INTRA/EXTRAnet de la Ville de Caluire autour de TYPO3 (pour le contenu), d’Afresco (pour la GED), le tout connecté avec l’annuaire de la Ville (Active Directory). Cette conférence couvrira les aspects techniques, logiques et architecturaux d’un tel projet.

Cette conférence sera suivie d’un témoignage client : Olivier Salivet, Responsable des Systèmes d’information de la ville de Caluire

 

Mardi 26 juin : 13H30 – 15H30

Atelier : Cas concret sur le moteur de recherche SOLR :
Comment optimiser son utilisation dans TYPO3 ?

Dans le cadre d’un projet de démonstration, nous montrerons comment installer, configurer et maintenir SOLR avec TYPO3 pour un site ayant besoin d’indexer des éléments aussi variés que les actualités, l’agenda, les documents du DAM (Bibliothèque de Ressources Numériques)

 

Infos pratiques

Accès, programme et renseignements, rendez-vous sur le site officiel de l’université d’été TYPO3 :
http://t3uni.typo3-fr.org

TYPO3 et la sécurité Volet3: Sécuriser son passage de paramètre

Les fonctions PHP


      • htmlentities ( convertis les caractères éligible en entité HTML)
      • htmlspecialchars (convertis les caractères spéciaux HTML)
      • Utilisation de l’écriture dans un fichier temporaire
      • Utilisation de certaines expressions régulière sur des cas précis


Utiliser le pi_base de TYPO3


      • Déclaration d’un paramètre GET ou POST : tx_monextension_pi1[parametre]
      • Récupération de ce paramètre dans le code de mon extension :
      • $this->piVars[parametre]


TYPO3 et la sécurité Volet2: Les accès à la base de données

Après l’introduction fait dans le premier volet, ce deuxième opus commence à entrer dans vif du sujet. En effet nous allons aborder les accès à la base de données.

La première des techniques : éviter la mise en commentaire par le «–» et le «UNION»

  • «mysql_real_escape_string»; cela permet d’ajouter par exemple « \’ »devant toute tentative d’injection avec :
  • «UNION»
  • «– SELECT»
  • «intval» : pour assurer le passage d’une variable numérique et éviter le «–»

Utiliser les fonctions suivantes du FRAMEWORK de TYPO3

  • exec_INSERTquery / exec_UPDATEquery / exec_SELECTquery …
  • « fullQuoteStr / fullQuoteArray / quoteStr », fourni une utilisation du addslashes()

TYPO3 et la sécurité Volet1: Rappel sur les différents types de failles

Déjà la fin de l’été et une université d’été TYPO3 déjà loin, mais bon il faut profiter de la rentrée pour faire des petits rappels. Nous allons donc aborder un des sujets traités durant cette université, sur les bonnes pratiques en terme de développements et d’intégration de TYPO3 dans le respect des règles de sécurité de base.

Tout d’abord, il est bon de faire un rapide rappel sur les différentes failles de sécurité auquel nous sommes confrontés, la première règle d’or c’est : « Maitriser les techniques d’attaques permet de mieux appréhender les contraintes de développement.

Cross-site Scripting ou XSS :

Insérer des données arbitraires via POST et GET:

  • Faille du DOM (coté clients – le javascript)
  • Faille basé sur le non traitement des URL, données directement exploitées sans être encodées
  • Injection de code

Ces trois types de faille peuvent être évités en utilisant de bonne pratique de développement :

  • retraitement des URL
  • contrôle des paramètres POST et GET avec une réécriture des caractères spéciaux
  • suppression des balises à risque en PRE traitement

SQL Injection :

Technique de hacking qui consiste à injecter dans les paramètres POST et GET via une faille XSS des éléments SQL en vue d’obtenir des informations contenues dans la base de données.

Le fishing (ou hameçonnage ou filoutage) :

Technique qui permet de récupérer des informations personelles pour usurper l’identité.
La technique consiste à faire croire à un internaute qu’il s’adresse à un site, une adresse de confiance afin que celui-ci fournisse des renseignements tels que :

  • identifiant/mot de passe
  • numéro de compte
  • numéro de carte de crédit
  • etc.

Généralement ces attaques se font soit à partir de mail soit par des sites web (avec de pages cachées).

Le déni de service :

Cette attaque à pour but de rendre indisponible le service et d’empêcher les utilisateurs légitimes d’un service de l’utiliser.
Celle-ci peut se baser sur :

  • L’  « exploitation de limite machine », c’est à dire l’envoi massif de paquet de type ICMP dépassant la taille classique. Lorsque la taille d’un paquet est plus élevée, les piles IP traitent ces paquets de manière plus lente et font donc augmenter l’utilisation CPU
  • Le « flooding ou UDP Flooding » c’est à dire l’injection de requête massive sur un réseau afin de saturer voir d’empêcher son fonctionnement.
  • Le « SYN Flood » c’est à dire l’injection importante de demande de synchronisation TCP incomplète avec un serveur. Cela a pour objectif d’augmenter le délai d’attente de réponse avec pour issue le crash.
  • Le « Packet Fragment » c’est à dire l’utilisation des faiblesses dans l’implémentation de certaines piles TCP/IP au niveau de la fragmentation IP. Cela a pour objectif le crash des systèmes et/ou des appareils réseau intelligents
  • Le « Smurfing » c’est à dire l’envoi un paquet ICMP à une adresse de brodcast. Cela a pour objectif de créer une énorme quantité de trafic entre les équipements

En synthèse on peut dire que le déni de service à trois objectifs majeurs :

  • Le blocage d’accès à un service pour une à plusieurs personnes.
  • La saturation d’un réseau afin d’empêcher son fonctionnement
  • La perturbation des connexions entre deux machines et/ou équipement, empêchant l’accès à un service en particulier ou une branche de réseau.
  • Le blocage d’accès à un service pour une à plusieurs personnes.

Comment intégrer le SSO CAS dans Liferay 5.2

Nous allons aborder un sujet qui est très utilisé dans les solutions Liferay.

L’intégration de Liferay avec le serveur d’annuaire LDAP et le serveur d’authentification centralisée, CAS.

Cette intégration prendra en compte la version communautaire Liferay 5.2.3. Depuis la version 5.2 de Liferay, toutes les configurations se trouvent dans le fichier « portal-ext.properties » et peuvent aussi se faire via l’interface graphique. Les données présentes dans le fichier « properties » seront utilisées que lors du premier lancement de Liferay. Les données sont ensuite sauvegardées en base, et lors des modifications dans l’interface, ce sont les données de la base qui sont modifiées. Si on redémarre le serveur, ce sont les données de la base qui sont utilisées.

Intégration LDAP

Nous allons d’abord commencer par l’intégration du serveur d’annuaire en expliquant la configuration via le fichier « properties » puis via l’interface graphique.

Liferay peut s’intégrer avec différents types de serveurs d’annuaire. Ici nous allons utiliser l’annuaire LDAP.

Le fichier « portal-ext.properties » permet de configurer de manière très détaillée le LDAP pour Liferay. Nous allons détailler ici que les principaux éléments à configurer.

ldap.base.provider.url=ldap://urlldap:389 URL de l’annuaire LDAP

ldap.base.dn=dc=xxxxx,dc=xx      Le base DN de l’annuaire LDAP

ldap.security.principal=cn=admin,dc=xxxxx,dc=xx login du compte admin pour le LDAP

ldap.security.credentials=motdepasse mot de passe du compte admin

ldap.auth.enabled=true Permet d’activer l’authentific                  ation LDAP si ce paramètre est à false l’authentification se fera via la base de données de liferay.

ldap.auth.required=true Ce paramètre permet de render l’authhentification LDAP obligatoire. Si l’utilisateur ne se trouve pas dans le LDAP, l’authentification échouera.

ldap.import.enabled=true Permet d’activer l’importation des utilisateurs du LDAP.

ldap.import.on.startup=true Permet d’effectuer un import lors du demurrage du serveur.

ldap.import.interval=10 Permet de déterminer la fréquence des importations

ldap.import.user.search.filter=(objectClass=inetOrgPerson) Permet de définir le filter de recherche des utilisateurs (Requête de recherche LDAP)

ldap.import.group.search.filter=(objectClass=groupOfUniqueNames) Permet de définir le filter de recherche des utilisateurs (Requête de recherche LDAP)

ldap.user.mappings=screenName=uid\nlogin2=extuid\npassword=userPassword\nemailAddress=mail\nfirstName=givenName\nlastName=cn\norganisme=o\ncentre=centre\nville=l\ngroup=groupMembership Permet de définir le mapping des utilisateurs, le mapping est fait entre les champs du LDAP et ceux de la base de données correspondant à l’utilisateur.

ldap.import.method=user|group Permet de définir la méthode d’importation des données à partir de l’annuaire. On peut prioriser l’importation des utilisateurs ou des groupes. Ceci implique des modifications de l’architecture LDAP : Si on priorise les utilisateurs, l’information de groupe devrait se trouver au niveau des utilisateurs dans un champ de type memberOf, et si on priorise les groupes, l’information d’appartenance se trouve donc au niveau du groupe dans un champ de type uniqueMember ou member.

ldap.export.enabled=false Permet d’activer l’exportation des données de Liferay vers le LDAP.

Toutes ces configurations se retrouvent au niveau du « control panel » de Liferay sous le menu « Configuration » (à gauche) puis « Authentification » (à droite) et sous l’onglet LDAP.

Une fois la configuration effectuée, on peut s’authentifier dans Liferay avec les utilisateurs issus de l’annuaire LDAP.

Intégration CAS

Comme pour le LDAP, nous allons aborder la configuration du CAS via le fichier « portal-ext.properties » et ensuite avec l’interface graphique.

Depuis la version 5.2 de Liferay, les jar permettant d’utiliser le service CAS sont intégrés, ainsi que les déclarations des filtres dans le fichier web.xml de Liferay. Ce qui évite de la faire et permet de gagner du temps.

L’utilisation du CAS va donc se résumer à la configuration du serveur au niveau de Liferay.

Les éléments du fichiers properties permettant cette configuration sont détaillés ci-dessous :

cas.auth.enabled=true Permet d’activer l’authentification via le CAS

cas.import.from.ldap=true Permet d’indiquer si le CAS doit se baser sur le LDAP pour l’authentification.

cas.login.url=https://url.cas/login Indique l’URL de login du CAS

cas.logout.url=https://url.cas/logout Indique l’URL de logout du CAS

cas.server.name=localhost:8080 Indique le nom du serveur sur lequel se trouve le CAS.

cas.service.url= Indique l’URL de service d’authentification du CAS

cas.validate.url=https://url.cas/serviceValidate Indique l’URL du service qui valide l’authentification du CAS.

Toutes ces configurations se retrouvent au niveau du « control panel » de Liferay sous le menu « Configuration » (à gauche) puis « Authentification » (à droite) et sous l’onglet CAS.

Comme on peut l’imaginer, il est possible d’utiliser ces deux technologies de manière indépendante, en ne les activant pas simultanément.

Alex V.

Onext à l’université d’été TYPO3

Comme chaque année depuis 3 ans maintenant, Onext sera présent à l’Université d’été TYPO3 qui se déroulera du 28 juin au 2 juillet.

Au sommaire de cette semaine :

  • Présentation/installation de TYPO3 pour les débutants
  • Accessibilité autour du CMS
  • Diverses interventions d’un expert Internationnal (Dmitry Dulepov)
  • Les nouvelles fonctionnalités des dernières versions seront détaillées.
  • Des échanges possibles avec différents experts

Onext vous propose de venir assister à 2 conférences effectuées par Nicolas Garabédian, directeur technique chez Onext.

Voici les thèmes abordés lors de ses conférences :

-    optimisations possibles autour de TYPO3, jeudi 1er juillet à 10h30
-    bonnes pratiques à mettre en place pour sécuriser son CMS favori, jeudi 1er juillet à 14h00

Découvrez le programme complet ici

Retrouvez-nous à Annecy, il reste encore quelques places si vous souhaitez vous inscrire.

Vous pouvez aussi consulter notre communiqué de presse.

Onext sur le salon Documation

Depuis hier, ONEXT est présent sur le salon Documation aux côtés de la société Blue XML. Le salon Documation est aujourd’hui le Rendez-vous incontournable de la gestion de contenus et des documents.

C’est pourquoi ONEXT cette année a décidé d’être présent sur le stand de son partenaire Blue XML. En effet depuis maintenant deux ans ONEXT utilise dans la majeure partie de ses projets Alfresco les outils SIDE dont Blue XML est l’éditeur. Cette méthode d’intégration Alfresco est basée sur le MDA (Model Driven Application); c’est à dire la capacité de générer du code par les modèles. Par conséquent, cet outil permet :

- de faire des gains de productivités, et donc d’être compétitif  dans nos réalisations,

- d’assurer la pérennité des développements

- d’assurer la qualité des développements

- de fournir une agilité dans les évolutions de l’application

- de mieux appréhender les nouvelles versions d’Alfresco et l’introduction de nouveaux frameworks

Venez donc nous rejoindre pour une présentation et une démonstration de nos intégrations sur le stand Blue XML/F25

Demain commence Solution Linux!

Et Oui, c’est demain que commence la 11 ème édition de Solution Linux, le salon européen dédié à Linux et aux logiciels libres. Comme chaque année Onext participe à cet évènement aux côtés d’Alliance Libre, pôle d’expertise en logiciels libres de la région nantaise.

Vous pouvez donc venir nous voir sur le village Alliance libre (Stand E26/F25).

Lors de cet évènement, ONEXT présentera :

- La version 4.3. de TYPO3,
- Une étude de cas montrant l’intégration de Liferay et d’Alfresco (en collaboration avec notre partenaire Blue XML),
- Un atelier dédié à l’accessibilité Web

    Tout au long de l’évènement, nous vous tiendrons informés…… suivez nos billets…..

    Le blog Onext en ligne !

    Le blog d’Onext est en ligne !

    Il sera régulièrement mis à jour par les équipes d’Onext.

    Vous y trouverez des articles sur TYPO3, Liferay, Alfresco, Drupal, mais aussi de l’actualité par rapport au monde du web.