2012-12-22 1 views
-1

J'ai configuré une instance de serveur Apache (sur Ubuntu 12.04) et hébergé deux sites web PHP. Les sites Web sont gérés par différentes équipes et ne souhaitent pas que le code soit visible par l'autre équipe.Sécurisation du code source de chaque site s'exécutant sur le serveur Apache

Le code des sites Web est présent dans les répertoires/etc/sites/team1 et/etc/sites/team2. Les deux équipes ont un accès FTP au serveur (en utilisant vsftpd). Le serveur Web fonctionne avec les informations d'identification de l'utilisateur www-data appartenant au groupe www-data. Cela signifie que tous les fichiers présents dans le répertoire des sites doivent avoir l'autorisation de lecture pour l'utilisateur www-data ou le groupe www-data. Lorsque les utilisateurs téléchargent le fichier via le client FTP, le propriétaire et le groupe du fichier sont définis sur l'utilisateur et le groupe d'utilisateurs FTP.

Comment puis-je définir le groupe par défaut de chaque téléchargé via le serveur FTP sur www-data? L'une des façons consiste à définir le groupe par défaut de l'utilisateur FTP sur www-data, mais dans ce cas, les utilisateurs FTP des deux sites auront un groupe www-data et chaque fichier a au moins une autorisation de lecture pour ce groupe. le code de l'autre.

Quelle serait la bonne façon de protéger le code source afin que les deux soient accessibles au serveur apache mais pas à l'autre équipe?

Répondre

1

Une solution rapide pour moi est d'avoir des groupes d'utilisateurs distincts pour chaque site Web.

+0

Si les deux ont des groupes séparés, disons group1 et group2, alors le serveur apache (fonctionnant avec www-data: www-data) ne pourra pas accéder à l'un d'entre eux. –

+1

Avoir des groupes séparés pour chaque site, disons group1 et group2. Ajouter l'utilisateur www-data aux deux groupes group1 et group2. Maintenant, les utilisateurs de group1 et group2 peuvent voir le contenu de site1 et site2, mais pas les uns des autres. Puisque www-data appartient aux deux groupes, il peut lire les fichiers. –

0

Alors que la solution de ravdhaw est correcte, je suggère également de regarder les possibilités de prison de vsftpd. Vous pourriez emprisonner les utilisateurs sur leurs propres répertoires web et ce serait les seuls répertoires qu'ils pourront voir. Vous pouvez vérifier cette réponse sur serverfault:

https://serverfault.com/questions/229664/jail-linux-user-to-directory-for-ftp-login

Vous devriez vérifier suphp qui fera l'installation un peu plus sûr, que les processus seront exécutés par le propriétaire du fichier et ne sera donc pas avoir accès à d'autres fichiers d'utilisateurs.

Questions connexes