2009-07-16 7 views
7

J'ai installé une installation par défaut de PostgreSQL 8.4 sur Windows 2003 Server, en utilisant le programme d'installation en un clic fourni. Exécution psql -l pour la première fois, j'ai remarqué il y a trois bases de données installées par défaut: postgres, template0 et template1. En matière de sécurité, ma première réaction est de supprimer ou de modifier les configurations par défaut. Cependant, je sais aussi que je n'ai pas la moindre idée concernant les bases de données (comme cette installation est ma première étape dans l'auto-apprentissage sur les bases de données), alors j'ai pensé que je demanderais d'abord.Est-il prudent de supprimer les 3 bases de données par défaut créées lors d'une installation de PostgreSQL?

Est-il sécuritaire de les supprimer?

Répondre

6

Fondamentalement - pas.

La base de données postgres est ici en tant que base de données non-template avec une garantie raisonnable qu'elle existe - donc tout script qui ne sait pas où se connecter, peut s'y connecter.

si vous supprimez template1 - vous perdrez la possibilité de créer de nouvelles bases de données (au moins facilement). Template0 est là en tant que sauvegarde, au cas où votre template1 serait endommagé. Alors que je peux théoriquement imaginer une base de données de travail sans bases de données * et postgres, ce qui me dérange, c'est que je n'ai aucune idée de ce que vous voulez faire en termes de sécurité en les supprimant.

+1

Ce n'est pas nécessairement un souhait de les supprimer si elles sont nécessaires - souvent des choses (pas forcément Postgres) installées par défaut sont inutiles et non sécurisées, comme beaucoup de services activés par défaut dans Windows XP par exemple . Ou MS SQL plus ancien installe avec des mots de passe «sa» vierges. Je voulais savoir si les 3 installés par défaut sont nécessaires - il semble qu'il soit nécessaire d'avoir au moins template1, et template0 est sympa d'avoir une sauvegarde, mais que postgres semble superflue. Est-ce correct? – romandas

+1

Si aucun de vos programmes suppose l'existence de la base de données postgres - vous pouvez le supprimer. Je ne supprimerais pas le modèle [01] pour plusieurs raisons. Mais encore une fois - je ne voudrais pas prendre la peine de supprimer la base de données postgres. À quoi cela vous sert-il (suppression)? Quel vecteur d'attaque sera impossible sans cette base de données? –

+1

La question devrait être «Quel est le besoin opérationnel de conserver l'adresse de la base de données postgres? S'il n'y en a pas, vous ne devriez pas l'avoir. Minimiser, minimiser, minimiser. Juste parce que je ne peux pas penser à une attaque contre cela ne veut pas dire qu'il n'y en a pas; après tout, je fais cette installation spécifiquement pour apprendre puisque je suis complètement inexpérimenté avec des bases de données. – romandas

2

Vous pouvez supprimer les postgres sans toucher à template0 ou template1. La base de données postgres est là pour plus de commodité.

Questions connexes