Que dois-je faire si une personne tente de forcer la connexion à notre compte SQL Server 'sa'?


9

Il semble que quelqu'un ou quelque chose tente de se connecter par force brute à notre instance de production SQL Server avec le compte «sa». Ils n'ont pas réussi car notre compte «sa» est désactivé, mais quelles mesures dois-je prendre pour m'assurer que les choses sont sécurisées?

tentatives de connexion


1
Hey. Marquez-le comme répondu afin que nous puissions continuer notre vie. :)
JohnThePro

Réponses:


29

Votre serveur SQL doit-il être accessible au public sur Internet? Ce n'est généralement pas le cas. Si cela doit absolument être ainsi, vous pouvez restreindre l'accès par adresse IP ou peut-être configurer un VPN. Évidemment, rendez le mot de passe sa inaccessible ou voyez comment restreindre les emplacements de connexion sa à partir de vos adresses IP LAN uniquement. Veuillez fournir plus de détails afin que d'autres puissent vous aider avec de meilleures solutions.


3
Absolument ça. Il s'agit d'un cas classique pour utiliser des pare-feu et minimiser votre surface d'attaque.
Rob Moir

De plus, ce n'est pas quelqu'un. C'est à peu près un ver là-bas, pas un humain. SQL Server sur Internet + ne change pas le port par défaut = ignorer complètement la réalité (Internet n'est pas un endroit agréable).
TomTom

5

La première chose que vous pourriez faire est de commencer par mettre cette adresse IP sur liste noire et de refuser tout trafic provenant de leur IP sur votre pare-feu. Bien sûr, ils peuvent simplement changer d'adresse IP, mais au moins cela les empêchera de bombarder votre serveur de trafic et de journaux.


3

Désactivez ce port (MySQL est 3306; ne vous souvenez pas du port de SQL Server, peut-être 118?) Via le pare-feu. Ensuite, personne ne peut y accéder.
Si un accès extérieur à SQL est nécessaire, remappez-le sur un port de numéro élevé, comme 53535. Si quelqu'un découvre que le port est ouvert, il sera difficile de deviner sa signification.


1433; s'il doit être ouvert sur l'extérieur, changez-le en à peu près n'importe quoi d'autre; cela impliquera cependant de changer les chaînes de connexion sur les clients.
SqlACID

Et aussi 1434, pour le service découverte ...
AviD

3

La connexion tente d'impliquer des tentatives d'injection de code malveillant. Je recommande de bloquer cette activité avec une liste noire permanente à l'aide du logiciel de pare-feu du serveur ou d'un pare-feu externe tiers.

En outre, réduisez le nombre d'échecs de connexion autorisés car cela bloquera automatiquement l'adresse IP de l'intrus.

Ci-dessus permettra de minimiser cela.


2

C'est probablement juste un script kiddie exécutant un scanner et ne vaut pas la peine de poursuivre. Je voudrais envisager de ne pas avoir votre base de données accessible à partir d'Internet.


2
  • Si vous le pouvez, désactivez tous les accès aux comptes SQL, pas seulement sa - c'est-à-dire, activez uniquement l'authentification Windows, sans authentification SQL.
  • Limitez l'accès au réseau - via un pare-feu ou au moins des restrictions IP sur le boîtier - aux serveurs qui nécessitent uniquement un accès. Les utilisateurs publics n'ont pas besoin d'un accès direct, non?
  • Prenez en compte qu'il va probablement essayer de renforcer brutalement l'utilisateur administrateur local, ensuite. Bien que vous ne puissiez pas vraiment supprimer les autorisations de l'administrateur, vous pouvez le déposer dans un rôle spécifique et bloquer explicitement l'accès.
  • Si vous le pouvez, désactivez le service SQL Server Browser. Aucune raison de vous faciliter la tâche ...
  • Effectuez une analyse complète des utilisateurs, des autorisations et des mots de passe sur la base de données - ils essaieront probablement d'autres utilisateurs ensuite.
  • Essayez de demander à nouveau sur ITSecurity.SE pour plus d'informations :)

2

Si votre serveur SQL doit être accessible en dehors de votre réseau, vous pouvez mettre en liste blanche les adresses IP externes nécessitant un accès. Les VPN sont une meilleure solution (mais pas toujours disponible), et la meilleure solution n'est pas un accès extérieur.

