2 votes

Comment démarrer et redémarrer manuellement Apache avec mod_wsgi pour alimenter une application WSGI Python protégée par mot de passe ?

Je travaille sur un projet où je dois répondre à certaines exigences réglementaires qui requièrent qu'au moins 3 utilisateurs autorisés sur 5 démarrent un service web backend qui traite des informations très sensibles en utilisant des mots de passe pré-attribués.

Pour l'instant, le prototype a été approuvé et fonctionne à l'aide du programme Python. wsgiref.simple_server() que j'ai programmé pour demander manuellement les mots de passe. Maintenant que le prototype a été approuvé, je dois migrer l'application web vers un environnement de production où je devrai l'exécuter derrière Apache y mod_wsgi .

J'ai deux questions :

  1. Pour l'instant, j'utilise une fine enveloppe Python autour de expect pour permettre de manière programmée la saisie d'un mot de passe à distance. Comment faire pour qu'Apache me demande un mot de passe avant de démarrer ? Cela doit-il se faire dans la section app.wsgi script qui est exécuté par mod_wsgi ? Comment cela pourrait-il fonctionner puisque Apache se démonétise, et donc, n'a pas de stdin !

  2. Devrai-je m'inquiéter d'un certain type de rechargement du code ? Apache a probablement un nombre maximum de requêtes avant de tuer et de redémarrer un autre processus de travail, mais cela nécessiterait-il également une demande de mot de passe ?

Toute aide dans ce domaine serait appréciée.

0voto

Tobiasz Cudnik Points 2542

L'authentification HTTP/Digest via modwsgi comme fournisseur d'accès devrait fonctionner dans votre cas. Il existe une documentation complète à ce sujet sur le site site modwsgi .

L'utilisation de HTTP auth est une méthode d'authentification plus généralement acceptée que expect et stdin.

En ce qui concerne le rechargement du code, tant que vous ne fixez pas de valeur maximale pour les requêtes, vous n'avez pas à vous soucier des redémarrages. Avec l'authentification HTTP, les redémarrages ne devraient pas avoir d'importance de toute façon.

0voto

Dangph Points 5561

Un utilisateur pourra recharger les processus wsgi (et donc mettre à jour le code que sert Apache) en touchant le fichier .wsgi. (i.e. touch /path/to/file.wsgi)

Vous pouvez sécuriser cette partie en utilisant les permissions linux et sudo pour exiger qu'ils entrent leur propre mot de passe système.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X