Outils pour utilisateurs

Outils du site


securite_postgres

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
securite_postgres [2020/05/07 15:25] – [Permissions sous postgresql] fraynaudsecurite_postgres [2020/06/08 15:50] (Version actuelle) fraynaud
Ligne 1: Ligne 1:
-===== Permissions sous postgresql =====+====== Permissions sous postgresql =====
 + --- //[[f.raynaud@arles-linux.org|François Raynaud]] 2020/06/08 15:50// 
  
 Ces commandes fonctionnent avec la version postgresql 11. Ces commandes fonctionnent avec la version postgresql 11.
Ligne 7: Ligne 9:
 Nous allons travailler essentiellement sur le fichier [[https://docs.postgresql.fr/8.2/client-authentication.html#auth-pg-hba-conf|pg_hba.conf]] Nous allons travailler essentiellement sur le fichier [[https://docs.postgresql.fr/8.2/client-authentication.html#auth-pg-hba-conf|pg_hba.conf]]
  
-[[http://www.i3s.unice.fr/~rueher/Cours/BD/DocPostgresSQL9-5_HTML/client-authentication.html#auth-pg-hba-conf|source sur pg_pga.conf]]+[[http://www.i3s.unice.fr/~rueher/Cours/BD/DocPostgresSQL9-5_HTML/client-authentication.html#auth-pg-hba-conf|source sur pg_pha.conf]]
  
 Avant toute modification, il est conseillé de recopier le fichier Avant toute modification, il est conseillé de recopier le fichier
Ligne 61: Ligne 63:
 </code> </code>
  
-Il est proposé de mettre la méthode trust et redémarrer apache:+Il est proposé de mettre la méthode trust et redémarrer apache :
  
 <code> <code>
Ligne 176: Ligne 178:
  
 ====accès avec une ip externe (contrôle IP)==== ====accès avec une ip externe (contrôle IP)====
- +{{ :connexion_pgadmin.png?400|}} 
-Il faut autoriser des IP externes dans les cas suivants :+Il faut autoriser des IP externes dans les cas suivants (tests avec un raspberry et postgres 9.4) :
   * le serveur web apache est sur un autre serveur que celui de postgres   * le serveur web apache est sur un autre serveur que celui de postgres
-  * les développeurs accèdent via un client comme pgadmin sur le serveur postgres+  * les développeurs accèdent via un client comme pgadmin sur le serveur postgres (image ci contre)
  
 +Rajouter la ligne suivante dans /etc/postgresql/9.4/main/pg_hba.conf pour que les adresses en 192.168 se connectent à la base 
  
 +<code>
 +# IPv4 local connections:
 +host    all             all             192.168.0.0/16          md5
 +</code>
 +
 +Mettre * (ou l'adresseIP autorisé) à la place de localhost dans la directive listen_addresses  de /etc/postgresql/11/main/postgresql.conf
 +
 +<code>
 +listen_addresses = '*'
 +</code>
 +
 +redémarrer postgresql
 +
 +<code>
 +service postgresql restart
 +</code>
  
 <note> <note>
-Il faut paramétrer listen adresse 
   * TYPE host : intercepte les tentatives de connexion TCPIP   * TYPE host : intercepte les tentatives de connexion TCPIP
   * TYPE hostnossl : intercepte les tentatives de connexion TCPIP qui ne sont pas ssl   * TYPE hostnossl : intercepte les tentatives de connexion TCPIP qui ne sont pas ssl
Ligne 240: Ligne 258:
 Affichage des privilèges sous postgres. voir [[psql_commande|raccourci commandes en ligne]] Affichage des privilèges sous postgres. voir [[psql_commande|raccourci commandes en ligne]]
  
-<code> 
- 
- openstock=> \du 
-                                              Liste des rôles 
- Nom du rôle |                                    Attributs                                    | Membre  
--------------+---------------------------------------------------------------------------------+------- 
- deb         | Superutilisateur, Créer un rôle, Créer une base                                 | {} 
- deb_asso    |                                                                                 | {} 
- postgres    | Superutilisateur, Créer un rôle, Créer une base, Réplication, Contournement RLS | {} 
- 
-openstock=> \dp  openstock_association.* 
-       OU 
-openstock=> \z  openstock_association.* 
-                                                           Droits d'accès 
-        Schéma                    Nom            |   Type        Droits d'accès       | Droits d'accès à la colonne | Politiques  
------------------------+---------------------------+----------+---------------------------+------------ openstock_association  | archive_entre             | table    | postgres=arwdDxt/postgres+|                               
-                                                          | deb_asso=arwd/postgres    |                               
-openstock_association  | archive_entre_seq         | séquence | postgres=rwU/postgres    +|                              
-                                                          | deb_asso=rw/postgres      |  
- 
-openstock=> SELECT GRANTOR, GRANTEE, TABLE_NAME, ' <TABLE>' AS COLUMN_NAME, PRIVILEGE_TYPE,   IS_GRANTABLE FROM   INFORMATION_SCHEMA.TABLE_PRIVILEGES 
-WHERE  GRANTEE IN ('deb_asso'); 
- 
- grantor  | grantee  |       table_name        | column_name | privilege_type | is_grantable  
-----------+----------+-------------------------+-------------+----------------+-------------- 
- postgres | deb_asso | om_permission            <TABLE>    | INSERT         | NO 
- postgres | deb_asso | om_permission            <TABLE>    | SELECT         | NO 
- postgres | deb_asso | om_permission            <TABLE>    | UPDATE         | NO 
- postgres | deb_asso | om_permission            <TABLE>    | DELETE         | NO 
- postgres | deb_asso | om_lettretype            <TABLE>    | INSERT         | NO 
- postgres | deb_asso | om_lettretype            <TABLE>    | SELECT         | NO 
- postgres | deb_asso | om_lettretype            <TABLE>    | UPDATE         | NO 
- 
-... 
-</code> 
  
 On peut enlever des permissions avec la commande REVOKE. On peut enlever des permissions avec la commande REVOKE.
Ligne 305: Ligne 288:
 Le super utilisateur "deb" peut continuer à le faire Le super utilisateur "deb" peut continuer à le faire
  
 +[[structure_postgres|la structure de postgres]]
  
  
securite_postgres.1588865151.txt.gz · Dernière modification : 2020/05/07 15:25 de fraynaud