Architecture et infrastructure Web

flippantmewlingSecurity

Jun 19, 2012 (5 years and 2 months ago)

430 views

Architecture et infrastructure Web
par 
Patrice Caron
http://www.patricecaron.com
pcaron@patricecaron.com
Ordre du jour
Entreprises / Gouvernements
Introduction: 
Architecture orientée services?
Quelques concepts d'architecture et 
d'infrastucture
Exemple d'infrastructure Web 
«ouverte» 
intégrant des composantes
 «fermé»
       
«Bâtir autour de standards ouverts ?»
   
«Comprenez ce que l'OpenSource à pour vous.»
    
«Ne vous laissez pas dicter les règles !»
Ordre du jour
Défis
Entreprises / Gouvernements
Défi d'intégration et d'intéropabilité 
d'environnement hétérogène
Défi d'intégration B2B, B2C, A2A
Défi d'entreprise ouverte
Défi lié à la dé­périmétrisation du système 
d’information
Architecture orientée
services
Architecture orientée services (AOS)
Anglais: Service Oriented Architecture (SOA)
Modèle d'interaction applicative qui met en œuvre 
des services
avec une forte cohérence interne (format d'échange 
XML)
couplages externes « lâches » (couche d'interface 
interopérable, souvent un service web WS­*)
Architecture orientée
services
Composant clef: le service
Le service est l'unité atomique
Une application est un ensemble de services qui 
dialoguent entre eux
Le service est codé dans n'importe quel langage
Le service s'exécute sur n'importe quelle plate­
forme (matérielle et logicielle)
Les Services Web
Cadre commun d'interopérabilité
Ministère des services gouvernementaux
«Les services Web forment une technologie
émergente permettant à des applications de
dialoguer à
distance via internet, et ce, indépendamment des
plates-formes sur lesquelles elles reposent. Les
services Web visent à réduire les problèmes
d’interopérabilité en permettant à des applications
de
communiquer directement entre elles et d’échanger
des données indépendamment de leur
localisation, des systèmes d’exploitation ou des
langages utilisés.»
Architecture orientée
services
On ne peut pas vraiment parler
d'architecture orientée services (SOA)
sans parler de
gouvernance
et de
processus
Aspect marketing des SOA
Par contre, on peut parler d'architecture et
d'infrastructure technologique en vue
d'offrir des services orientés sur le Web en
s'inspirant des grands principes des SOA.
Quelques concepts
Architecture multi niveau (N-Tier)
Haute disponibilité
Séparation en couche
Sécurité
N-Tier
Pare feu applicatif
Système d'authentification unique (SSO)
Service mandataire
Portail de service
Application composite
Plate forme applicative
Architecture
multi niveau
Haute disponibilité
Une des fonctions les plus importantes est de
permettre la haute disponibilité de service:
Infrastructure:
redondance matérielle
Processus:
réduire erreurs accélérer la
reprise
Haute disponibilité
Permet la
répartition de charge
entre
plusieurs serveurs
Permet une
tolérance aux panne
s en cas de
défaillance matériel ou logiciel
Permet l'ajout de nouveaux serveurs
à la
demande
afin d'augmenter la puissance de
calcul de la «grappe» sans impact majeur sur
l'architecture
Permet de
faciliter les entretiens
sans
empêcher le service de fonctionner
Architecture
multi niveau

