Sécuriser votre site Web Domino (1ère partie)

Olivier FRANCHET a écrit le Mardi 30 Avril 2002 à 08:24:42

La gestion d'un site Web hébergé par un serveur Domino n'est pas au premier abord simple et intituive.
J'ai remarqué, lors de mes débuts avec Lotus Domino (environ 4 ans) de la piètre qualité du niveau de sécurité des sites publiques hébergés par un serveur Domino.  La qualité a augmenté au fil du temps mais des trous de sécurité sont trouvés de temps en temps et il faut en tenir compte.

Dans cette première partie, je vais vous exposer la sécurité minimale d'un environnement Domino publié sur internet.

1. Le document Serveur.

Ce document est un des éléments qui définit la configuration de l'environnement d'un serveur Lotus Domino. Un certains nombre de points de sécurité incombent à ce document. Parmi eux, nous trouvons l'autorisation de parcourir l'arborescence (1) des bases Notes du serveur (=> figure 1.1) à partir d'un navigateur web. Positionnez-le à 'Non'. Pour vérifier si votre site est ouvert, il vous suffit simplement d'ouvrir l'URL suivante : http://MonServeurDomino/?OpenServer (=> figure 1.2).

Image:Sécuriser votre site Web Domino (1ère partie)
figure 1.1
Paramètre de parcours des bases Notes

Image:Sécuriser votre site Web Domino (1ère partie)
figure 1.2
URL d'accès et page de parcours


2. La LCA des bases Notes.

Dans les versions antérieures à la 5.0.5, la LCA des bases systèmes d'un serveur Lotus Domino ne possédaient pas d'entrée 'Anonymous'. Depuis, elle existe mais pas toujours avec les bons droits. Ce profil, bien qu'il n'existe pas dans l'annuaire Domino, est primordial pour un serveur Web car lors d'une connexion d'un client Web, ce client est inconnu, aucun login/password n'a été démandé, mais il possède un profil au sein du serveur et ce profil est 'Anonymous'. Si vous regardez attentivement la LCA des bases systèmes, pour celles qui n'ont pas de profil 'Anonymous', c'est les droits du profil '- Default -' qui sont alors pris en compte, et ce profil à bien souvent, au minimum, un droit de lecture des données (prenez l'annuaire de votre serveur, le profil '- Default -' a les droits 'Auteur').

Vous avez maintenant compris l'intêret de vérifier la LCA de toutes vos bases et d'y ajouter systèmatiquement le profil 'Anonymous' avec un niveau d'accès 'Pas d'accès'. Bien évidemment, si vous hébergez une base Notes qui participe à votre site Internet, ce profil devrait avoir un autre niveau d'accès plus élevé sur cette base.

Dans la pratique, voici une opération que je réalise systématiquement lors d'une installation d'un serveur Lotus Domino :

a. Epuration du profil 'Anonymous' dans la LCA de toutes les bases (.nsf) du serveur.

Avec le client Domino Administrator, depuis l'onglet fichier (1), sélectionner TOUTES les bases du serveur (2, 3 & 4). Ouvrir l'outil de gestion des LCAs (5). (=> figure 2.1)

Image:Sécuriser votre site Web Domino (1ère partie)
figure 2.1
Sélection des bases

Choisir le bouton 'Supprimer...' (1) et saisir 'Anonymous' (2).  Pour finir, lancer le processus de suppression (3).(=> figure 2.2)

Image:Sécuriser votre site Web Domino (1ère partie)
figure 2.2
Suppression d'Anonymous


Après cette opération, la LCA des bases ne doit plus comporter d'entrée 'Anonymous', ceci pour maitriser le niveau et les droits d'accès de ce profil par ce qui suit.

b. Ajout du profil 'Anonymous' avec le niveau d'accès 'Pas d'accès' et aucuns droits additionnels.

Reprendre l'outil de gestion des LCA. Cette fois ci, Choisir le bouton 'Ajouter...' (1) et saisir 'Anonymous' (2). (=> figure 2.3)

Image:Sécuriser votre site Web Domino (1ère partie)
figure 2.3
Ajout d'Anonymous


Pour ce profil, sélectionner le type 'Non spécifié' (1),  le niveau 'Pas d'accès' (2) et décocher les droits 'Ecrire des documents publique' (3) ainsi que 'Lire des documents publique' (4). (=> figure 2.4)

Image:Sécuriser votre site Web Domino (1ère partie)
figure 2.4
Définition des droits d'Anonymous


c. Affinnage du niveau et droits du profil 'Anonymous' sur les bases Web publiques.

A ce niveau, je n'ai aucun commentaire. Vous êtes seul à connaitre vos applications Web et à devoir gérer leur LCA.

3. La LCA des modèles de bases Notes.

Vous avez vu l'ajout du profil 'Anonymous' dans la LCA des bases Notes. Maintenant, occupons-nous des modèles.
Les modèles ne sont pas accessibles par un navigateur (dans ce cas, ce qui fait d'une base un modèle est uniquement l'extension .ntf) => petite correction apporté par yotemis, les modèles sont EUX AUSSI accessible par web, tout simplement au travers de leur ID.
Si vous créez une base à partir d'un modèle, vous allez devoir ajouter le profil 'Anonymous' avec les droits adéquats. Une autre méthode consiste à définir le profil directement dans la LCA du modèle, qui sera ensuite hérité sur les nouvelles bases créées à partir de ce modèle (ATTENTION: les bases existantes n'en profiteront pas, uniquement les nouvelles bases créées).

