Archi web
Archi web
Archi web
WEB
Sommaire
•
o
o
o
o
•
o
o
•
o
•
o
•
o
o
C'est quoi le réseau ?
Transmission Control Protocol/Internet Protocol, est un ensemble de protocoles de communication utilisés pour
interconnecter des réseaux informatiques sur l'Internet et de nombreux autres réseaux locaux.
Il constitue le fondement de la communication sur Internet et assure la transmission fiable des données entre des
dispositifs connectés sur un réseau.
TCP/IP
TCP/IP
• TCP
La fiabilité
• TCP est un protocole orienté connexion qui garantit une
transmission fiable des données. Il s'assure que les données
sont reçues dans l'ordre correct et qu'il n'y a pas de perte
d'informations lors de la transmission
TCP/IP
• Le contrôle de Flux
Internet Protocol
• IP est responsable du routage des données à travers le réseau en attribuant des adresses uniques à chaque dispositif
connecté. Il définit la manière dont les données sont fragmentées, adressées et acheminées d'un nœud à un autre sur le
réseau.
Internet Protocol
• Il existe deux versions principales d'IP, à savoir IPv4 (Internet Protocol version 4) et IPv6 (Internet Protocol version 6). IPv4
utilise des adresses composées de 32 bits, tandis qu'IPv6 utilise des adresses de 128 bits, permettant ainsi un espace
d'adressage beaucoup plus vaste.
Internet Protocol
Le module OSI
L'adressage
L'adressage
Les environnements
•
Les environnements
•
Les environnements
• Back-end
Les environnements
La relation entre une base de données (BDD) et un serveur web est généralement celle d'un système client-serveur, où le serveur web agit
comme le client de la base de données.
Serveur Web : Le serveur web est responsable de traiter les requêtes HTTP (Hypertext Transfer Protocol) des clients, généralement des
navigateurs web, et de renvoyer les réponses correspondantes. Il s'occupe de servir des pages web dynamiques ou statiques, en fonction des
besoins de l'application web. Le serveur web peut être Apache, Nginx, IIS, etc.
Base de Données : La base de données est un système de stockage structuré conçu pour stocker, organiser et récupérer des données de
manière efficace. Les données peuvent être stockées sous forme de tables, de documents, de graphiques, etc., selon le type de base de
données utilisé (SQL, NoSQL, etc.). Les bases de données populaires incluent MySQL, PostgreSQL, MongoDB, etc.
Les bases de données
La relation entre le serveur web et la base de données se produit généralement lorsque le serveur web doit récupérer ou stocker des données
pour répondre à une requête HTTP. Voici comment cela se passe typiquement :
Traitement de la Requête : Le serveur web reçoit une requête HTTP d'un client, par exemple un navigateur web.
Accès à la Base de Données : Si la requête nécessite des données provenant de la base de données (par exemple, afficher des informations
utilisateur depuis une base de données), le serveur web établit une connexion avec la base de données correspondante.
Exécution de Requêtes : Le serveur web envoie des requêtes SQL (Structured Query Language) à la base de données pour récupérer, insérer,
mettre à jour ou supprimer des données, selon les besoins de la requête HTTP.
Traitement des Réponses : La base de données renvoie les résultats des requêtes SQL au serveur web.
Génération de Réponse HTTP : Le serveur web utilise les données récupérées de la base de données pour générer une réponse HTTP, qui est
ensuite renvoyée au client.
Le cloud
Dans le contexte de l'architecture web, le cloud computing est une approche qui
consiste à utiliser des ressources informatiques (comme des serveurs, du
stockage, des bases de données, etc.) via Internet, plutôt que de les posséder
physiquement sur site.
Hébergement Web : Plutôt que de déployer et de gérer des serveurs physiques sur site, les entreprises peuvent utiliser des services
d'hébergement web dans le cloud pour déployer leurs sites web. Les fournisseurs de cloud proposent des solutions d'hébergement web
flexibles et évolutives, telles que des instances de machines virtuelles, des conteneurs ou des services de plateforme (PaaS) pour héberger des
sites web.
Extensibilité : Le cloud permet une extensibilité aisée des ressources en fonction des besoins. Les entreprises peuvent rapidement augmenter
ou diminuer la capacité de calcul, de stockage ou de bande passante en fonction du trafic du site web, sans avoir à investir dans du matériel
supplémentaire. Cette élasticité permet de faire face aux pics de charge et d'optimiser les performances du site.
Le cloud
Redondance et Haute Disponibilité : Les fournisseurs de cloud offrent généralement des services de redondance et de haute disponibilité
pour garantir que les sites web restent disponibles en cas de défaillance matérielle ou de catastrophe. Ils répartissent les charges de travail sur
plusieurs serveurs ou centres de données géographiquement dispersés pour minimiser les temps d'arrêt et assurer une disponibilité continue.
Sécurité : Les fournisseurs de cloud proposent des services de sécurité avancés pour protéger les données des sites web contre les menaces
telles que les attaques DDoS (Distributed Denial of Service), les intrusions, les violations de données, etc. Ils mettent en œuvre des mesures de
sécurité telles que le chiffrement des données, les pare-feu, la détection des menaces, etc.
Services Managés : En plus de l'hébergement, les fournisseurs de cloud offrent une gamme de services managés qui simplifient le
déploiement et la gestion des applications web. Cela peut inclure des services de base de données managés, des services de mise en cache,
des services de surveillance, des services de sauvegarde, etc.
Le cloud
Dans les slides suivantes, voici les quelques un des principaux dangers
que vous pouvez retrouver dans un contxte d'architecture web
La sécurité
Cyberattaques : Les cyberattaques, telles que les attaques par injection SQL, les attaques par déni de service distribué (DDoS), les attaques de
phishing, les ransomwares, etc., peuvent compromettre la sécurité des sites web et des données des utilisateurs.
Vulnérabilités des Applications : Les vulnérabilités dans le code des applications web peuvent être exploitées par des attaquants pour
accéder illégalement à des données sensibles, exécuter du code malveillant ou perturber le fonctionnement normal des applications.
Fuites de Données : Les fuites de données peuvent se produire lorsqu'une application web est mal configurée, lorsqu'il y a des failles de
sécurité ou lorsque des attaquants exploitent des vulnérabilités pour accéder à des données confidentielles telles que des informations
personnelles, des identifiants de connexion, des informations financières, etc.
La sécurité
Perte de Confidentialité : Les applications web peuvent collecter et stocker une grande quantité de données utilisateur. En cas de violation de
la sécurité, ces données peuvent être exposées, compromettant la vie privée et la confidentialité des utilisateurs.
Altération ou Destruction de Données : Les attaquants peuvent modifier ou supprimer des données critiques stockées sur les serveurs web,
entraînant une perte d'intégrité des données ou des dommages importants pour les entreprises ou les utilisateurs.
Indisponibilité du Service : Les attaques DDoS et d'autres incidents peuvent rendre un site web indisponible, entraînant une perte de revenus,
une diminution de la réputation de l'entreprise et des inconvénients pour les utilisateurs.
Phishing et Ingénierie Sociale : Les attaquants peuvent utiliser des techniques de phishing et d'ingénierie sociale pour tromper les utilisateurs
et les inciter à divulguer des informations sensibles telles que des mots de passe, des identifiants de connexion, etc.
La sécurité
Pour atténuer ces dangers, les entreprises et les développeurs doivent mettre en
œuvre des pratiques de sécurité robustes, telles que la gestion des identités et des
accès, la validation des données d'entrée, le chiffrement des données, la
surveillance continue de la sécurité, les mises à jour régulières des logiciels, etc. De
plus, la sensibilisation à la sécurité et la formation des utilisateurs sont également
essentielles pour réduire les risques liés aux activités en ligne.
Sécuriser une infrastructure dans le contexte de l'architecture web est essentiel pour protéger les données, les systèmes et les utilisateurs contre les
cyberattaques et les menaces en ligne, voici quelques points clés
Mise à jour des logiciels : Assurez-vous que tous les logiciels, y compris le système d'exploitation, les serveurs web, les bases de données et les
applications tierces, sont régulièrement mis à jour avec les derniers correctifs de sécurité pour corriger les vulnérabilités connues.
Firewalls et Pare-feux : Configurez des pare-feux pour filtrer le trafic réseau entrant et sortant, en autorisant uniquement le trafic autorisé et en
bloquant les connexions non désirées ou suspectes.
Gestion des Identités et des Accès (IAM) : Mettez en place des politiques de gestion des identités et des accès pour contrôler qui peut accéder aux
ressources et aux données sensibles. Utilisez des mécanismes d'authentification forte, tels que la double authentification, lorsque cela est possible.
La sécurité
Chiffrement des Données : Chiffrez les données sensibles en transit et au repos pour empêcher les attaquants d'intercepter ou de compromettre les
informations confidentielles. Utilisez des protocoles de chiffrement tels que TLS/SSL pour sécuriser les communications web.
Sécurité des Applications : Effectuez des tests de sécurité réguliers, tels que des analyses de vulnérabilités et des tests d'intrusion, sur les applications
web pour identifier et corriger les failles de sécurité potentielles dans le code.
Surveillance et Détection des Menaces : Mettez en place des outils de surveillance des journaux et des activités pour détecter les comportements
suspects ou les tentatives d'intrusion. Utilisez des systèmes de détection des intrusions (IDS) et des systèmes de prévention des intrusions (IPS) pour
répondre rapidement aux menaces.
Sauvegardes Régulières : Effectuez des sauvegardes régulières des données critiques et testez régulièrement la restauration des sauvegardes pour
vous assurer qu'elles sont opérationnelles en cas de besoin.
Sensibilisation à la Sécurité : Sensibilisez les utilisateurs et le personnel à la sécurité des informations, en mettant en place des formations sur les
bonnes pratiques de sécurité, les menaces courantes et les techniques d'ingénierie sociale.
La sécurité
Politiques de Sécurité : Élaborez et mettez en œuvre des politiques de sécurité claires et bien définies, décrivant les mesures de sécurité à suivre et les
conséquences en cas de non-respect de ces politiques.
Audit et Conformité : Effectuez des audits réguliers de sécurité pour évaluer l'efficacité des mesures de sécurité mises en place et assurez-vous que
votre infrastructure est conforme aux normes et réglementations applicables en matière de sécurité des données.
En mettant en œuvre ces mesures de sécurité, les entreprises peuvent renforcer la résilience de leur infrastructure web et réduire les risques liés aux
cyberattaques et aux violations de données.