La liste blanche nécessite plus de gestion, mais elle supprime cette bêtise. Si quelqu'un a besoin d'un accès et qu'il a une adresse IP qui change fréquemment, il peut alors se connecter à un autre système via RDP et se connecter au serveur SQL à partir de là.

Renommez le compte sa, créez un faux compte sa et désactivez-le.

Auditer les autorisations et déclencher une mise à jour du mot de passe pour tous les comptes d'utilisateurs SQL Server; peut-être augmenter les exigences de force de mot de passe.

Renumérotez le port d'écoute IP SQL Server. Cela signifie la mise à jour des configurations client ou des fichiers de configuration d'application.

Je suis d'accord avec d'autres affiches concernant les vecteurs d'attaques probables et c'est probablement quelqu'un qui exécute un script.


1

Pour tous ceux qui recherchent un programme qui créera la politique IPSEC, des filtres, etc. et analysera automatiquement le journal des événements et ajoutera des IP à la liste de blocage, j'ai écrit un petit programme qui fait exactement cela.

J'ai également eu ce problème où mon journal des événements était rempli de milliers d'entrées pour les pirates qui tentaient de se connecter à mon instance MSSQL avec la connexion «sa». Après de nombreuses recherches, j'ai décidé d'écrire mon propre programme, de lui faire créer les éléments IPSEC nécessaires, puis d'analyser le journal des événements toutes les 60 secondes pour détecter les attaques à partir de nouvelles adresses IP. Il ajoute ensuite l'adresse IP au filtre IPSEC et bloque tout le trafic vers et depuis l'IP. Je n'ai testé cela que sur Windows Server 2008, mais je pense que cela fonctionnera également sur d'autres versions.

N'hésitez pas à télécharger le programme en utilisant le lien ci-dessous. Les dons sont toujours appréciés en utilisant le lien dans le menu contextuel de l'icône du gestionnaire de tâches.

http://www.cgdesign.net/programs/AutoBlockIp.zip

Veuillez noter que cela ne fonctionne que pour les tentatives de connexion SQL à l'aide de la connexion «sa», mais je pourrais le modifier pour qu'il fonctionne également pour d'autres événements de journal. En outre, vous pouvez afficher les adresses IP qui ont été bloquées, mais vous continuerez à voir certains éléments dans le journal des événements car le programme ne s'exécute que toutes les 60 secondes. Cela est dû au fait de ne pas pouvoir supprimer une seule entrée du journal des événements, et je ne pensais pas que la suppression de tout le journal serait une bonne idée.

AVIS DE NON - RESPONSABILITÉ - En téléchargeant et en installant le programme susmentionné, vous acceptez de ne pas me tenir responsable de tout dommage, perte de données, corruption ou tout autre problème de fonctionnalité résultant de l'utilisation dudit logiciel. J'ai testé le programme au mieux de mes capacités et je l'ai actuellement exécuté sur 2 serveurs, mais vous avez été averti de l'utiliser à vos risques et périls.

Pour toute question ou commentaire, n'hésitez pas à me contacter en utilisant le formulaire de contact sur mon site www.cgdesign.net

-Chris


Vous divulguez bien votre affiliation avec le produit. Attention, nous n'apprécions généralement pas les séances de vente.
Scott Pack

0

Vous devez restreindre les tentatives de connexion, donc si le même utilisateur tente de se connecter plus de 5 fois, il est bloqué de toute nouvelle tentative pendant quelques heures ou une journée. Au moins, ils ne peuvent pas forcer une connexion brutalement après un million de tentatives.

Et comme d'autres l'ont dit, n'autorisez pas l'accès du public s'il n'est pas nécessaire. Vous pouvez restreindre l'accès à un ensemble d'adresses IP connues si certaines personnes ont besoin d'un accès extérieur.


1
Le compte est déjà désactivé, il ne peut pas être beaucoup plus désactivé.
mrdenny

@mrdenny: Je pensais davantage aux comptes non désactivés pour le premier paragraphe. Si quelqu'un force brutalement «sa», il peut facilement commencer avec un autre compte. Après 5 tentatives sur un compte désactivé, il vous suffit de les bloquer entièrement.
DisgruntledGoat

Les chatons de script n'attaqueront généralement que le compte sa car ils connaissent déjà le nom d'utilisateur. Sinon, ils doivent également forcer le nom d'utilisateur, ce qui prend deux fois plus de temps et ils n'ont aucun moyen de savoir si le nom d'utilisateur existe ou non.
mrdenny
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.