Τρεις αποφάσεις διεύθυνσης πριν βάλετε αισθητήρες IoT πίσω από VPN
Τρεις διευθύνσεις εκτελούν τρεις ρόλους: ο δημόσιος κόμβος, ο πιστοποιημένος ομότιμος της τοποθεσίας και η ιδιωτική διεύθυνση του αισθητήρα. Σχεδιάστε καθεμία πριν διαθέσετε οτιδήποτε δημόσιο.
Τρεις διευθύνσεις μπερδεύονται σε κάθε σχέδιο IoT μέσω VPN, και δεν είναι το ίδιο είδος απόφασης. Η μία είναι πώς ένας απομακρυσμένος χειριστής βρίσκει το τελικό σημείο της σήραγγας, η άλλη είναι πώς η τοποθεσία αποδεικνύει ότι είναι η τοποθεσία, και η τρίτη είναι πού ακούει πραγματικά η υπηρεσία του αισθητήρα. Απαντήστε τις με αυτή τη σειρά και ο σχεδιασμός σχεδόν προκύπτει μόνος του. Απαντήστε τις ως μία ερώτηση και καταλήγετε να αναθέτετε δημόσιες διευθύνσεις σε συσκευές που δεν χρειάστηκαν ποτέ καμία. Ένας αισθητήρας πίσω από εξερχόμενη σήραγγα τοποθεσίας είναι προσβάσιμος από εξουσιοδοτημένο χειριστή χωρίς κανέναν κανόνα εισόδου που να δείχνει στον αισθητήρα.
Ξεκινήστε με το ποιος ξεκινά
Το ποιος καλεί καθορίζει σχεδόν τα πάντα παρακάτω. Όταν η τοποθεσία καλεί έναν κόμβο, η τοποθεσία δεν χρειάζεται προσβασιμότητα εισόδου, και ο κόμβος χρειάζεται όνομα ή διεύθυνση που η τοποθεσία μπορεί να επιλύσει. Αυτή η μία επιλογή αφαιρεί το μεγαλύτερο μέρος της συζήτησης για στατική δημόσια διευθυνσιοδότηση πριν αυτή ξεκινήσει.
Οι τρεις ρόλοι χωρίζονται έπειτα καθαρά, και ο πίνακας παρακάτω είναι η συντομότερη μορφή της απόφασης.
| Decision | What you are actually choosing | Usual default |
|---|---|---|
| Hub endpoint | How the tunnel service is published | A DNS name, no inbound rule toward the site |
| Site peer | How the site proves its identity and which prefixes it carries | One key pair or certificate per site, prefix in the tunnel config |
| Sensor service | How the application is addressed inside the site | A stable private address from the site plan |
Κάθε γραμμή έχει διαφορετικό ιδιοκτήτη, και αυτό είναι το πραγματικό σημείο. Ο κόμβος ανήκει σε όποιον τρέχει την υπηρεσία VPN, ο ομότιμος τοποθεσίας στην ομάδα δικτύου, και η διεύθυνση του αισθητήρα σε όποιον κατέχει τη συσκευή.
Η διεύθυνση του κόμβου είναι εκκίνηση, όχι προορισμός
Ένα όνομα που επιλύεται σε συντηρούμενη δημόσια διεύθυνση αρκεί για τον κόμβο. Μια εγγραφή DNS μπορεί να ακολουθεί το τελικό σημείο όταν μετακινείται, χωρίς χειροκίνητη επεξεργασία κάθε διαμόρφωσης τοποθεσίας. Αυτό που δεν κάνει το DNS είναι να δημιουργεί προσβασιμότητα ή να ανανεώνει έναν πελάτη που αποθηκεύει την παλιά απάντηση, και αυτά είναι ξεχωριστά προβλήματα με ξεχωριστές λύσεις.
Αν τρέχετε σήραγγες τοποθεσίας-σε-τοποθεσία χωρίς κόμβο, η ίδια λογική ισχύει σε άλλη μορφή: η μία πλευρά χρειάζεται προσβάσιμο τελικό σημείο, ή και οι δύο πλευρές καλούν τρίτο μέρος. Κάποιος πρέπει ακόμη να κατέχει αυτή τη διεύθυνση και τις ανανεώσεις της.
Ο ομότιμος τοποθεσίας είναι ταυτότητα με πρόθεμα
Ο ομότιμος είναι πρώτα ταυτότητα και δεύτερο πρόθεμα. Με όρους WireGuard ο ομότιμος κρατά ζεύγος κλειδιών και η εγγραφή AllowedIPs του κόμβου δεσμεύει αυτό το κλειδί στο πρόθεμα της τοποθεσίας. Με όρους IKEv2 ένα πιστοποιητικό ή προ-κοινόχρηστο κλειδί ταυτοποιεί την τοποθεσία και οι επιλογείς κίνησής της λένε τι μπορεί να μεταφέρει. Η αλλαγή μόνο του ενός μισού σπάει τη διάταξη, γι’ αυτό μια αλλαγή διεύθυνσης δεν πρέπει ποτέ να αντιμετωπίζεται ως αλλαγή ταυτότητας.
Κρατήστε την κυριότητα του κλειδιού ή του πιστοποιητικού στην τοποθεσία και όχι στον χειριστή του κόμβου, ώστε μια αλλαγή παρόχου να μην γίνει αλλαγή ταυτότητας.
Το πρόθεμα είναι το μέρος που ξεχνούν να σχεδιάσουν. Ο κόμβος πρέπει να συσχετίσει το υποδίκτυο του αισθητήρα με τον σωστό ομότιμο, και ο πελάτης του χειριστή χρειάζεται διαδρομή προς αυτό· μια διαδρομή που υπάρχει μόνο στον πελάτη στέλνει κίνηση σε μια σήραγγα που την απορρίπτει σιωπηλά. Γράψτε το πρόθεμα στην εγγραφή της τοποθεσίας δίπλα στο αποτύπωμα κλειδιού, ώστε μια πύλη αντικατάστασης να μην μπορεί να εμφανιστεί με διαφορετική κάλυψη χωρίς να το προσέξει κανείς.
Η διεύθυνση του αισθητήρα ανήκει στην εφαρμογή
Μια ιδιωτική διεύθυνση από το σχέδιο της τοποθεσίας αρκεί, και αυτό που χρειάζεται είναι σταθερότητα και όχι δημόσια προσβασιμότητα: μια δέσμευση DHCP, μια στατική ανάθεση ή ένα όνομα στη ζώνη της ίδιας της τοποθεσίας. Αν η συσκευή δεν μπορεί να αριθμηθεί εκ νέου, η μετάφραση στην πύλη της τοποθεσίας είναι νόμιμη απάντηση εφόσον η μετάφραση τεκμηριώνεται και η κίνηση επιστροφής την ακολουθεί.
Μια ακόμη συνήθεια που αξίζει να κρατήσετε: μην επικολλάτε ποτέ τη δημόσια διεύθυνση του κόμβου σε πεδίο επόμενου άλματος στον κεντρικό υπολογιστή του αισθητήρα. Το VPN εγκαθιστά τη δική του διαδρομή, και μια συνηθισμένη γειτνίαση Ethernet με δημόσιο τελικό σημείο είναι μια πλασματική κατάσταση που παράγει διαμόρφωση με πειστική εμφάνιση.
Οι απαντήσεις είναι το μισό που παραλείπεται. Η συσκευή πρέπει να στείλει την απάντησή της πίσω προς τη σήραγγα, είτε μέσω διαδρομής προς τον πελάτη του χειριστή είτε μέσω της ίδιας πύλης που μετέφρασε το αίτημα. Ένας αισθητήρας με λάθος προεπιλεγμένη πύλη δέχεται το αίτημα και απαντά στο κενό, και οι σημειώσεις προώθησης εξηγούν γιατί η άφιξη και η δρομολόγηση της απάντησης είναι δύο απαιτήσεις και όχι μία.
Αποφασίστε και μετά γράψτε το όριο
Γράψτε το όριο πρόσβασης πριν συνδεθεί οποιοσδήποτε. Περιορίστε την πύλη στο τμήμα IoT και στις συγκεκριμένες υπηρεσίες που χρειάζεται ο χειριστής, επειδή μια διαδρομή που λειτουργεί τείνει να γίνει γενική πρόσβαση κατά λάθος. Κρατήστε την παρακολούθηση μόνο για ανάγνωση και την εξουσία διαμόρφωσης ως ξεχωριστούς ρόλους με ξεχωριστές ταυτότητες, και ονομάστε το άτομο που αφαιρεί την πρόσβαση όταν λήξει η σύμβαση.
Η έγκριση ανήκει στον ιδιοκτήτη του δικτύου, και το να βρίσκεστε σε DMZ δεν είναι πολιτική πρόσβασης.
Η δοκιμή μετά την ανάπτυξη είναι βαρετή και αποφασιστική: ένα αίτημα εντός του επιτρεπόμενου προθέματος που πετυχαίνει, ένας μετρητής που αυξάνεται στην πύλη, και μία σκόπιμη προσπάθεια εκτός του προθέματος που αποτυγχάνει.