Introduction
Flask est un framework Python pour créer des applications Web. Avec Flask, les développeurs peuvent facilement définir des itinéraires, gérer les requêtes et réponses HTTP et restituer du contenu dynamique à l’aide des modèles Jinja2. Il prend également en charge des extensions permettant aux développeurs d’intégrer des fonctionnalités telles que l’accès aux bases de données, la gestion des formulaires et l’authentification des utilisateurs.
Dans cet article, nous allons déployer une application Flask à l’aide de Gunicorn, ainsi que la protection CSRF et la mise en œuvre des politiques de sécurité du contenu. Nous allons également mettre en place un proxy inverse utilisant Nginx et implémenter HTTPS en demandant un certificat SSL gratuit à Let’s Encrypt.
Déployer une instance cloud optimisée Vultr
- Inscrivez-vous et connectez-vous au Portail client Vultr.
- Accédez au Produits page.
- Dans le menu latéral, sélectionnez Calculer.
- Cliquez sur le Déployer le serveur bouton au centre.
- Choisissez Cloud Compute optimisé comme type de serveur.
- Choisissez un emplacement de serveur.
- Choisissez Ubuntu 24.04 comme système d’exploitation.
- Choisissez un plan adapté.
- Choisissez-en un Fonctionnalités supplémentaires si nécessaire.
- Cliquez Déployer maintenant.
Ajoutez vos fichiers de code d’application de démonstration
Configurer un environnement virtuel Python
- Installez le
python3-venv
emballer - Créez un environnement virtuel.
- Activez l’environnement virtuel.
Ajouter des fichiers de code d’application de démonstration
- Clonez le référentiel Github.
- Accédez au répertoire du projet.
- Installez les packages Flask et Gunicorn.
- Autoriser les connexions entrantes au port
5000
.
Appliquer les politiques de protection CSRF et de sécurité du contenu
Cross-Site Request Forgery (CORS) est une vulnérabilité qui permet à quelqu’un d’exploiter et de profiter de la session de connexion d’un utilisateur sur un site Web de confiance pour effectuer des requêtes non autorisées vers un autre site Web auquel l’utilisateur fait confiance. WTForms est une extension Flask qui intègre la protection CSRF par défaut pour empêcher les attaques CORS.
La politique de sécurité du contenu (CSP) est une couche de sécurité supplémentaire pour les applications Web qui les protège des attaques malveillantes. CSP indique au navigateur quelles ressources sont autorisées à charger sur une page Web spécifique. Habituellement, l’administrateur du site Web configure un CSP en ajoutant un en-tête spécial à la réponse du serveur pour une page Web, puis le navigateur reçoit l’en-tête CSP et comprend quelles ressources sont autorisées à charger. Talisman est une extension pour Flask qui simplifie le processus d’ajout de CSP aux applications Flask.
- Installer
flask-wtf
et talisman
forfaits - Ouvrez le
app.py
déposer. - Modifier le
app.py
fichier pour inclure les politiques de sécurité du contenu. - Dans le
app.py
fichier, importez et configurez la protection CSRF.Enregistrez et fermez le fichier.
- Accédez au
templates
annuaire. - Ouvrez le
index.html
déposer. - Modifiez la page HTML pour inclure la configuration CSRF.
Enregistrez et fermez le fichier.
- Quittez le
templates
annuaire.
Configurer Nginx en tant que proxy inverse
Nginx agit comme un proxy inverse entre votre serveur Web et vos clients. Il dirige les demandes entrantes en fonction des paramètres de configuration de vos demandes. Dans cette section, nous allons configurer notre application pour le proxy inverse pour une gestion efficace des requêtes et un équilibrage de charge. Nous allons également demander un certificat SSL gratuit à Let’s Encrypt pour implémenter HTTPS qui sécurise la communication entre un utilisateur et un serveur web de notre domaine.
- Connectez-vous au Portail client Vultr.
- Accédez à la page Produits.
- Dans le menu latéral, développez la liste déroulante Réseau et sélectionnez DNS.
- Cliquez sur le bouton Ajouter un domaine au centre.
- Suivez la procédure de configuration pour ajouter votre nom de domaine en sélectionnant l’adresse IP de votre serveur.
- Définissez les noms d’hôte suivants comme serveurs de noms principal et secondaire de votre domaine auprès de votre registraire de domaine.
- Installez Nginx.
- Créez un nouveau fichier de configuration Nginx.
- Collez la configuration suivante dans le fichier.
- Activez la configuration de l’hôte virtuel.
- Testez la configuration de Nginx.
- Rechargez Nginx.
- Autoriser les connexions entrantes au port
80
et 443
. - Installez le package certbot.
- Demandez un certificat SSL.
- Démarrez un serveur Gunicorn.
- Vous pouvez désormais accéder à votre application Flask sur
https://<your_domain>
.
Faites plus avec les applications Python sur Vultr
Conclusion
Dans cet article, nous avons exploré comment déployer une application Flask à l’aide du proxy inverse Nginx et de Gunicorn avec protection CSRF et CSP. Nous avons également sécurisé l’application en ajoutant un certificat SSL et en activant l’accès HTTPS.
Il s’agit d’un article sponsorisé par Vultr. Vultr est la plus grande plateforme de cloud computing privée au monde. Un favori des développeurs, Vultr a servi plus de 1,5 million de clients dans 185 pays avec des solutions mondiales flexibles et évolutives de Cloud Compute, Cloud GPU, Bare Metal et Cloud Storage. En savoir plus sur Vultr
août 28, 2024
Comment déployer des applications Flask sur Vultr —
Introduction
Flask est un framework Python pour créer des applications Web. Avec Flask, les développeurs peuvent facilement définir des itinéraires, gérer les requêtes et réponses HTTP et restituer du contenu dynamique à l’aide des modèles Jinja2. Il prend également en charge des extensions permettant aux développeurs d’intégrer des fonctionnalités telles que l’accès aux bases de données, la gestion des formulaires et l’authentification des utilisateurs.
Dans cet article, nous allons déployer une application Flask à l’aide de Gunicorn, ainsi que la protection CSRF et la mise en œuvre des politiques de sécurité du contenu. Nous allons également mettre en place un proxy inverse utilisant Nginx et implémenter HTTPS en demandant un certificat SSL gratuit à Let’s Encrypt.
Déployer une instance cloud optimisée Vultr
Ajoutez vos fichiers de code d’application de démonstration
Configurer un environnement virtuel Python
python3-venv
emballerAjouter des fichiers de code d’application de démonstration
5000
.Appliquer les politiques de protection CSRF et de sécurité du contenu
Cross-Site Request Forgery (CORS) est une vulnérabilité qui permet à quelqu’un d’exploiter et de profiter de la session de connexion d’un utilisateur sur un site Web de confiance pour effectuer des requêtes non autorisées vers un autre site Web auquel l’utilisateur fait confiance. WTForms est une extension Flask qui intègre la protection CSRF par défaut pour empêcher les attaques CORS.
La politique de sécurité du contenu (CSP) est une couche de sécurité supplémentaire pour les applications Web qui les protège des attaques malveillantes. CSP indique au navigateur quelles ressources sont autorisées à charger sur une page Web spécifique. Habituellement, l’administrateur du site Web configure un CSP en ajoutant un en-tête spécial à la réponse du serveur pour une page Web, puis le navigateur reçoit l’en-tête CSP et comprend quelles ressources sont autorisées à charger. Talisman est une extension pour Flask qui simplifie le processus d’ajout de CSP aux applications Flask.
flask-wtf
ettalisman
forfaitsapp.py
déposer.app.py
fichier pour inclure les politiques de sécurité du contenu.app.py
fichier, importez et configurez la protection CSRF.Enregistrez et fermez le fichier.
templates
annuaire.index.html
déposer.Enregistrez et fermez le fichier.
templates
annuaire.Configurer Nginx en tant que proxy inverse
Nginx agit comme un proxy inverse entre votre serveur Web et vos clients. Il dirige les demandes entrantes en fonction des paramètres de configuration de vos demandes. Dans cette section, nous allons configurer notre application pour le proxy inverse pour une gestion efficace des requêtes et un équilibrage de charge. Nous allons également demander un certificat SSL gratuit à Let’s Encrypt pour implémenter HTTPS qui sécurise la communication entre un utilisateur et un serveur web de notre domaine.
80
et443
.https://<your_domain>
.Faites plus avec les applications Python sur Vultr
Conclusion
Dans cet article, nous avons exploré comment déployer une application Flask à l’aide du proxy inverse Nginx et de Gunicorn avec protection CSRF et CSP. Nous avons également sécurisé l’application en ajoutant un certificat SSL et en activant l’accès HTTPS.
Il s’agit d’un article sponsorisé par Vultr. Vultr est la plus grande plateforme de cloud computing privée au monde. Un favori des développeurs, Vultr a servi plus de 1,5 million de clients dans 185 pays avec des solutions mondiales flexibles et évolutives de Cloud Compute, Cloud GPU, Bare Metal et Cloud Storage. En savoir plus sur Vultr
Source link
Partager :
Articles similaires