Γιατί να αποφύγετε την προώθηση της θύρας 1433
Έχετε έναν SQL Server στο γραφείο. Κάποιος εκτός αυτού του δικτύου — ένας αναλυτής από απόσταση, ένα εργαλείο αναφορών στο cloud, μια εφαρμογή που θέλει να φτιάξει η ομάδα — πρέπει να τον διαβάσει. Η γρήγορη λύση που προτείνουν όλοι: προώθηση της θύρας TCP 1433 από τον router στον server και άνοιγμά της στο firewall.
Δουλεύει, και γρήγορα. Είναι όμως και αυτό που σχεδόν κάθε υπεύθυνος ασφαλείας θα σας πει να μην κάνετε:
- Η οθόνη σύνδεσης γίνεται δημόσια. Οτιδήποτε στο internet φτάνει στον SQL Server και δοκιμάζει να συνδεθεί. Αυτόματοι scanners ψάχνουν ανοιχτή 1433 όλη μέρα, δοκιμάζοντας λογαριασμούς όπως
saμε λίστες κωδικών. - Η βάση γίνεται η περίμετρός σας. Κάθε καθυστερημένο patch και κάθε αδύναμο login είναι πλέον προσβάσιμα απ' έξω.
- Ο περιορισμός ανά IP βοηθά, αλλά είναι εύθραυστος. Αν κλειδώσετε την 1433 στις IP ενός προμηθευτή μειώνετε την έκθεση, αλλά οι διευθύνσεις αλλάζουν και κάποιος πρέπει να συντηρεί τη λίστα.
Αυτό που πραγματικά θέλετε είναι κάτι εξωτερικό να διαβάζει τη βάση χωρίς καμία εισερχόμενη θύρα. Υπάρχουν τέσσερις τρόποι.
Επιλογή 1: VPN
Το VPN φέρνει τον εξωτερικό «μέσα» στο δίκτυό σας. Ένα client VPN συνδέει το laptop ενός ατόμου· ένα site-to-site VPN ενώνει μόνιμα δύο δίκτυα.
Καλό για ανθρώπους. Ένας λογιστής από απόσταση με SQL Server Management Studio είναι ακριβώς η περίπτωση για την οποία φτιάχτηκαν τα VPN.
Όχι για εργαλεία SaaS. Οι περισσότερες υπηρεσίες cloud δεν μπορούν να μπουν στο VPN σας. Και το VPN gateway συνήθως ακούει σε εισερχόμενη θύρα: αλλάζετε μια εκτεθειμένη βάση με ένα εκτεθειμένο (πολύ καλύτερα θωρακισμένο) σημείο VPN.
Επιλογή 2: SSH tunnel μέσω bastion host
Πολλά εργαλεία cloud προσφέρουν «σύνδεση μέσω SSH tunnel». Συντηρείτε ένα μικρό μηχάνημα Linux (bastion) όπου το εργαλείο συνδέεται με SSH, και η κίνηση προς τον SQL Server περνά από αυτή τη συνεδρία.
Ευρεία υποστήριξη, και το SSH με κλειδιά είναι γνωστό, καλά ελεγμένο πρωτόκολλο.
Το μειονέκτημα: χρειάζεται ακόμα εισερχόμενη θύρα — συνήθως την 22 — ανοιχτή στο internet ή στις IP του προμηθευτή, σε μηχάνημα που πρέπει να ενημερώνετε και να παρακολουθείτε. Για γραφείο χωρίς δημόσια διεύθυνση ταιριάζει άσχημα, γιατί ο bastion πρέπει να είναι προσβάσιμος απ' έξω.
Επιλογή 3: Εξερχόμενο tunnel (Cloudflare Tunnel, ngrok, Tailscale)
Τα εξερχόμενα tunnels αντιστρέφουν την κατεύθυνση: μια μικρή υπηρεσία μέσα στο δίκτυό σας συνδέεται προς τα έξω, και η κίνηση επιστρέφει από αυτή την εξερχόμενη σύνδεση.
- Το Cloudflare Tunnel τρέχει το
cloudflaredστο δίκτυό σας, κάνει μόνο εξερχόμενες συνδέσεις προς το Cloudflare, και ελέγχετε την πρόσβαση με τις πολιτικές του. - Το ngrok ανοίγει εξερχόμενη σύνδεση και σας δίνει δημόσιο endpoint που προωθεί στην τοπική υπηρεσία. Βολικό για δοκιμές, αλλά χωρίς ελέγχους πρόσβασης το endpoint είναι προσβάσιμο από το internet.
- Το Tailscale φτιάχνει ιδιωτικό δίκτυο WireGuard ανάμεσα στις συσκευές που εγγράφετε. Μόνο τα μέλη του δικτύου σας φτάνουν στον SQL Server.
Χωρίς εισερχόμενο κανόνα και δημόσια IP. Δουλεύουν σε γραφείο που δεν έχει κανένα από τα δύο.
Αλλά είναι πρόσβαση στο δίκτυο, όχι στη βάση. Ό,τι φτάνει στο tunnel μιλά με τον SQL Server με τα δικαιώματα του login του. Πολιτικές, logins και παρακολούθηση μένουν σε εσάς. Και το εργαλείο SaaS στην άλλη άκρη πρέπει να μπορεί να χρησιμοποιήσει το tunnel — πολλά δεν μπορούν.
Επιλογή 4: Agent προμηθευτή που συνδέεται προς τα έξω
Κάποια προϊόντα φέρνουν δικό τους agent ακριβώς γι' αυτό. Τον εγκαθιστάτε σε μηχάνημα που βλέπει τη βάση· συνδέεται στο cloud του προμηθευτή και το προϊόν στέλνει τα ερωτήματα από αυτή τη σύνδεση.
- Το on-premises data gateway της Microsoft είναι το πιο γνωστό. Τρέχει σε Windows, συνδέεται εξερχόμενα στο Azure και εξυπηρετεί Power BI, Power Apps, Power Automate και Logic Apps. Αν η ομάδα ζει στο οικοσύστημα της Microsoft, είναι η προφανής επιλογή. (Το συγκρίνουμε αναλυτικά στον οδηγό μας για εναλλακτικές του on-premises data gateway.)
- Ο AgentUI Connector κάνει το ίδιο για εφαρμογές και πίνακες ελέγχου του AgentUI, με σκόπιμα στενότερο εύρος.
Γιατί είναι καθαρή λύση: καμία εισερχόμενη θύρα, καμία δημόσια διεύθυνση, και ο agent εξυπηρετεί μόνο τα προϊόντα του συγκεκριμένου προμηθευτή, οπότε δεν υπάρχει γενική διαδρομή δικτύου να σας απασχολεί.
Το αντίτιμο: ο καθένας εξυπηρετεί μόνο τα προϊόντα του δικού του προμηθευτή, και εμπιστεύεστε τον agent του — ελέγξτε τι μπορεί και τι δεν μπορεί να κάνει πριν τον εγκαταστήσετε.
Δίπλα-δίπλα
| Επιλογή | Ανοίγει εισερχόμενη θύρα; | Χωρίς δημόσια IP; | Ποιος φτάνει στη βάση | Ιδανικό για |
|---|---|---|---|---|
| Προώθηση 1433 | Ναι (1433) | Όχι | Όποιος φτάσει στη θύρα | Τίποτα μακροπρόθεσμα |
| VPN | Συνήθως, στο gateway | Εξαρτάται | Όποιος είναι στο VPN | Άτομα με πλήρη πρόσβαση |
| SSH tunnel μέσω bastion | Ναι (22, στο bastion) | Όχι | Όποιος έχει κλειδί του bastion | Εργαλεία cloud με SSH tunnel |
| Εξερχόμενο tunnel (Cloudflare Tunnel, Tailscale) | Όχι | Ναι | Όποιον επιτρέπει η πολιτική σας | Ομάδες που διαχειρίζονται πολιτικές πρόσβασης |
| Agent προμηθευτή (gateway, AgentUI Connector) | Όχι | Ναι | Μόνο τα προϊόντα αυτού του προμηθευτή | Χρήση των εργαλείων ενός προμηθευτή πάνω στα δεδομένα |
Αν ο στόχος είναι εφαρμογές και πίνακες ελέγχου πάνω σε αυτά τα δεδομένα
Αν αυτό που θέλετε είναι εσωτερικά εργαλεία, αναφορές ή πίνακες ελέγχου πάνω στη βάση του γραφείου, μετρά περισσότερο ο connector παρά το tunnel. Γι' αυτό υπάρχει ο connector του AgentUI για on-premise SQL Server:
- Μόνο εξερχόμενος. Συνδέεται μέσω HTTPS στη θύρα 443. Κανένας εισερχόμενος κανόνας, καμία αλλαγή στο firewall, καμία δημόσια διεύθυνση.
- Μόνο ανάγνωση. Εκτελούνται μόνο ερωτήματα
SELECTκαιWITH, και το καθένα αναιρείται στο τέλος. - Ο κωδικός μένει εκεί που είναι. Αποθηκεύεται μόνο σε εκείνον τον server (κρυπτογραφημένος στα Windows). Το AgentUI κρατά μόνο ένα αποτύπωμα του κλειδιού.
- Ανακλήσιμος. Ανάκληση με δύο κλικ· το κλειδί σταματά μέσα σε 25 δευτερόλεπτα.
- Όρια. Μόνο Microsoft SQL Server. Ερωτήματα κατά απαίτηση, έως 1.000 γραμμές και 30 δευτερόλεπτα το καθένα. Χωρίς αντιγραφή ή συγχρονισμό.
Εγκαθίσταται σε Windows, macOS ή Linux ως υπηρεσία. Μια τυπική περίπτωση είναι το SAP Business One σε Windows server. Αν συγκρίνετε εργαλεία κατασκευής εφαρμογών σε αυτό το σημείο, έχουμε γράψει και πώς συνδέεται το Retool σε on-premise SQL Server.
Ποια να διαλέξετε;
- Ένα άτομο χρειάζεται πλήρη πρόσβαση από το σπίτι: VPN.
- Ένα εργαλείο cloud υποστηρίζει μόνο SSH tunnels: ένας bastion κλειδωμένος στις IP του προμηθευτή, που τον αντιμετωπίζετε ως ακόμα έναν server για συντήρηση.
- Η ομάδα σας διαχειρίζεται άνετα πολιτικές πρόσβασης και θέλει γενική λύση: ένα εξερχόμενο tunnel όπως Cloudflare Tunnel ή Tailscale.
- Θέλετε ένα μόνο προϊόν να διαβάζει τα δεδομένα, τίποτα άλλο: ο εξερχόμενος agent αυτού του προϊόντος — το gateway της Microsoft για την Power Platform, ο AgentUI Connector για εφαρμογές AgentUI.
Αν σας αφορά το τελευταίο, συνδέστε τον SQL Server σας με τον AgentUI Connector. Μόνο ανάγνωση, και τον ανακαλείτε με δύο κλικ.
