Jump to content

SQL Server 2008 Brute Force Attact prevention


junior
 Share

Recommended Posts

Καλημέρα, χθές είχα μια συζήτηση περί Brute Force σε SQL Server 2008 και θα ήθελα τη γνώμη σας σχετικά με το πως μπορούμε να κόβουμε το connection με τον SQL Server όταν μία Ip προσπαθεί με Brute Force Attact να κάνει login. Έχοντας firewall μπροστά από τον SQL Server επιτρέποντας μόνο την 1433 πάλι δε μας εξασφαλίζει από την επίθεση αυτή.

 

Ευχαριστώ

Link to comment
Share on other sites

Δηλαδή ο SQL πρέπει να είναι Internet Facing απο ότι κατάλαβα. Δεν θα πρέπει να βγάλεις την 1433 εάν υπάρχει τέτοια ανάγκη κάνε ένα vpn ή αλλαξε την πόρτα του router εάν έχεις Nat-ed σύνδεση και το ανάλογο config. Αυτά είναι συνήθως bot-ακια που τρέχουν μόνα τους στο Internet.

 

Εάν έχεις πραγματικές Ip-routed διευθύνσεις τότε ή θα στείσεις καλύτερα το Firewall να επιτρέπει μόνο κάποιες να μιλάνε με αυτή του SQL ή να αλλάξεις μια πόρτα καθώς τα Bot-ακια πάνε απευθείας στην 1433

Link to comment
Share on other sites

Ακριβώς το ίδιο πρόβλημα είχα και εγώ. Έχω ένα SQL server πάνω σε static ip. Κακός σχεδιασμός, δεν τον έφτιαξα εγώ, δεν μπορεί να αλλάξει.

 

Και ανακαλύπτω ότι άρχισε να δέχεται επιθέσεις brute force!

 

Έψαξα να βρω εργαλεία που να το εμποδίζουν, και δεν βρήκα τίποτα!

 

Βασικά ο λόγος που ήρθα εδώ είναι αυτός, και βλέπω το συγκεκριμένο thread πρώτο πρώτο!

 

Τέλος πάντων, μετά από ψάξιμο, ψάξιμο, και πάλι ψάξιμο, δεν βρήκα κάποιο εργαλείο που να μπορεί να κόβει τους επιτιθέμενους.

 

Οπότε έφτιαξα ένα δικό μου :)

 

Βρίσκεται ακόμα σε στάδιο δοκιμής, αλλά δουλεύει πολύ καλά. Έχω έτοιμη την βασική μηχανή, απλά μου μένει να βάλω το "περιτύλιγμα", updates, security κλπ

 

Αυτό που κάνει το εργαλείο είναι να ανιχνεύει τα αποτυχημένα login και εάν αυτά ξεπεράσουν κάποιο παραμετρικό threshold, τότε εφαρμόζει αυτόματα μία πολιτική IPSec που μπλοκάρει το επιτιθέμενο ip.

 

Το εργαλείο είναι ακόμα υπό ανάπτυξη, καθώς τα Windows δεν έχουν ομοιομορφία μεταξύ τους στο IPSec και στο πως να το χειρίζεσαι.

 

Link to comment
Share on other sites

Παρεπιπτόντως, το έχω φτιάξει με τέτοιο τρόπο που δουλεύει επίσης με mySQL. Επίσης δίνω και API για developers για να το ενσωματώσουν στις εφαρμογές τους (είτε desktop, είτε web).

 

Για την ώρα μόνο σε Windows & .NET.

 

 

Link to comment
Share on other sites