Chaque niveau ne communique qu'avec ses voisins immédiats
Sécurité
N-Tier
Permet d'améliorer la sécurité des services en
structurant/atomisant les intégrations entre
les différentes couches d'un système
Permet de faciliter la compréhension des
échanges grâce à la mise en pratique de
principe de modularité/couplage faible
Sécurité
Pare feu applicatif/Firewall Applicatif
Web
Historiquement, sécurité autour du réseau
Le risque est maintenant au niveau applicatif (XSS,
Injection, logique et plus).
Pare feux applicatif spécialisés dans le protocole HTTP
Permet de filtrer les requêtes entrants(signature et
comportenant d'attaque) ainsi que les
réponses(retour d'erreur d'application)
Négatif
(acceptera toutes)
/Possitif
(refusera toutes)
Complète la révision de code
Logiciel vs matériel
SSL
Authentification
Système d'authentification unique (SSO)
Éviter les authentifications multiple
Évolue vers des mécanismes d'authentification
«externalisés»
Tendance d'abandonner une démarche
«lourde» pour une démarche «légère» basée
sur les Web Services
Vers des mot de passe qui ne circule plus
entre les applications
(ticket à usage unique)
Authentification
Méta répertoire
Répertoire central:
Convergence de
l’information d’identité dans tous les stockages
d’identité connectés dans l’entreprise
Information sur les employés, clients, partenaires.
Nécessaire pour SSO
Standard LDAP
Service mandataire (Proxy)
Proxy/reverse proxy
Relayer des requêtes entre un poste client et
un serveur / entre un serveur et un serveur
Un proxy est spécialisé dans un protocole
(http, xmmp, ldap, smtp, etc.)
Permet généralement:
mémoire cache ;
la journalisation des requêtes (« logging ») ;
la sécurité
le filtrage
Portail de service
Point d'entrée unique
Point d'entrée unique pour les utilisateurs
authentifié vers des ressources / services /
applications
Espaces de publication
Personnalisation des contenus
Première aspect: Le self service
Notion de portail d'intégration
SSO
Application composite
(Mashup)
Combine du contenu ou du service provenant de plusieurs
applications plus ou moins hétérogènes
Site Web:
le principe d'un mashup est d'
agréger
du
contenu provenant d'autres sites, afin de créer un site
nouveau
(RSS, AJAX, Web Service, etc.)
Présentation:
Combinent des éléments de sources multiples
masqué dernière une GUI. Le plus connu (Google Maps)
Données:
Mélange provenant de différentes source pour
présenter sous forme graphique ou non
Commerce/public:
Hydride présentation/données. Résultat final
une application complète.
Entreprise:
Hydride avec couche collaborative(workflow). Source
internes et externes. Application complète dans le cadre
entreprise.
Plate forme applicative
Software platform
Plusieurs logiciels particuliers destinées à
s'intégrer avec des applications / services /
portails
ECM, CMS, BI, GroupWare, GéoLocalisateur,
VOIP, application maison, etc. etc.
Cas d'infrastructure Web
Un cas commun
Gouvernements / Entreprises
Monde Oracle, Novell, Solaris et plus
Besoin d'ouverture du système d'information
Évolution vers un monde autour de les standards 
ouverts
Vivre avec certains lègues. 
Voir utiliser les forces?
Infrastructure technologique Web
Lègue
Sun
Offre:
Système d'exploitation UNIX
Gestion d'identité/SSO
(SunOne)
Serveur/développement d'application
(Autour de Java)
Dans beaucoup de cas Solaris est présent comme plate
forme UNIX
Aujourd'hui
Linux
s'impose
Les lègues
Oracle
Offre:
Base de données (SGBD)
Gestion d'identité/SSO
(OID, etc.)
Serveur/développement d'application (F
orms, htmlBD,
APEX, reports)
Etc.
Souvant utilisé:
SGBD, OID, Forms
Le SGBD demeure intéressant et bien supporté (Java,
PHP, etc.)
Novell
Novell
Offre:
Gestion poste (ZenWorks, GroupWise)
Système d'exploitaton (NetWare)
Gestion d'indentité/SSO
(Ichains/AM/Edir)
OS:
Novell à pris un virage avec Suse Linux
SSO:
iChains devient Access Manager (AM)
edirectory est le méta répertoire d'entreprise et
supporte LDAP
Open Source
À votre service
Linux, Apache, MySQL PHP
Et encore Apache:
Reverse proxy, mod_security
OpenLdap
Central authentification service
Typo3
Memcached
Java, Tomcat
file:///Users/pcaron/phpconf/res/mysql.jpg
file:///Users/pcaron/phpconf/res/php.jpg
file:///Users/pcaron/phpconf/res/tomcat.jpg
file:///Users/pcaron/phpconf/res/typo3.jpg
file:///Users/pcaron/phpconf/res/linux.jpg
file:///Users/pcaron/phpconf/res/apache.jpg
file:///Users/pcaron/phpconf/res/casLogo.jpg
file:///Users/pcaron/phpconf/res/java.jpg
Open Source
LAMP
Linux, Apache, MySQL PHP
(On ne présente pas ça)
Virtualisation
Zend Core for Oracle
Oracle
APC
Memcached
Open Source
Apache +
Reverse proxy:
Proxy HTTP placé en frontal de
serveurs web
mod_security:
Extension Apache qui permet
d'analyser les requêtes HTTP, et de détecter
certaines attaques potentielles sur les
applications Web qu'Apache peut héberger ou
qu'Apache peut protéger en mode reverse proxy
Open Source
OpenLdap
OpenLdap en mode proxy vers eDirectory
Permet de limiter l'accès à des branches
Permet réécriture d'attributs
Permet de la cache
Évite de synchroniser des annuaires
Open Source
Central authentification service
CAS est un système d'authentification unique
Basé sur des requêtes HTTP
Notion d'échange de tickets, un peu à la manière
de Kerberos
Nombreuses bibliothèques et cliendt CAS (PHP,
Java, Pl/SQL, .NET, module apache, PAM, etc.)
Open Source
Typo3
Web CMS de type portail
Typo3 comme portail de service
Portail d'intégration / service web
Ldap/SSO
Open Source
Java/Tomcat
Beaucoup et de plus en plus de projet de
OpenSource de qualité tourne autour de
Java.
Infrastucture
N­Tier
Publique
Internet, pare jeux principale
Présentation
SSL: Passage HTTPS vers HTTP
Firewall applicatif
Répartiteur de charge
Réverse proxy/Réécriture HTML
Serveur de présentation
Proxy CAS
Application
Cas
Proxy LDAP
Serveur d'application (PHP, Typo3, Java, 
etc.)
Serveur de cache (Pour PHP)
Interne
Edirectory
Base de données(Oracle, MySQL)
SAN
Conclusion
Principes évolutifs et adaptable selon le contexte
En construisant autour de 
standards ouverts
 on obtient une plus 
