Tâche #33459
Scénario #33348: postgresql : implémentation de hostssl
implémentation de hostssl dans le pg_hba.conf
100%
Description
eole-postgresql (et eole-db) ne permettent aujourd'hui de ne spécifier pour postgresql que 2 types de connections : local ou host. il serait intéressant de pouvoir utiliser en complément le type hostssl, afin de pouvoir configurer un serveur à n'accepter que ce type de connection.
On peut imaginer que la définition des permissions pour les rôles intègre une nouvelle variable Eole "n'autoriser que les connections ssl" de type oui/non
Révisions associées
ajout option connexion ssl ref #33459
ajout option connexion ssl ref #33459
Utilisation de hostssl si on est en SSL only
Ref: #33459
prise en compre de hostssl dans eole-db (ref #33459)
Historique
#1 Mis à jour par Matthieu Lamalle il y a plus de 2 ans
VincentC: en fait, l'idée serait plutot d'ajouter une variable commune pour toutes les entrées : "voulez vous faire du ssl O/N". Et selon la réponse, soit on met du host partut (comme c'est aujourd'hui le cas), soit on met du hostssl partout.
VincentC: faire du ssl sur certaines entrées et pas d'autres ne nous semble pas tres cohérent, et ca ajouterait une option en plus par entrée.
#2 Mis à jour par Matthieu Lamalle il y a plus de 2 ans
- Statut changé de Nouveau à En cours
#3 Mis à jour par Matthieu Lamalle il y a plus de 2 ans
- Statut changé de En cours à À valider
#4 Mis à jour par Joël Cuissinat il y a plus de 2 ans
- Statut changé de À valider à Nouveau
Visiblement le commit eole-postgresql:fd722e est spécifique à la 2.8.1 mais le merge 2.8.0/master → master indique un conflit !
eole-postgresql$ git merge 2.8.0/master Fusion automatique de dicos/22_postgresql.xml Fusion automatique de tmpl/pg_hba.conf CONFLIT (contenu) : Conflit de fusion dans tmpl/pg_hba.conf La fusion automatique a échoué ; réglez les conflits et validez le résultat.
#5 Mis à jour par Matthieu Lamalle il y a plus de 2 ans
- Statut changé de Nouveau à À valider
#6 Mis à jour par Vincent Chavanon il y a plus de 2 ans
- Statut changé de À valider à En cours
bonjour,
Je constate un soucis avec l'implémentation de hostssl en 2.7.2 : (et le paquet est passé en stable aujourd'hui) :
malgré que la variable set_pg_role_perms soit positionnée à "oui", j'ai le pg_hba.conf suivant :
cat /etc/postgresql/10/main/pg_hba.conf local all postgres md5 local adl adl md5 local postgres postgres md5 local zephir zephir md5 local template_postgis postgis md5 host all all 0.0.0.0 0.0.0.0 md5
je pense que /usr/share/eole/posttemplate/01-eoledb (entre autres) a sa part de responsabilité
#7 Mis à jour par Laurent Gourvenec il y a plus de 2 ans
Ça devrait être bon maintenant. Il y avait un petit oubli dans la fonction qui génère le fichier de conf.
#8 Mis à jour par Laurent Gourvenec il y a plus de 2 ans
- Statut changé de En cours à À valider
#9 Mis à jour par Laurent Gourvenec il y a plus de 2 ans
- % réalisé changé de 0 à 100
#10 Mis à jour par Vincent Chavanon il y a plus de 2 ans
- Statut changé de À valider à En cours
- % réalisé changé de 100 à 0
bonjour,
Il y a toujours un soucis : cette fois, il n'y a plus d'entrées "host" dans le pg_hba.conf :
root@seth:~CreoleGet pg_ssl_only
non
root@seth:~# cat /etc/postgresql/10/main/pg_hba.conf
local all postgres md5
local adl adl md5
local postgres postgres md5
local zephir zephir md5
local template_postgis postgis md5
host all all 0.0.0.0 0.0.0.0 md5
root@seth:~# CreoleGet pg_ssl_only
oui
root@seth:~# reconfigure
root@seth:~# cat /etc/postgresql/10/main/pg_hba.conf
local all postgres md5
local adl adl md5
local postgres postgres md5
local zephir zephir md5
local template_postgis postgis md5
root@seth:~#
#11 Mis à jour par Emmanuel GARETTE il y a environ 2 ans
J'ai testé sur 2.7.2 et 2.8.1 avec et sans eole-db.
Je n'ai aucune ligne dans aucun cas qui ressemble à la ligne :
host all all 0.0.0.0 0.0.0.0 md5
#12 Mis à jour par Vincent Chavanon il y a environ 2 ans
bonjour,
Ces parametres sont issus de la conf du serveur : par defaut, nous poussons via la variante la création d'une base et d'un role de connexion avec droits là.
En PJ, le .eol d'un serveur
#13 Mis à jour par Vincent Chavanon il y a environ 2 ans
- Fichier zephir_config_301.eol ajouté
#14 Mis à jour par Vincent Chavanon il y a environ 2 ans
on a donc naturellement un pg_hba.conf correspondant au 1er fichier décrit dans #10. Un CreoleSet pg_ssl_only oui suivi d'un reconfigure devrait remplacer la directive "host" par un "hostssl", et ce n'est pas le cas.
#15 Mis à jour par Emmanuel GARETTE il y a environ 2 ans
Pour reproduire :
installer eole-db sur Zéphir.
exécuter ce script :
from creole.loader import creole_loader from creole.loader import creole_loader, config_save_values c = creole_loader(rw=True) c.creole.postgresql.pg_additional_db = 'oui' c.creole.postgresql.pg_additional_db_name.pg_additional_db_name = ["adl"] c.creole.postgresql.pg_additional_db_name.pg_additional_db_template[0] = 'postgis' c.creole.postgresql.pg_additional_db_name.pg_additional_db_admin[0] = 'adl' c.creole.postgresql.pg_additional_db_name.pg_additional_db_admin_createrole[0] = 'oui' c.creole.postgresql.pg_additional_db_name.pg_additional_db_admin_superuser[0] = 'oui' c.creole.postgresql.pg_additional_role = 'oui' c.creole.postgresql.pg_additional_role_name.pg_additional_role_name = ["adl"] c.creole.postgresql.pg_additional_role_name.pg_additional_role_pwd[0] = "manuelle" c.creole.postgresql.pg_additional_role_name.pg_additional_role_superuser[0] = "oui" c.creole.postgresql.set_pg_role_perms = 'oui' c.creole.postgresql.pg_role_perms.pg_role_perms = ['all'] c.creole.postgresql.pg_role_perms.pg_role_perms_name[0] = 'all' c.creole.postgresql.pg_role_perms.pg_role_perms_object[0] = 'all' c.creole.postgresql.pg_role_perms.pg_role_perms_source_ip[0] = '0.0.0.0' c.creole.postgresql.pg_role_perms.pg_role_perms_source_netmask[0] = '0.0.0.0' config_save_values(c, 'creole')
Puis reconfigure
#16 Mis à jour par Emmanuel GARETTE il y a environ 2 ans
- Assigné à mis à Emmanuel GARETTE
- % réalisé changé de 0 à 100
Après mise à jour les lignes "hostssl" bien bient présente.
#17 Mis à jour par Emmanuel GARETTE il y a environ 2 ans
- Statut changé de En cours à Résolu
#18 Mis à jour par Vincent Chavanon il y a environ 2 ans
- Statut changé de Résolu à Fermé
- Assigné à
Emmanuel GARETTEsupprimé - Restant à faire (heures) mis à 0.0
recetté sur une eole 2.8.1 vairante geomatique : OK