Partage
  • Partager sur Facebook
  • Partager sur Twitter

Springboot pose souci avec base de données azure

springboot bloque les nouvelles tentatives de connexion

    10 juin 2021 à 22:00:55

    Bonjour tout le monde,
    besoin d'aide svp ..
    J'ai un souci qui me casse la tête il y a plus d'une semaine.
    j'ai une app web springboot qui se connecte à une base de données postgreSQL sur azure.
    Le souci est que une fois cette application est connectée, il bloque toutes nouvelles connexions à la base de données.
    dans le log postgreSQL j'ai ça : authentication failed for user "*****": too many failed login attempts
    Et dans le log des autres app qui essaient de se connecter à la bdd, j'ai ça : FATAL: authentication failed for user "****": too many failed login attempts
    Ce que j'ai compris, c'est qu'il y a eu plusieurs tentatives de connexion qui ont échoué et que postgre verrouille l'utilisateur pour un certain temps et cela empêche les nouvelles connexions avec le même user.
    Ce problème se produit seulement quand l'app se connecte à une base de données sur azure.
    J'ai d'autres app en JAVA et c++ qui arrivent a se connecter correctement à la bdd et qui ne posent aucun souci par la suite.
    inforations sur l'env :
    -postgre 11 sur azure
    -Java 11 (openJDK).
    -SPringboot j'ai testé avec la version 2.1.1.RELEASE et 2.3.4.RELEASE
    -jdbc : j'ai testé avec la version 42.2.14. , 42.2.16 et 4.42.18
    -gestionnaire de pool de connexion Hikari
    -firewall azure vérifié.
    J'ai cherché par tous dans le net mais en vain et j'ai créé pas mal de ticket sur des forums (azure, GitHub) mais sans résultat.
    Merci pour votre aide.

    -
    Edité par MohamedAzeroual 10 juin 2021 à 22:11:37

    • Partager sur Facebook
    • Partager sur Twitter
      11 juin 2021 à 8:47:47

      Sur azure, la DB tourne sur quoi, saas (cloudsql) paas (docker image) iaas (install à la mano)?

      Comment est attaquée la DB (même cluster?, VPC?,VPN?)

      Comment sont géré les credentials? Tu utilises le même utilisateur pour différentes applications?

      • Partager sur Facebook
      • Partager sur Twitter
        11 juin 2021 à 10:34:21

        Merci,

        la db tourne sur cloudsql.

        la db est attaqué en ouvrant dans le firewall azure une autorisation de connexion pour une telle adresse IP.

        les credentials sont stockés dans un fichier .properties hashé.

        Pour info, l'application se connecte correctement à la base de données, c'est par la suite, une fois qu'elle est connectée qu'on a des souci. En plus, elle utilise les mêmes credentials que les autres app en JAVA et en C++.

        Merci,

        • Partager sur Facebook
        • Partager sur Twitter
          11 juin 2021 à 11:15:35

          Pour commencer, il faudra créer un utilisateur dédié, ça va améliorer la sécurité, tout en évitant les impacts que tu as actuellement sur les autres applications. Ca ne résoudra pas ton problème per se, mais ça évitera de continuer à tout casser.

          Attention à l'IP spoofing également, un VPN ou un mTLS ne seraient pas de trop en sus de l'ip whitelisting.

          • Partager sur Facebook
          • Partager sur Twitter
            11 juin 2021 à 15:22:24

            Merci pour ces conseils.

            Effectivement, ce que j'avait fait. Mais le problème c'est que si je redémarre la même application (qui peut arriver souvent) je tombe dans le même souci, elle ne veut pas démarrer, il faut que j'attende environ 15 mins le temps que le user se débloque.

            • Partager sur Facebook
            • Partager sur Twitter
              11 juin 2021 à 15:57:07

              Met le logger de ton connection pool en debug et regarde ce qu'il raconte.
              • Partager sur Facebook
              • Partager sur Twitter

              Springboot pose souci avec base de données azure

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown