Το Cisco Secure Client σάς δίνει δύο τρόπους να απαντήσετε στις ίδιες προτροπές σύνδεσης: ένα άτομο που πληκτρολογεί στο vpnui.exe, ή ένα σενάριο που τροφοδοτεί απαντήσεις στο vpncli.exe μέσω της τυπικής εισόδου με το -s. Ο δεύτερος τρόπος κάνει δυνατές τις προγραμματισμένες συνδέσεις χωρίς ανάγνωση της οθόνης του γραφικού περιβάλλοντος, και επίσης μετατρέπει μια σύνδεση σε αρχείο που πρέπει να προστατεύεται σαν διαπιστευτήριο. Ποιον θέλετε εξαρτάται από το αν υπάρχει άνθρωπος στη μηχανή και από το πόσο συχνά αλλάζει ο κωδικός πρόσβασης. Καμία από τις δύο επιλογές δεν αλλάζει τι ζητά η πύλη, μόνο ποιος απαντά.

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

Δύο τρόποι να απαντήσετε στις ίδιες προτροπές

Η διαδρομή του γραφικού περιβάλλοντος είναι διαδραστική εκ σχεδιασμού: ο πελάτης ρωτά, κάποιος απαντά, και η συνεδρία ζει όσο αυτό το άτομο την αφήνει ήσυχη. Είναι η σωστή επιλογή σε φορητό υπολογιστή που χρησιμοποιεί άνθρωπος, γιατί οι προτροπές προσαρμόζονται στη μέθοδο ταυτοποίησης της πύλης και κανείς δεν χρειάζεται να κρατά κωδικό σε απλό κείμενο στον δίσκο.

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

Μην αναμιγνύετε τα δύο στην ίδια μηχανή ταυτόχρονα. Η γραμμή εντολών και ο γραφικός πελάτης ανταγωνίζονται για την ίδια κατάσταση συνεδρίας, και αυτό είναι το πρόβλημα της επόμενης ενότητας.

Τι πρέπει να περιέχει το αρχείο απαντήσεων

Ο πελάτης ρωτά με σειρά — πύλη, μερικές φορές επιλογή ομάδας, όνομα χρήστη, κωδικό πρόσβασης και οποιαδήποτε επιβεβαίωση πανό. Ένα αρχείο που απαντά σε όλα αυτά μοιάζει έτσι, με πραγματικές τιμές στη θέση τους:

connect vpn.example.com
MyGroup
alice
correct-horse-battery
y

Ο αξιόπιστος τρόπος να φτιάξετε αυτό το αρχείο είναι να συνδεθείτε μία φορά με τα χέρια, να σημειώσετε κάθε γραμμή που πληκτρολογείτε και κάθε πάτημα Enter, και μετά να αναπαράγετε ακριβώς αυτή τη σειρά. Εγκαταστάσεις που αποθηκεύουν την ομάδα και το όνομα χρήστη στο προφίλ μπορεί να χρειάζονται κενές γραμμές εκεί όπου αυτές οι προτροπές δεν εμφανίζονται πια, και η τελευταία γραμμή χρειάζεται ακόμη τη δική της αλλαγή γραμμής. Ένα αρχείο που λείπει μία γραμμή συνήθως κολλά στην τελευταία προτροπή αντί να αποτύχει με σαφές σφάλμα, και γι’ αυτό κατηγορείται το δίκτυο. Συγκρίνετε το αρχείο με το αντίγραφό σας δύο φορές, μία για τη σειρά και μία για τις κενές γραμμές.

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

Γιατί το γραφικό περιβάλλον πρέπει να φύγει πρώτο

Ξεκινήστε το σενάριο τερματίζοντας τη διεργασία του γραφικού περιβάλλοντος και μετά εκτελέστε το CLI από τον δικό του κατάλογο εγκατάστασης, γιατί μετρά και ο κατάλογος εργασίας και η έκδοση του πελάτη. Ένα ενδεικτικό περιτύλιγμα:

@echo off
taskkill /IM vpnui.exe /F >nul 2>&1
cd /d "%PROGRAMFILES(x86)%\Cisco\Cisco Secure Client"
vpncli.exe -s < C:\secure\login.txt

Οι κωδικοί εξόδου δεν είναι αξιόπιστο σήμα επιτυχίας εδώ. Ο πελάτης τυπώνει την πρόοδό του και κρατά το τούνελ σε ξεχωριστή διεργασία, οπότε διαβάστε την έξοδο για τη γραμμή κατάστασης σύνδεσης και μόνο τότε ξεκινήστε την εργασία που εξαρτάται από το VPN.

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

Επιβεβαιώστε μια συνεδρία, μην την υποθέσετε

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

Έπειτα αποφασίστε ποιος είναι υπεύθυνος για την επανασύνδεση. Ένας βρόχος που κάνει ping σε εσωτερική διεύθυνση και επανεκτελεί τη σύνδεση μπορεί να κρατήσει ένα περίπτερο σε απευθείας σύνδεση για μήνες, και μπορεί επίσης να κλειδώσει έναν λογαριασμό την πρώτη φορά που αλλάζει ο κωδικός. Περιορίστε τον αριθμό των προσπαθειών, ειδοποιήστε όταν ξεπεραστεί και αφήστε την ομάδα ταυτοτήτων να αλλάξει το αρχείο αντί να αφήσετε έναν παλιό κωδικό να επαναλαμβάνει προσπάθειες μέχρι το κλείδωμα.

Το παλιότερο vpnclient.exe δεν είναι το ίδιο εργαλείο

Η ίδια αυτοματοποίηση εμφανίζεται με παλιότερο όνομα, και τα δύο δεν είναι ανταλλάξιμα. Ο αποσυρμένος πελάτης Cisco IPsec χρησιμοποιούσε το vpnclient.exe με ενσωματωμένα ορίσματα όπως ένα ρήμα connect, όνομα προφίλ, χρήστη και κωδικό σε μία γραμμή εντολών, ενώ το vpncli.exe περιμένει μια σειρά προτροπών στην τυπική είσοδο με το -s. Η αντιγραφή ενός παλιού σεναρίου φόρουμ σε σημερινή μηχανή παράγει επομένως μια εντολή που εκτελείται, δεν κάνει τίποτα ορατό και ρίχνει το φταίξιμο στην πύλη.

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

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