Ανάπτυξη συμβατού διακομιστή VPN με AnyConnect με επαλήθευση πιστοποιητικού στο CentOS 7

Το AnyConnect είναι μια λύση απομακρυσμένης πρόσβασης που αναπτύχθηκε από τη Cisco. Γνωστό για τη φορητότητα και τη σταθερότητά του, ειδικά για την ικανότητα DTLS, το AnyConnect χρησιμοποιείται από πολλές εταιρείες. Θα χρησιμοποιήσουμε μια έκδοση ανοιχτού κώδικα, ocserv, η οποία είναι συμβατή με το πρωτόκολλο.

Θα αναπτύξουμε επίσης την επαλήθευση πιστοποιητικού. Ο διακομιστής θα αναγνωρίσει τους πελάτες ελέγχοντας ότι εάν το πιστοποιητικό του πελάτη έχει εκδοθεί από τη ρυθμισμένη αρχή έκδοσης πιστοποιητικών. Αυτό απλοποιεί σημαντικά τη διαμόρφωση στους πελάτες, καθώς θα χρειαστεί μόνο να εισαγάγουμε το πιστοποιητικό στον πελάτη (τις περισσότερες φορές ένα αρχείο pkcs12 ( .pfxή .p12)) και δεν απαιτούνται κωδικοί πρόσβασης. Αυτό είναι επίσης πιο ασφαλές, καθώς κανένας κωδικός πρόσβασης δεν ταξιδεύει στο Διαδίκτυο.

Ας αρχίσουμε.

Προαπαιτούμενα

  • Ένας πρόσφατα δημιουργημένος διακομιστής CentOS 7 με ενεργοποιημένο το IPv6
  • Ένας υπολογιστής που λειτουργεί (μπορεί να είναι ο ίδιος ο διακομιστής, αλλά έχει καταργηθεί (δείτε παρακάτω)) δείτε τη σημείωση 1
  • Ορισμένοι πελάτες με εγκατεστημένο λογισμικό πελάτη AnyConnect (ή OpenConnect), δείτε τη σημείωση 2

