Developpez.com - Rubrique Firebird

Le Club des Développeurs et IT Pro

Firebird 2.5.6, une mise à jour mineure du SGBDR open source est disponible,

Avec quelques améliorations et corrections de bogues

Le 2016-07-06 02:14:47, par Ph. B., Expert confirmé
L'équipe en charge du Projet Firebird a publié il y a quelques semaines une évolution majeure de Firebird, sujet qui a été évoqué dans ce forum :

Elle n'en oublie pas pour autant la version précédente pour laquelle elle publie une mise à jour mineure : la version 2.5.6 selon le communiqué officiel.

Cette mise à jour contient :

  • des améliorations :
    • les erreurs d'exécution produites à l'intérieur d'un bloc d'instructions EXECUTE BLOCK fournissent maintenant des informations relatives à leur localisation (numéros de ligne et de colonne). Il s'agit d'un rétroportage d'une évolution (CORE-5216) implémentée dans Firebird 3 par Dmitry YEMANOV,
    • l'utilitaire GBak lors d'une opération de restauration et plus particulièrement lors de la recréation et réactivation d'index déférés retourne un code d'erreur plus précis, autorisant entre autres la création de scripts plus perfectionnés ;

  • des corrections de bogues :
    • affectant le cœur du moteur (12),
    • pouvant entraîner un crash du serveur (5),
    • portant sur les utilitaires en ligne de commande gfix (1), isql (3), ou encore la base de sécurité en environnement Windows (1).


Des explications plus détaillées (en anglais) sont disponibles ICI.

À noter qu'un des bogues corrigés avait également fait l'objet d'une discussion sur ce forum, il y a quelques semaines : Vulnérabilité Firebird 2.5.5.

Cette mise à jour disponible en 32 et 64 bits pour Windows, Linux et Mac OSX peut être téléchargée ICI.
  Discussion forum