La méthode est similaire à celle présenté plus haut. Sélectionner l'ensemble des modèles, puis ajouter (1) le profil avec la syntaxe suivante '[Anonymous]' (2). (=> figure 3.1)

Image:Sécuriser votre site Web Domino (1ère partie)
figure 3.1


Définir les droits ensuite comme l'exemple de la figure 2.4 (type : Non Spécifié, accès: Pas d'accès, droits : aucun).

NB: Le principe du profil entre [ ] dan la LCA d'un modèle est valable pour tout profil.

4. Fin de la 1ère partie.

J'espère que cette première partie vous aura été utile. La 2ème partie sera axée sur la sécurité au travers des éléments de structure des bases, démontrant certaines failles de sécurité.

En attendant, vos commentaires sont les bienvenus!

Commentaire(s)

Re: Sécuriser votre site Web Domino (1ère partie)

Olivier@Dominux le 29/09/2003 19:00:47

8O, j'aime en apprendre tous les jours. Bien vu :)

Re: Sécuriser votre site Web Domino (1ère partie)

yotemis le 29/09/2003 17:24:13

En fait un template est bien accessible par le web.

Et oui, comme vous le savez tous, une base notes ce caratérise par un ID. Les templates ont elles aussi un ID.

Manque de bol pour les admin, ces templates portent tous le même ID car issuent du même CD d'install.

On peut tester sur différents sites :

Base URL

Base Cache (Accès) http://site_notes/852564C1004E1EA7

Base requete admin http://site_notes/8025674C002D0A1E

Base requete administrative http://site_notes/802565B600509ACB

et ainsi de suite...

Charge à l'admin de connaitre ces failles.

La solution est d'effectuer une copie notes pour changer l'ID

Re: Sécuriser votre site Web Domino (1ère partie)

Olivier@Dominux le 02/09/2003 20:20:43

Normalement les templates ne sont pas accessible via un browser web! 8)

Re: Sécuriser votre site Web Domino (1ère partie)

ACiiD le 02/09/2003 12:58:34

très bonne methode, meme si je n'ai pas encore pu verifier d'acces 'Anonymous'defini a no acces avec des droits en lecture sur la base [...]

Juste une petite remarque cependant meme si il est parfois tres pratique de laisser des templates sur le serveur web, je prefere (exces de parano??) les garder en local en appliquant la technique du [profil].

Ca n'a l'air de rien, mais je vous laisse le soins d'imaginer une LCA approximative sur un template...

Re: S■curiser votre site Web Domino (1■re partie)

dancor le 16/08/2005 11:33:03

pas mal

mais j ai une question subsidiaire

pourrait on par cet outil ou un autre

renommer un utilisateur contenu dans toutes les LCA par un autre ?

du style:

je remplace patrick dupond par martin pondu sans en changer les droits.

si vous avez une id■e, cela me changerai la vie en administration, d avance merci !

Sécuriser votre site Web Domino (1ère partie)

Giochi per ragazze le 19/01/2010 20:05:41

Merci pour ce partage et à une prochaine.

Cordialement,

Ajouter un commentaire





Se souvenir de mes informations?



Les balises HTML ne sont pas permises dans les commentaires. Pour faire un lien, il suffit de donner l'URL, préfixée par http://.