Καλησπέρα και από εμένα και καλή χρονιά σε όλους. Αν μιλάμε για μη Microsoft λύσεις ίσως το feature Web Application Security του Astaro είναι μια λύση (http://www.astaro.com/solutions/web-application-security) . Βέβαια το Astaro είναι πλήρης λύση security gateway. απλά το αναφέρω.

Link to comment
Share on other sites

Φίλε band, έψαχνα για την Astaro τις τελευταίες μέρες. Φαίνεται ότι ούτε αυτοί έχουν κάποιο εργαλείο για ανίχνευση brute force επιθέσεων.

 

Γενικότερα, και πέρα από τον sql server, και σας παρακαλώ διορθώστε με, ενώ υπάρχουν αρκετά εργαλεία (sw/hw) για σχεδόν όλων των ειδών τις επιθέσεις, δεν βρήκα κάτι, είτε Astaro, είτε Cisco, είτε sw που να αντιμετωπίζει brute force! Όλα τα άλλα ναι, αλλά brute force όχι.

 

Και μέχρι ενός σημείου είναι και λογικό. Αφ'ενός μεν λόγω αρχιτεκτονικής (κάποιος server ή εφαρμογή πρέπει να φαίνεται προς τα έξω), αφ'ετέρου δε οι επιθέσεις brute force είναι κατά κανόνα application specific! Δύσκολα το hardware θα παρακολουθήσει κάποια εφαρμογή.

 

Βρήκα μία ενδιαφέρουσα προσέγγιση, αλλά δεν μου άρεσε (τελικά). Ένα πρόγραμμα το οποίο έβλεπε τις ταυτόχρονες tcp συνδέσεις από κάποιο συγκεκριμένο ip. Εάν ήταν πάνω από κάποιο όριο, τότε κόφτης IPSEC.

 

Το απέρριψα ως πολύ γενικό και δύσκολο στην ανίχνευση. Δεν διακρίνει εφαρμογές. Μπορεί να έχω έναν sql server με 10000 χρήστες και έναν mysql με 1 χρήστη. Πως θα καταλάβει ποιος τρώει brute force και ποιος απλά δέχεται λανθασμένη εισαγωγή credentials.

Link to comment
Share on other sites

Να ρωτήσω κατι που δεν κατάλαβα.

Εχω ένα sql έστω (κακώς) χύμα με μια static ip. και τι τον κανω ? θέλω χρήστες να μπαίνουν μέσα να φτιάχνουν πίνακες ? φαντάζομαι όχι. Το μόνο που μπορώ να σκεφτώ είναι ένα application να μιλαει μ αυτόν (sharepoint, είτε iis ) και τότε απλά βάζω τον firewall να δέχεται μονο απο συγκεκριμένο ip και mac address. ή δεν είναι τόσο απλά τα πράγματα ?

τελευταία για καποια projects χρησιμοποιώ vyatta, ειναι απλα καταπληκτικό και παίζει και virtual.

Link to comment
Share on other sites

Το σωστό για τέτοια εγκατάσταση είναι να είναι όλα πίσω από το firewall.

 

Αλλά έχει και σενάρια που το hosting είναι shared και τραβάει δεδομένα από κάποιο erp.

 

Εκεί μπορείς να βάλεις ένα exception και έγινε η δουλειά.

 

Τι γίνεται όμως εάν γυρνάνε έξω πχ πωλητές που μπαίνουν στο erp και έχουν στημένο το client;

 

Εκεί κανονικά θέλει vpn, ίσως κάτι σε terminal services... έχει πολλές προσεγγίσεις, άλλες φτηνές, άλλες ακριβές.

 

Το δικό μου σκεπτικό δεν προορίζεται μόνο για τον sql server, πρακτικά παίζει και με custom εφαρμογές - web services - sites

Link to comment
Share on other sites

Καλησπέρα σε όλους,

Το φαινόμενο αυτό όντως έχει παρατηρηθεί και μου έχει τύχει και έμενα προσωπικά,

Υπάρχουν όμως λύσεις έτοιμες για τέτοιου είδους φαινόμενα, με κάποιο application level firewall, μπορείς εύκολα να δημιουργήσεις ένα πολύ ασφαλές περιβάλλον.

Μέσα απο τον FTMG 2010 αλλά και ISA Server 2006, μπορούμε έυκολα να παραμετροποιήσουμε τα Flood Mitigation Connections ώστε να αποτρέψουμε τέτοιου είδους προβλήματα.

Ειδικά όμως όταν μιλάμε για Point to Point συνδέσεις είναι λογικότατο μέσω απλών settings των κοινών firewalls να επιτρέπεις μόνο συνδέσεις απο συγκεκριμένες static ip's, όπως ανέφερε πολύ σωστά και ο φίλος brand.

Εάν θέλουμε το connection  να κάνει και Header Authentication σε κάθε πακέτο του παραλήπτη μπορούμε μέσα σε 10 min να έχουμε έτοιμο το περιβάλλον μας με IPSec.

Επίσης μπορούμε να εφαρμόσουμε και encryption στα πακέτα μας, το οποίο κρίνεται και σκόπιμο σε τέτοιου είδους DATA!

Δεν θα συμφωνήσω με το φίλο Dimos ότι :

"τα Windows δεν έχουν ομοιομορφία μεταξύ τους στο IPSec και στο πως να το χειρίζεσαι"

Ειδικά με την έλευση του 2008 /R2 Server και Windows Vista/ 7 το ipsec έχει γίνει σαφώς πιο εύκολο στην παραμετροποίηση και υλοποίηση ..

Πρώτος τρόπος μέσω του Windows Firewall with Advanced Security.

Και δεύτερος τρόπος μέσω Group policy.

Με αυτές τις τακτικές είμαι σίγουρος πως μπορείτε να ασφαλίσετε σωστά το δίκτυο σας, και να προφυλαχτείτε απο τέτοιου είδους επιθέσεις.

Θα ήθελα όμως να ακούσω και τον Αντώνη, που είμαι σίγουρος πως γνωρίζει τις τακτικές που ΠΡΕΠΕΙ να εφαρμόσουμε σε τέτοιου είδους επιθέσεις στον SQL μας...

ΑΝΤΩΝΗ...περιμένουμε........

V

ΥΓ.. Για τους users που έχουμε εκτός εταιρίας, Window 7, και θέλουν να δουλέυουν απο όπου και να βρίσκονται, και θα είναι Domain Members, μπορείς να υλοποιήσεις το Direct Access που πραγματικά ξενοιάζεις ...και αρκετά οικονομικό....

 

 

 

 

Link to comment
Share on other sites

Παρών, καλημέρα και καλη χρονια σε όλους και καλή φώτισει μιας και σήμερα είναν των Φώτων.

Αν και διαφωνώ κάθετα & οριζόντια με το να έχεις τον SQL Server φάτσα φόρα στο internet, όπως επίσης διαφωνώ με τη λογική ότι δεν μπορώ να κάνω κάτι γιατί έτσι είναι σχεδιασμένη η εφαρμογή (να αλλάξει ή την πετάμε), εντούτοις μπορείς να κάνεις κάποια πραγματάκια.

Τα περισσότερα τα έχετε ήδη πει firewalls, IPSec (καλοοο) κλπ.

Επειδή όμως από ότι έχω καταλάβει από την όλη σηζήτηση ότι δεν έχετε δει αυτό http://msdn.microsoft.com/en-us/library/bb283235.aspx το οποίο περιέχει αναλυτικά τα βήματα για το πως να κάνεις secure τον SQL Server το δίνω με σκοπό να γίνει γνωστό.

Θα σταθώ σε μερικά όμως θέματα τα οποία φυσικά και υπάρχουν στο παραπάνω Link

  1. Αλλάζουμε την 1433 σε κάτι άλλο.
  2. Δεν έχουμε ενεργοποιημένο το SQL Server Browser service.
  3. Κάνουμε Enforce Windows Password Policy on SQL Server Logins.
  4. Κάνουμε Encrypting Connections to SQL Server
  5. Τέλος θα ήθελα να διαβάσετε με μεγάλη προσοχή αυτό Network Protocols and TDS Endpoints. Λιγουλάκι δύσκολο τασκ αλλά αρκετά καλό να γίνει.

Όπως είχα πει και στο τελευταίο SQL Saturday Night που σαν θέμα είχε το security ότι θα πρέπει να κάνω ακόμα ένα για το πως να κάνεις τον SQL Server Secure, με το thread αυτό μάλλον θα πρέπει να το επισπεύσω.

Ελπίζω να βοήθησα με αυτά

Link to comment
Share on other sites

Καλησπέρα,

 

Ευχαριστώ όλους για τις απαντήσεις σας.

 

1. Ο SQL Server είνια πίσω από Firewall και έχει την 1433 είναι σε Hosting περιβάλλον οπότε οι πελάτες πρέπει να μπαίνουν με τον πιο απλό τρόπο.

 

2. Ακόμα και secure ναι είναι το password παρόλα αυτά δε θα θέλαμε κάποιος με ένα πρόγραμμα να κάνει όλη την ώρα failed logins (από θέμα απόδοσης στο SQL Server δε θα έχει θέμα?), μη μας κάνει κανα DOS.

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...