Σημειώσεις:

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

  2. Λόγω προβλημάτων αδειοδότησης, δεν θα παράσχω συνδέσμους για τη λήψη του λογισμικού πελάτη. Ωστόσο, η εύρεση τους για τον πελάτη σας είναι αρκετά εύκολη. Το AnyConnect είναι μια εφαρμογή στα App Stores σε μεγάλες πλατφόρμες για κινητές συσκευές (iOS, Android, BlackBerry OS (v10 ή νεότερη έκδοση), UWP αντίστοιχα και μια απλή αναζήτηση θα σας τις φέρει. Για πλατφόρμες υπολογιστών, κάποιο Googling θα σας παρουσιάσει το κατάλληλο λογισμικό.

Εγκατάσταση λογισμικού από την πλευρά του διακομιστή

Τα μηχανήματα CentOS 7 του Vultr έχουν ρυθμιστεί με το αποθετήριο EPEL. Απλώς εγκαθιστούμε ocservμε yum:

yum update
yum install ocserv

Θα χρειαστούμε ένα πιστοποιητικό διακομιστή για να λειτουργήσουν τα πράγματα. Εάν έχετε όνομα τομέα, το Let's Encrypt θα είναι η πιο εύκολη επιλογή.

yum install certbot
certbot certonly

Επιλέξτε "spin up a temporary web server" για έλεγχο ταυτότητας με το ACME CA. Εάν δεν έχετε domain, θα εκδοθεί αργότερα ένα αυτο-υπογεγραμμένο πιστοποιητικό.

Δημιουργία και διαμόρφωση πιστοποιητικού

Το παραδοσιακό PKI είναι μάλλον άβολο στη χρήση, επομένως θα χρησιμοποιήσουμε το easyrsaβοηθητικό πρόγραμμα από το έργο OpenVPN. Εγκαταστήστε το git στο μηχάνημα εργασίας σας και κλωνοποιήστε το αποθετήριο:

git clone https://github.com/OpenVPN/easy-rsa
cd easy-rsa/easyrsa3

Θα δημιουργήσουμε την ΑΠ και θα εκδίδουμε πιστοποιητικά. Κάντε τα εξής και γράψτε τη φράση πρόσβασης PEM που έχετε ορίσει κάπου:

./easyrsa init-pki
./easyrsa build-ca

Κρατήστε pki/private/ca.keyκάπου ασφαλές. Διαρροή που θα καταστήσει άχρηστη όλη την υποδομή σας.

Εάν επιλέξετε να χρησιμοποιήσετε ένα αυτο-υπογεγραμμένο πιστοποιητικό διακομιστή, κάντε τα εξής:

./easyrsa gen-req server

Και εισαγάγετε τη διεύθυνση IP του διακομιστή σας ως κοινό όνομα.

./easyrsa sign-req server server

Αυτό θα υπογράψει ένα πιστοποιητικό για τον διακομιστή. Μεταφορά pki/issued/server.crtκαι pki/ca.crtπρος /etc/ssl/certsκαι pki/private/server.keyπρος /etc/ssl/privateστον διακομιστή σας.

Στη συνέχεια θα δημιουργήσουμε πιστοποιητικά πελάτη. Κάντε τα εξής:

./easyrsa gen-req client_01
./easyrsa sign-req client client_01

Επιλέξτε ένα όνομα του πελάτη και συμπληρώστε το στο πεδίο κοινού ονόματος. Θυμηθείτε τη φράση πρόσβασης!

Στη συνέχεια θα εξάγουμε το πιστοποιητικό σε μορφή pkcs12 για χρήση σε πλατφόρμες για κινητές συσκευές. Κάνω:

./easyrsa export-p12 client_01

Επιλέξτε έναν κωδικό εξαγωγής τον οποίο θα σας ζητηθεί να εισαγάγετε κατά την εισαγωγή του πιστοποιητικού στο τηλέφωνο. Μεταφέρετε pki/private/client_01.p12στο τηλέφωνό σας και εισαγάγετε το.

Διαμόρφωση διακομιστή

Θα συμπληρώσουμε τα στοιχεία του πιστοποιητικού.

vim /etc/ocserv/ocserv.conf

Εντοπίστε την server-certενότητα και συμπληρώστε τα παρακάτω:

# If you use Let's Encrypt
server-cert = /etc/letsencrypt/live/example.com/fullchain.pem
server-key = /etc/letsencrypt/live/example.com/privkey.pem

# If you use self-signed server certificate 
server-cert = /etc/ssl/certs/server.crt
server-key = /etc/ssl/private/server.key

ca-cert = /etc/ssl/certs/ca.crt

Λάβετε υπόψη ότι εάν χρησιμοποιείτε αυτο-υπογεγραμμένο πιστοποιητικό, θυμηθείτε να αφαιρέσετε πρώτα τη φράση πρόσβασης openssl rsa -in server.key -out server-new.keyγια ocservνα μπορέσετε να χρησιμοποιήσετε το ιδιωτικό κλειδί.

Εντοπισμός authενότητας. Ενεργοποιήστε αυτήν τη γραμμή:

auth = "certificate"

Και σχολιάστε όλες τις άλλες authγραμμές.

Καταργήστε το σχόλιο αυτής της γραμμής:

cert-user-oid = 2.5.4.3

Εντοπίστε ipv6-networkκαι συμπληρώστε το μπλοκ ipv6 του διακομιστή σας. Αυτό είναι το μπλοκ από το οποίο ο διακομιστής θα δώσει μισθώσεις.

ipv6-network = 2001:0db8:0123:4567::/64
ipv6-subnet-prefix = 124 

Ορισμός διακομιστών DNS.

dns = 8.8.8.8
dns = 8.8.4.4

Ενεργοποιήστε τη συμβατότητα με πελάτες Cisco.

cisco-client-compat = true

Ανοίξτε τις θύρες που έχετε ορίσει στο tcp-portκαι udp-portκαι να ενεργοποιήσετε μασκαράτα τόσο για IPv4 και IPv6 στην firewalld.

Εκκινήστε τον διακομιστή.

systemctl enable ocserv
systemctl start ocserv

Ώρα δοκιμής!

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

journalctl -fu ocserv

Επίσης, το IPv6 θα πρέπει να λειτουργεί από την πλευρά του ��ελάτη, εάν το λογισμικό του πελάτη σας υποστηρίζει ipv6, ακόμη και αν το δίκτυο του πελάτη σας δεν σας παρέχει διεύθυνση. Μεταβείτε σε αυτόν τον ιστότοπο για δοκιμή.

Ολα έτοιμα! Απολαύστε τον νέο σας διακομιστή VPN συμβατό με AnyConnect!


Leave a Comment

Εγκαταστήστε το Plesk στο CentOS 7

Εγκαταστήστε το Plesk στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων

Πώς να εγκαταστήσετε το Squid Proxy στο CentOS

Πώς να εγκαταστήσετε το Squid Proxy στο CentOS

Το Squid είναι ένα δημοφιλές, δωρεάν πρόγραμμα Linux που σας επιτρέπει να δημιουργήσετε έναν διακομιστή μεσολάβησης web προώθησης. Σε αυτόν τον οδηγό, θα δείτε πώς να εγκαταστήσετε το Squid στο CentOS για να σας μετατρέψει

Πώς να εγκαταστήσετε το Lighttpd (Στοίβα LLMP) στο CentOS 6

Πώς να εγκαταστήσετε το Lighttpd (Στοίβα LLMP) στο CentOS 6

Εισαγωγή Το Lighttpd είναι ένα πιρούνι του Apache που έχει ως στόχο να είναι πολύ λιγότερο εντάσεως πόρων. Είναι ελαφρύ, εξ ου και το όνομά του, και είναι αρκετά απλό στη χρήση. Εγκατάσταση

Τροποποίηση Icinga2 για χρήση Μοντέλου Master/Client σε CentOS 6 ή CentOS 7

Τροποποίηση Icinga2 για χρήση Μοντέλου Master/Client σε CentOS 6 ή CentOS 7

Το Icinga2 είναι ένα ισχυρό σύστημα παρακολούθησης και όταν χρησιμοποιείται σε μοντέλο master-client, μπορεί να αντικαταστήσει την ανάγκη για ελέγχους παρακολούθησης που βασίζονται σε NRPE. Ο κύριος-πελάτης

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο CentOS 7

Πώς να εγκαταστήσετε το Apache Cassandra 3.11.x στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή

Πώς να εγκαταστήσετε το Microweber στο CentOS 7

Πώς να εγκαταστήσετε το Microweber στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Microweber είναι ένα ανοικτού κώδικα μεταφοράς και απόθεσης CMS και ηλεκτρονικό κατάστημα. Ο πηγαίος κώδικας Microweber φιλοξενείται στο GitHub. Αυτός ο οδηγός θα σας δείξει

Πώς να εγκαταστήσετε το Vanilla Forum στο CentOS 7

Πώς να εγκαταστήσετε το Vanilla Forum στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Vanilla forum είναι μια εφαρμογή φόρουμ ανοιχτού κώδικα γραμμένη σε PHP. Είναι πλήρως προσαρμόσιμο, εύκολο στη χρήση και υποστηρίζει εξωτερικά

Πώς να εγκαταστήσετε το Mattermost 4.1 στο CentOS 7

Πώς να εγκαταστήσετε το Mattermost 4.1 στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Mattermost είναι μια εναλλακτική λύση ανοιχτού κώδικα, που φιλοξενείται από τον εαυτό της στην υπηρεσία ανταλλαγής μηνυμάτων Slack SAAS. Με άλλα λόγια, με το Mattermost, μπορείτε περίπου

Ας κρυπτογραφήσουμε στο Plesk

Ας κρυπτογραφήσουμε στο Plesk

Ο πίνακας ελέγχου Plesk διαθέτει μια πολύ ωραία ενσωμάτωση για το Lets Encrypt. Το Lets Encrypt είναι ένας από τους μόνους παρόχους SSL που εκδίδει πιστοποιητικά πλήρως

Επιτρέπει την κρυπτογράφηση στο cPanel

Επιτρέπει την κρυπτογράφηση στο cPanel

Το Lets Encrypt είναι μια αρχή έκδοσης πιστοποιητικών αφιερωμένη στην παροχή πιστοποιητικών SSL δωρεάν. Το cPanel έχει δημιουργήσει μια τακτοποιημένη ενοποίηση για εσάς και τον πελάτη σας

Πώς να εγκαταστήσετε το Concrete5 στο CentOS 7

Πώς να εγκαταστήσετε το Concrete5 στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Concrete5 είναι ένα CMS ανοιχτού κώδικα που προσφέρει πολλές χαρακτηριστικές και χρήσιμες λειτουργίες για να βοηθήσει τους συντάκτες να παράγουν περιεχόμενο εύκολα και

Πώς να εγκαταστήσετε το Review Board στο CentOS 7

Πώς να εγκαταστήσετε το Review Board στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Review Board είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο για την ανασκόπηση του πηγαίου κώδικα, της τεκμηρίωσης, των εικόνων και πολλών άλλων. Είναι λογισμικό που βασίζεται στο web

Ρύθμιση ελέγχου ταυτότητας HTTP με Nginx στο CentOS 7

Ρύθμιση ελέγχου ταυτότητας HTTP με Nginx στο CentOS 7

Σε αυτόν τον οδηγό, θα μάθετε πώς να ρυθμίζετε τον έλεγχο ταυτότητας HTTP για έναν διακομιστή web Nginx που εκτελείται σε CentOS 7. Απαιτήσεις Για να ξεκινήσετε, θα χρειαστείτε

Πώς να εγκαταστήσετε το YOURLS στο CentOS 7

Πώς να εγκαταστήσετε το YOURLS στο CentOS 7

Το YOURLS (Your Own URL Shortener) είναι μια εφαρμογή συντόμευσης διευθύνσεων URL και ανάλυσης δεδομένων ανοιχτού κώδικα. Σε αυτό το άρθρο, θα καλύψουμε τη διαδικασία εγκατάστασης

Πώς να εγκαταστήσετε και να ρυθμίσετε το ArangoDB στο CentOS 7

Πώς να εγκαταστήσετε και να ρυθμίσετε το ArangoDB στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Το ArangoDB είναι μια βάση δεδομένων NoSQL ανοιχτού κώδικα με ένα ευέλικτο μοντέλο δεδομένων για έγγραφα, γραφήματα και κλειδιά-τιμές. είναι

Χρήση του Etckeeper για έλεγχο έκδοσης του /etc

Χρήση του Etckeeper για έλεγχο έκδοσης του /etc

Εισαγωγή Ο κατάλογος /etc/ παίζει κρίσιμο ρόλο στον τρόπο λειτουργίας ενός συστήματος Linux. Ο λόγος για αυτό είναι επειδή σχεδόν κάθε διαμόρφωση συστήματος

Γιατί πρέπει να χρησιμοποιήσετε το SSHFS; Πώς να προσαρτήσετε ένα απομακρυσμένο σύστημα αρχείων με SSHFS στο CentOS 6

Γιατί πρέπει να χρησιμοποιήσετε το SSHFS; Πώς να προσαρτήσετε ένα απομακρυσμένο σύστημα αρχείων με SSHFS στο CentOS 6

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

Ρύθμιση διακομιστή Half Life 2 στο CentOS 6

Ρύθμιση διακομιστή Half Life 2 στο CentOS 6

Αυτό το σεμινάριο θα καλύψει τη διαδικασία εγκατάστασης ενός διακομιστή παιχνιδιών Half Life 2 στο σύστημα CentOS 6. Βήμα 1: Εγκατάσταση των προαπαιτούμενων Για να ρυθμίσετε το ou

Πώς να εγκαταστήσετε το Laravel GitScrum στο CentOS 7

Πώς να εγκαταστήσετε το Laravel GitScrum στο CentOS 7

Το Laravel GitScrum ή GitScrum είναι ένα εργαλείο παραγωγικότητας ανοιχτού κώδικα που έχει σχεδιαστεί για να βοηθά τις ομάδες ανάπτυξης να εφαρμόσουν τη μεθοδολογία Scrum με παρόμοιο τρόπο

Πώς να εγκαταστήσετε το PowerDNS στο CentOS

Πώς να εγκαταστήσετε το PowerDNS στο CentOS

Εισαγωγή Σε αυτό το σεμινάριο Vultr, θα μάθετε πώς να εγκαταστήσετε το PowerDNS. Το PowerDNS είναι ένα πρόγραμμα για την εκτέλεση των δικών σας διακομιστών ονομάτων. Είναι πολύ χρήσιμο όταν

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

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

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

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

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

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

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

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

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

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

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

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

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα