Web - daviddieuHE/ADMIN2023 GitHub Wiki
Analyse Web
Responsable : DIEU David
Groupe : 2TL1-8
Statut de l'étape : Pas commencée / en cours de réalisation / en cours d'évaluation / validée
1. Identification dans le cahier des charges des fonctionnalités et demandes liée au service
- Un site vitrine, un site b2b et un intranet
- Le site b2b et l'intranet nécessitent une base de donnée
- Un serveur Web afin de rendre les 3 sites accessibles
2. Identification des besoins techniques découlant de l'étape précédente
Etant donné que les langages utilisés par les 3 sites ainsi que la DB sont imposés par le cahier des charges, il ne reste donc plus qu'à identifier quel type de serveur web utiliser afin d'héberger les sites web.
Le serveur web devra être capable de supporter PHP qui est un langage imposé pour les sites b2b et intranet.
A noter également que les 3 sites internet n'auront pas un énorme trafic, en effet l'entreprise ne vend qu'en B2B.
Le site intranet doit être accessible depuis le réseau interne, alors que le site B2B et le site vitrine le seront depuis l'extérieur, il faudra donc faire attention à l'emplacement de la DB afin qu'elle reste en sécurité malgré les accès aux sites depuis internet.
Il faudra 2 SOA, un pour les sites publiques et un pour l'intranet.
Un résolveur sera également nécéssaire pour l'intranet.
Il est également mentionné dans le cahier des charges d'être en accord avec des valeurs de développement durable.
3. Identification des choix architecturaux à poser
Pour ce schéma réseau de l'entreprise Woodytoys, nous pouvons observer une structure organisée en différentes zones. Voici une description détaillée de cette configuration :
- Firewall : Dans le schéma réseau de l'entreprise Woodytoys, deux pare-feux ont été mis en place pour protéger les services internes et la zone Woodytoys de l'extérieur. Le premier pare-feu gère le trafic entrant provenant d'Internet, tandis que le second s'occupe de la partie locale de l'entreprise. Cette configuration permet d'éviter de faire passer les requêtes internes par le pare-feu exposé à Internet, renforçant ainsi la sécurité du réseau.
- D.M.Z. : zone démilitarisée, qui est un sous-réseau distinct et isolé du réseau local ainsi que d'Internet par un pare-feu. L'objectif de cette zone intermédiaire est de sécuriser le réseau interne de Woodytoys tout en étant exposée à Internet. Ce sous-réseau abrite les machines qui peuvent être accessibles depuis Internet mais qui n'ont pas besoin d'accéder au réseau local de l'entreprise. Ainsi, la zone DMZ permet de renforcer la sécurité en séparant les ressources exposées de celles du réseau local.
- Trusted Zone : Zone dédiée aux serveurs internes de l'entreprise, elle est conçue pour abriter les ressources sensibles et importantes qui nécessitent un niveau élevé de confiance et de sécurité.
- Zone DB : Cette zone abrite la base de données. En plaçant celle-ci dans une zone séparée, cela permet de renforcer la sécurité en isolant les données sensibles et de mettre en place des contrôles d'accès stricts.
- L'ensemble des VLANs pour les employés : Ce sont les différents sous-réseaux composant l'entreprise Woodytoys.
Traduction du choix d'architecture en schéma réseau
4. Choix des solutions logicielles
Détermination des critères de choix en regard de la demande du client
site vitrine
html & css : imposé par le cahier des charges et suffisants pour un prototype
site de vente en ligne et intranet
php : imposé par le cahier des charges
base de donnée
MySQL : imposé par le cahier des charges
Identification des solutions possibles
Les languages relatifs aux sites web et la technologie de la DB étant imposé par le cahier des charges, il ne reste plus qu'à trouver quel service utiliser pour le serveur web.
critère | Apache2 | NGINX |
---|---|---|
open source | oui, et maintenu par la fondation Apache [1] | oui [5] |
compatible PHP | oui, installation en 7 étapes [2] | oui, mais nécessite la manipulation de fichier à la source pour la configuration [6] |
supporte un trafic modéré | oui, et peut être optimisé [3] | oui |
difficulté de configuration | peu d'étapes [4] | peu d'étapes [7] |
sécurité | très bonne, car très complet donc peut être configurer pour être particulièrement sécurisé [8] | bonne, car très simple donc peu de chose à protéger [5] |
multi hosting | oui [9] | oui [5] |
Présentation du choix et justification de la solution sélectionnée
- Apache 2 : Cette technologie étant largement suffisante pour les besoins de cette entreprise en termes de performance et de trafic supporté, notre choix s'est tourné vers elle. La facilité de configuration est aussi un grand plus et la documentation étant conséquente, cela aidera aussi pour le troubleshooting de part les scripts d'analyse déjà existant. En configuration de base, le nombre de requêtes que Apache2 peut supporter est adéquat avec les besoins de notre client à savoir du b2b et donc un faible trafic. La compatibilité avec PHP est indispensable pour répondre au cahier des charges vis à vis du site b2b. Apache étant très populaire, la quantité de patch de sécurité et de vulnérabilités connues augmente le niveau de sécurité. Le multi-hosting est important pour pouvoir héberger nos différents sites internet.
5. Synthèse de la solution finale et de son architecture
Synthèse
site vitrine : html & css
site de vente en ligne et intranet : php
base de donnée : MySQL
serveur web : Apache 2
Implémentation
- Configurer le container Docker pour le we.
- Installer Apache sur le serveur
- Configurer le serveur web.
- Coder les différents sites (vitrines, b2b et intranet) dans le langage adéquat et les mettre sur le serveur.
- Configurer la base de données et la mettre sur le serveur web.
6. Sources
- [1] Group, D., 2022. Welcome! - The Apache HTTP Server Project. [online] Httpd.apache.org. Available at: https://httpd.apache.org/ [Accessed 29 March 2023].
- [2] Php.net. 2022. PHP: Apache 2.x sur les systèmes Unix - Manual. [online] Available at: https://www.php.net/manual/fr/install.unix.apache2.php [Accessed 29 March 2023].
- [3] Ubiq BI. 2022. How To Increase Apache Requests Per Second - Ubiq BI. [online] Available at: https://ubiq.co/tech-blog/increase-apache-requests-per-second/#:~:text=By%20default%2C%20Apache%20Request%20limit,per%20second%2C%20without%20any%20modification. [Accessed 29 March 2023].
- [4] Ubuntu. 2022. Install and Configure Apache | Ubuntu. [online] Available at: https://ubuntu.com/tutorials/install-and-configure-apache#1-overview [Accessed 29 March 2023].
- [5] Fr.wikipedia.org. 2022. NGINX — Wikipédia. [online] Available at: https://fr.wikipedia.org/w/index.php?title=NGINX&oldid=184246779 [Accessed 29 March 2023].
- [6] Php.net. 2022. PHP: Nginx 1.4.x sur les systèmes Unix - Manual. [online] Available at: https://www.php.net/manual/fr/install.unix.nginx.php [Accessed 29 March 2023].
- [7] Ubuntu. 2022. Install and configure Nginx | Ubuntu. [online] Available at: https://ubuntu.com/tutorials/install-and-configure-nginx#1-overview [Accessed 29 March 2023].
- [8] Conseils sur la sécurité - Serveur HTTP Apache Version 2.4. (s. d.). [online] Available at: https://httpd.apache.org/docs/2.4/fr/misc/security_tips.html [Accessed 29 April 2023]
- [9] Contributeurs aux projets Wikipedia. (2023). Apache HTTP Server. Available at: <fr.wikipedia.org. https://fr.wikipedia.org/w/index.php?title=Apache_HTTP_Server&oldid=201225637> [Accessed 29 April 2023]