grande 
modularitée
 du système d'information.
Exemple:
 En se basant sur le protocole LDAP, il sera possible de 
remplacer eDirectory sans impact majeur sur l'infrastructure Web.
Exemple
: La plupart des solutions de cette présentation, sont 
interchangable. 
Software vers hardware, propriétaire vers libre, 
etc.
Profiter du monde des 
Logiciels Libres
 et de 
l'OpenSource
 
intelligement 
À double sens
Adapter à votre situation!
Sujet d'intérêt:
 
BPMS
(Voir le projet OpenSource Intalio)
Conclusion
Pour terminer avec les «SOA»
BPMS
 (Voir le projet OpenSource Intalio)
Conclusion
 
«Bâtir autour de standards ouverts, c'est possible?»
   
«Comprenez ce que l'OpenSource à pour vous.»
    
«Ne vous laissez pas dicter les règles, autrement les fournisseurs 
dictes les leurs !»
file:///Users/pcaron/phpconf/res/java.jpg
file:///Users/pcaron/phpconf/res/mysql.jpg
file:///Users/pcaron/phpconf/res/php.jpg
file:///Users/pcaron/phpconf/res/tomcat.jpg
file:///Users/pcaron/phpconf/res/typo3.jpg
file:///Users/pcaron/phpconf/res/zend.jpg
file:///Users/pcaron/phpconf/res/linux.jpg
file:///Users/pcaron/phpconf/res/apache.jpg
file:///Users/pcaron/phpconf/res/casLogo.jpg
Questions
???
http://www.patricecaron.com
pcaron@patricecaron.com
Webographie
WIKIPEDIA
http://fr.wikipedia.org/wiki/Architecture_orient%C3%A9e_services
http://fr.wikipedia.org/wiki/XML
MSG: Cadre commun d'interopérabilité
http://www.msg.gouv.qc.ca/fr/administration/standards/cadre.asp
  
L'Architecture d'Entreprise concrétise les promesses technologiques de SOA
http://tinyurl.com/alrxgo
  
Bien choisir son Firewall Applicatif Web (WAF)
http://fr.securityvibes.com/choisir­firewall­applicatif­web­article­942.html