Οι ομάδες θέλουν SSMS στους φορητούς τους υπολογιστές, και η γρήγορη λύση είναι να δημοσιεύσουν τη θύρα SQL στο pool του VPN. Η πιο αργή απάντηση ρωτά πού πρέπει να εκτελείται η διεργασία πελάτη, επειδή η άμεση πρόσβαση και ένας εσωτερικός σταθμός εργασίας παράγουν διαφορετικές διευθύνσεις προέλευσης, εμπιστοσύνη τελικού σημείου και διαδρομές δεδομένων διαφορετικές. Καμία από τις δύο δεν είναι αυτόματα ασφαλής, και η ιδιότητα μέλους VPN από μόνη της δεν καθορίζει τίποτα. Συγκρίνετε τα σχέδια πριν υπάρξει κανόνας αποδοχής.

Δύο διαδρομές, δύο διευθύνσεις προέλευσης

Στην άμεση πρόσβαση ο φορητός μεταφέρει τη διαμόρφωση πελάτη και ανοίγει ο ίδιος τη σύνδεση με τη βάση δεδομένων. Σε έναν απομακρυσμένο σταθμό εργασίας ο φορητός ανοίγει συνεδρία επιφάνειας εργασίας, και ο σταθμός κάνει τη σύνδεση SQL από τη δική του διεύθυνση. Η βάση δεδομένων βλέπει επομένως το pool του VPN ή μια μεταφρασμένη πύλη στο πρώτο σχέδιο, και τη διεύθυνση του σταθμού στο δεύτερο. Αυτή η διαφορά καθορίζει ποιος κανόνας τείχους προστασίας και ποιο δικαίωμα SQL ισχύουν στην πράξη.

Ο φορητός εξακολουθεί να ελέγχει την απομακρυσμένη συνεδρία, άρα ο σταθμός δεν αντικαθιστά τον έλεγχο ταυτότητας χρήστη ή την πολιτική συνεδρίας.

Ελέγξτε τι βλέπει πραγματικά η βάση δεδομένων

Η διεύθυνση προέλευσης μετριέται αντί να συνάγεται από ένα διάγραμμα. Διαβάστε τη από την πλευρά του διακομιστή μιας ενεργής σύνδεσης.

Test-NetConnection sql.example.com -Port 1433
sqlcmd -S tcp:sql.example.com,1433 -N -d appdb -Q "select SUSER_SNAME() as login_name, DB_NAME() as db"

Η δοκιμή συνδεσιμότητας αποδεικνύει ότι ο ακροατής δέχεται TCP από εκείνο το δίκτυο, ενώ το ερώτημα αποδεικνύει ποια σύνδεση και ποια βάση δεδομένων έφτασε η συνεδρία. Για να δείτε τη διεύθυνση που κατέγραψε ο διακομιστής, υποβάλετε ερώτημα στο sys.dm_exec_connections για την τρέχουσα συνεδρία, το οποίο επιστρέφει τη διεύθυνση πελάτη μετά από οποιαδήποτε μετάφραση. Αν αυτή η τιμή είναι πύλη και όχι ο φορητός, ένας κανόνας κεντρικού υπολογιστή ανά χρήστη δεν μπορεί να λειτουργήσει στο μηχάνημα της βάσης δεδομένων. Γράψτε την τιμή που παρατηρήθηκε δίπλα στο επιλεγμένο σχέδιο, επειδή οι επανασυνδέσεις και οι αλλαγές pool τη μετακινούν.

Ανοίξτε τον ακροατή και τίποτα παραπάνω

Ανοίξτε μόνο την υπηρεσία που χρειάζεται η ανάπτυξη. Το γνωστό 1433 είναι η θύρα της προεπιλεγμένης παρουσίας και όχι μια καθολική σταθερά.

Get-NetTCPConnection -State Listen -LocalPort 1433

Οι ονομαστικές παρουσίες ακούν συχνά σε δυναμική θύρα, με τον SQL Server Browser να απαντά στην ανακάλυψη μέσω UDP 1434, και αυτή η εξάρτηση είναι ξεχωριστή έκθεση που πρέπει να δικαιολογηθεί. Η δέσμευση σταθερής θύρας για την παρουσία αφαιρεί την ανάγκη για Browser και κάνει τους κανόνες τείχους προστασίας σταθερούς. Διατηρήστε τους ελέγχους κρυπτογράφησης και πιστοποιητικών που εκτελεί ήδη ο πελάτης, αντί να τους απενεργοποιήσετε για να περάσει μια δοκιμή. Στη συνέχεια εκχωρήστε ρόλους βάσης δεδομένων για το φόρτο εργασίας, αντί να προσθέσετε ολόκληρη την ομάδα VPN σε ρόλο διακομιστή.

Αποδείξτε την επιτρεπόμενη διαδρομή και την απαγορευμένη

Ανοίξτε μια νέα συνεδρία ως συνηθισμένος εγκεκριμένος χρήστης και επιβεβαιώστε την ταυτότητα του διακομιστή, τη βάση δεδομένων και την απαιτούμενη λειτουργία. Στη συνέχεια επιβεβαιώστε τον αποκλεισμό: μια προέλευση ή λογαριασμός εκτός πολιτικής πρέπει να αποτυγχάνει στην ίδια δοκιμή. Για το σχέδιο σταθμού εργασίας, επαληθεύστε ότι ο φορητός δεν μπορεί να παρακάμψει το όριο φτάνοντας απευθείας στη βάση δεδομένων. Για άμεση πρόσβαση, επαληθεύστε ότι η διαδρομή και ο κανόνας προέλευσης ισχύουν ακόμη μετά από επανασύνδεση.

Καταγράψτε πού εκτελέστηκε ο πελάτης, ποια προέλευση παρατήρησε η βάση δεδομένων και ποιος κανόνας το επέτρεψε. Αυτά είναι τα στοιχεία που θα ζητήσει η επόμενη αναθεώρηση.

Σχετικά άρθρα