12 commentaires
  • Artemus24
    Expert éminent sénior
    Salut à tous.

    @ Ph. B. : je me suis mal exprimé. Je voulais savoir comment récupérer un mot de passe quand on l'a oublié ?

    Tout ce que l'on sait, c'est l'algorithme de chiffrement qui a été utilisé.
    Mais celui-ci ne permet pas de le déchiffrer car l'opération inverse n'est pas possible (déterminant nul).

    Ce mot de passe chiffré est accessible. Je pense à quelque chose de très basique, en testant toutes les solutions possibles.

    Envoyé par Ph. B.
    Tout dépend de l'endroit où ils sont stockés,
    SergioMaster à dit :
    Envoyé par SergioMaster
    ... ils sont cryptés dans mes programmes et le dossier déposé dans l'entreprise a été perdu !
    J'espère pour lui qu'il possède aussi les sources ! Je me demande s'ils sont stockés en dur dans les programmes ?

    Envoyé par aimer_Delphi
    est-il possible de stocker les mots de passe des utilisateurs dans une base de données et non pas dans la base de sécurités ?
    Il existe un cas où l'on peut fusionner la base de sécurités avec la base de données.
    Cela signifie qu'il n'y a pas externalisation de la base de sécrités.
    Mais cela signifie que tu ne dois pas avoir des tables portant les noms : "PLG$SRP" ou encore "PLG$USERS".

    comment gérer cela ?
    C'est très simple, il n'y a rien à faire au niveau de la création de ces tables.
    Il suffit de faire au préalable un "show database".
    Puis de faire un "create user toto password 'toto' ...", par exemple.
    Et refaire ensuite un show database".
    La table "PLG$SRP" apparait automatiquement.

    Oui mais comment déclarer cette sécurité afin d'avoir une seule base ?
    Tu ajoutes cela dans le fichier "database.conf" :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    first = E:/23.FireBird/32.Privilèges/Data/Base.fdb
    {
        SecurityDatabase = first
        {
            RemoteAccess = true
            DefaultDbCachePages = 50
        }
    }
    Le nom de mon alias est "first" (je sais, pas très original).
    Il suffit de remettre le même alias dans le nom de "SecurityDatabase".
    Et là, vous avez une seule base physique et non deux (une pour les données et une pour les sécurités).

    J'aimerai savoir où trouver la documentation complète sur ce que l'on peut mettre dans le fichier "database.conf" ?
    Et en particulier sur FireBird, la version 3.0.0 et tout ce qui concerne la sécurité.

    @+
  • Artemus24
    Expert éminent sénior
    Merci Philippe !

    @+
  • SergioMaster
    Rédacteur/Modérateur
    Merci,

    j'étais absent pour justement installer un nouveau serveur 64bits et mettre la version 2.5 , mais à priori la version 2.5.6 n'était pas encore téléchargeable du coup je vais pas refaire le voyage pour changer cela attendra la fin des vacances j'ai d'autres problèmes à résoudre.

    d'ailleurs à ce propos, petite expérience désagréable j'ai voulu installé la version 64 bits (puisque serveur 64) mais j'avais certaines UDF dans des dlls 32 : moralité cela n'a pas fonctionné j'ai du mettre la version 32 bits (Urgence, urgence quand tu nous tient ...).
    Je suis parti tout ou peu s'en faut fonctionnait, il me reste juste à retrouver certains mots de passe utilisateur trop malin ils sont cryptés dans mes programmes et le dossier déposé dans l'entreprise a été perdu !
  • Artemus24
    Expert éminent sénior
    Salut SergioMaster.

    Comment vas-tu faire pour récupérer tes mots de passe ?
    Avec quel chiffrement les as-tu encrypter ?

    @+
  • Ph. B.
    Expert confirmé
    Bonjour,
    Envoyé par Artemus24
    Comment vas-tu faire pour récupérer tes mots de passe ?
    Tout dépend de l'endroit où ils sont stockés, dans la base sécurité ou dans la base de données même avec une gestion personnelle de ceux-ci et de l'algorithme de chiffrement, bijectif ou pas ?
  • aimer_Delphi
    Membre actif
    Bonjour les amis

    est il possible de stocké les mot de passes des utilisateur dans une base de données et non pas dans la base sécurité ?
  • SergioMaster
    Rédacteur/Modérateur
    Bonjour,
    Envoyé par Artemus24

    J'espère pour lui qu'il possède aussi les sources ! Je me demande s'ils sont stockés en dur dans les programmes ?
    Oui à l'exclamation, non à la question
    pour plus de précision (sans dévoiler mon chiffrement) avec les sources et en exécutant le(s) programme(s) en mode débogage il y a un endroit (obligatoirement) ou le mot de passe revient en clair juste avant la connexion c'est là que je récupère (déjà 90% de fait) les mots de passe

    @Artemus24 pour le reste de ton explication tu oublies de préciser qu'il s'agit de Firebird version 3


    J'aimerai savoir où trouver la documentation complète sur ce que l'on peut mettre dans le fichier "database.conf" ?
    Et en particulier sur FireBird, la version 3.0.0 et tout ce qui concerne la sécurité.
    pas en particulier puisque databases.conf n'apparaît qu'à partir de cette version, c'est le nouveau petit nom de aliases.conf
    si tu lis l'espagnol je trouve que ce blog est pas mal documenté sinon l'adresse de la doc officielle http://firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb3-fbconf-perdatabase.html
  • Artemus24
    Expert éminent sénior
    Salut SergioMaster.

    Le chiffrement ne m'intéresse pas. C'est la méthode utilisée pour stocker tes mots de passe qui m'intéresse.
    C'est-à-dire l'accès à ceux-ci, par la vérification de la conformité entre ce que tu saisis et ce qui est stocké.

    Merci pour le lien vers le site espagnol. Je le trouve plus complet !
    Non, je ne parle pas espagnol, mais avec la traduction automatique et sous le navigateur google chrome, j'arrive à comprendre.

    @+
  • devalender
    Membre éprouvé
    Envoyé par Artemus24
    Salut SergioMaster.
    Merci pour le lien vers le site espagnol. Je le trouve plus complet !
    Non, je ne parle pas espagnol, mais avec la traduction automatique et sous le navigateur google chrome, j'arrive à comprendre.
    oui une mine d'information ça ma permis de comprendre beaucoup de chose surtout sur FB 3.

    j'hésitait depuis sur la migration de ma base

    Merci
  • SergioMaster
    Rédacteur/Modérateur
    Bonjour,
    Envoyé par Artemus24

    Le chiffrement ne m'intéresse pas. C'est la méthode utilisée pour stocker tes mots de passe qui m'intéresse.
    C'est-à-dire l'accès à ceux-ci, par la vérification de la conformité entre ce que tu saisis et ce qui est stocké.
    les mots de passe ou du moins les mots de passes cryptés sont stockés soit dans la base (une table UTILISATEURS) soit dans un fichier Ini (pour la connexion à la base) voire dans un cas.

    la connexion à la base se fait, grosso-modo) en indiquant password=decrypte(motdepassecrypté) et bien sur dans le paramétrage de l'application, ou tout autre endroit permettant d'enregistrer le mot de passe la fonction inverse permet de transformer le mot de passe en clair en valeur cryptée (rien de bien sorcier en fait)

    je soupçonne que des plugs-in puissent faire ceci avec FB 3