Sécurité

Μάθετε πώς να συνδέεστε σε ένα VPN με το OpenVPN

Το OpenVPN είναι πελάτης / διακομιστής VPN πολλαπλών πλατφορμών (εικονικό ιδιωτικό δίκτυο). Είναι συμβατό με Microsoft Windows, GNU / Linux, λειτουργικά συστήματα macOS και προσφέρει ακόμη δωρεάν εφαρμογές για Android και iOS. Ένα άλλο ισχυρό σημείο του OpenVPN είναι ότι ορισμένοι κατασκευαστές δρομολογητών το ενσωματώνουν στον εξοπλισμό τους, οπότε θα είμαστε σε θέση να διαμορφώσουμε έναν διακομιστή OpenVPN στο δρομολογητή μας. Μια άλλη αξιοσημείωτη πτυχή είναι ότι, για παράδειγμα, λειτουργικά συστήματα προσανατολισμένα στο τείχος προστασίας συνοδεύονται επίσης από αυτό, το PFsense και το OPNSense είναι δύο ιδιαίτερα προτεινόμενες διανομές για τη χρήση του OpenVPN και των υπόλοιπων επιλογών διαμόρφωσης.

Τι είναι αυτό?

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

  • Απομακρυσμένη πρόσβαση VPN: Έχουμε έναν κεντρικό διακομιστή VPN και πολλούς πελάτες VPN με το λογισμικό εγκατεστημένο στον υπολογιστή σας, smartphone, tablet ή άλλη συσκευή και όλοι συνδέονται κεντρικά στον διακομιστή VPN.
  • VPN από ιστότοπο σε ιστότοπο: αυτή η αρχιτεκτονική μας επιτρέπει να επικοινωνούμε μεταξύ διαφορετικών ιστότοπων για να μοιραζόμαστε πόρους μέσω ενός ασφαλούς δικτύου, που προστατεύεται από κρυπτογράφηση από άκρο σε άκρο. Αυτός ο τύπος VPN μας επιτρέπει να επικοινωνούμε γραφεία, εταιρικά γραφεία κ.λπ.

Μερικά πολύ σημαντικά χαρακτηριστικά του OpenVPN είναι ότι υποστηρίζει εκτεταμένη διαμόρφωση, τόσο για βελτίωση της απόδοσης όσο και για την ασφάλεια. Βασίζεται σε SSL / TLS, έτσι μπορούμε να δημιουργήσουμε ψηφιακά πιστοποιητικά για έλεγχο ταυτότητας πελατών VPN. Επιπλέον, θα μπορούσαμε επίσης να πραγματοποιήσουμε έλεγχο ταυτότητας με πιστοποιητικά συν έναν χρήστη / κωδικό πρόσβασης που προσθέτουμε στο σύστημα. Το OpenVPN είναι πολύ πιο εύκολο να διαμορφωθεί από το IPsec και χάρη στη μεγάλη υποστήριξη της κοινότητας, θα μπορέσουμε να βρούμε το OpenVPN σε όλα τα λειτουργικά συστήματα επιτραπέζιων υπολογιστών, διακομιστές, ακόμη και σε smartphone και tablet.

Γιατί είναι?

Εάν δημιουργήσουμε έναν διακομιστή OpenVPN στο σπίτι, μπορεί να μας βοηθήσει να συνδεθούμε στο Διαδίκτυο με έναν τρόπο ασφαλής από οποιοδήποτε δίκτυο, ενσύρματο ή WiFi, με κρυπτογράφηση WEP / WPA ή χωρίς κρυπτογράφηση. Όλη η κίνηση θα είναι κρυπτογραφημένη μέσω σήραγγας από τον υπολογιστή μας όπου συνδεόμαστε με το σπίτι μας και από εκεί θα πάει στο Διαδίκτυο, είναι σαν να συνδέεστε στο Διαδίκτυο στο σπίτι. Πρέπει να λάβουμε υπόψη πολλούς παράγοντες, όπως η καλή ταχύτητα λήψης (30 Mbps ή περισσότερο) και η κατοχή δημόσιας διεύθυνσης IP μαζί μας, επειδή εάν έχουμε CG-NAT, δεν θα είμαστε σε θέση να συνδεθούμε επειδή δεν θα να μην μπορείτε να προωθήσετε θύρες στο δρομολογητή.

Εγκαθιστώντας έναν διακομιστή OpenVPN στο σπίτι μας, μπορούμε επίσης να αποκτήσουμε πρόσβαση σε όλους τους κοινόχρηστους πόρους που διαθέτουμε, όπως Samba, διακομιστές FTP, ακόμη και πρόσβαση στον εκτυπωτή, κάμερες IP που έχουμε συνδέσει κλπ Όλα τα δικαιώματα πρόσβασης θα ήταν σαν να ήμασταν φυσικά στο σπίτι μας. Το OpenVPN είναι μια λύση VPN που εφαρμόζει συνδέσεις Layer 2 ή Layer 3, ανάλογα με την επιλεγμένη λειτουργία σύνδεσης, θα λειτουργεί με τον ένα ή τον άλλο τρόπο, επιπλέον, μια σημαντική λεπτομέρεια είναι ότι η συντριπτική πλειονότητα των λειτουργιών συστημάτων υποστηρίζει τώρα το OpenVPN, αν και αυτό δεν είναι η υπόθεση. συνήθως ενσωματώνεται από κατασκευαστές υλικού για τείχη προστασίας ή δρομολογητές.

Το OpenVPN χρησιμοποιεί ένα σύνολο πρωτοκόλλων SSL / TLS που λειτουργούν στο επίπεδο μεταφοράς και έχουμε δύο τύπους λειτουργίας:

  • TUN : Ο ελεγκτής TUN μιμείται μια συσκευή από σημείο σε σημείο, χρησιμοποιείται για τη δημιουργία εικονικές σήραγγες που λειτουργούν με το πρωτόκολλο IP . Με αυτόν τον τρόπο, όλα τα πακέτα που μεταφέρονται εκεί μπορούν να ενθυλακωθούν ως τμήματα TCP ή UDP datagrams (θα δείτε αργότερα ότι επιλέγουμε UDP αντί για TCP και θα αναρωτηθείτε γιατί αφού το TCP είναι συνδετικό, αξιόπιστο και προσανατολισμένο. Η σύνδεση). Τα μηχανήματα πίσω από κάθε άκρο του συνδέσμου θα ανήκουν σε διαφορετικά υποδίκτυα.
  • TAP : Προσομοιώνει μια διεπαφή δικτύου Ethernet, που συνήθως ονομάζεται λειτουργία γέφυρας ή γέφυρας, αυτές τις εικονικές σήραγγες ενσωματώνει απευθείας πακέτα Ethernet . Αυτή η κατάσταση καθιστά δυνατή την περιτύλιξη διαφορετικών ιστών του PI. Μηχανές πίσω από κάθε άκρο του συνδέσμου μπορούν να λειτουργούν στο ίδιο υποδίκτυο (εάν χρησιμοποιείται το πρωτόκολλο IP). Ο τρόπος λειτουργίας γέφυρας είναι ιδιαίτερα χρήσιμος για τη σύνδεση απομακρυσμένων χρηστών, καθώς μπορούν να συνδεθούν στον ίδιο διακομιστή και να είναι ουσιαστικά μέρος του κύριου δικτύου, ωστόσο, εάν το ιδιωτικό δίκτυο όπου συνδέεται η προέλευση συμπίπτει με τον προορισμό, θα έχουμε προβλήματα Τα προβλήματα δρομολόγησης και η επικοινωνία δεν θα λειτουργήσουν.

Στο εγχειρίδιο, θα χρησιμοποιήσουμε το TUN και θα δούμε πώς να δημιουργήσουμε ένα εικονικό υποδίκτυο 10.8.0.0/24 όπου θα βρίσκονται οι πελάτες του OpenVPN όταν συνδέονται. Με αυτόν τον τρόπο, θα είναι πολύ πιο εύκολο να προσδιορίσουμε τους πελάτες VPN που έχουμε συνδέσει στο τοπικό δίκτυο.

Σε αυτό το εγχειρίδιο θα εξηγήσω πώς να το κάνω κάτω GNU / Linux (σε Debian 10) , αν και στην ουσία είναι το ίδιο για Windows , μόνο οι εντολές στην κονσόλα (cmd.exe), αλλάζουν τα πιστοποιητικά και τα κλειδιά, είναι τα ίδια και για τα δύο , δηλαδή, μπορείτε να δημιουργήσετε ΟΛΑ ΟΛΑ GNU / Linux μετά περάστε το Windows για να το χρησιμοποιήσετε (είτε πελάτης είτε διακομιστής), απλά πρέπει να αλλάξετε την επέκταση πελάτης / διακομιστής .conf στο .ovpn , αν και στις τελευταίες εκδόσεις, το OpenVPN για Windows ήδη μας επιτρέπει να αναγνωρίζουμε και να χρησιμοποιούμε αρχεία ρυθμίσεων .conf, επομένως δεν θα χρειαστεί να αλλάξουμε την επέκταση.

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

Σύνοψη κρυπτογραφίας προς χρήση

  • Ψηφιακά πιστοποιητικά : Θα το χρησιμοποιησουμε EC (ελλειπτικές καμπύλες) για τη δημιουργία του Υποδομή δημόσιου κλειδιού . Θα δημιουργήσουμε τόσο τα πιστοποιητικά CA (Certification Authority), όσο και τα πιστοποιητικά για τους διακομιστές και τους πελάτες VPN που επιθυμούν να συνδεθούν. Ο αλγόριθμος EC που χρησιμοποιείται είναι secp521r1, αν και έχουμε πολλά περισσότερα διαθέσιμα. Ο αλγόριθμος κατακερματισμού που θα χρησιμοποιήσουμε θα είναι SHA512 . Μια σημαντική λεπτομέρεια είναι ότι δεν υποστηρίζονται όλοι οι πελάτες / διακομιστές OpenVPN, πρέπει να ενημερώσουμε τις βιβλιοθήκες OpenVPN και crypto, αλλά αυτές τις μέρες είναι σπάνιο να βρεθείτε σε ένα σενάριο που δεν είναι συμβατό.
  • Κανάλι ελέγχου OpenVPN : θα χρησιμοποιήσουμε τουλάχιστον TLS 1.2 και πάντα χρησιμοποιώντας το PFS (Perfect Forward Secrecy) βάσει του Diffie-Hellmann με ελλειπτικές καμπύλες (ECDHE). Δηλαδή, θα χρησιμοποιήσουμε μια επιλογή ασφαλών κρυπτογραφικών σουιτών, όπως TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384. Εάν θέλετε να ελέγξετε εάν ο διακομιστής ή ο πελάτης σας υποστηρίζει αυτόν τον τύπο κρυπτογράφησης, πρέπει να βάλετε στην κονσόλα «openvpn –show-tls».
  • Κανάλι δεδομένων OpenVPN : Θα χρησιμοποιήσουμε τον συμμετρικό αλγόριθμο κρυπτογράφησης AES-256-GCM , το πιο ασφαλές επί του παρόντος και το οποίο έχει ενσωματωθεί στο OpenVPN 2.4 και νεότερη έκδοση. Εάν θέλετε να ελέγξετε εάν ο διακομιστής ή ο πελάτης σας υποστηρίζει αυτόν τον τύπο κρυπτογράφησης, πρέπει να βάλετε την κονσόλα " openvpn – show-ciphers ». Εάν χρησιμοποιούμε AES-256-GCM ως κρυπτογράφηση καναλιού δεδομένων, δεν θα χρησιμοποιήσουμε αλγόριθμο HASH δεδομένου ότι είναι AEAD, ωστόσο, εάν χρησιμοποιούμε AES-256-CBC, θα χρησιμοποιήσουμε το SHA512.

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

openvpn --show-tls

Μπορούμε να δούμε αν ο διακομιστής OpenVPN ή / και ο πελάτης μας υποστηρίζουν TLS 1.3, στην περίπτωσή μας έχουμε συνολικά τρεις κρυπτογραφικές σουίτες που μπορούμε να χρησιμοποιήσουμε:

  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256

Για να ορίσουμε το TLS 1.3 στα αρχεία διαμόρφωσης, πρέπει να χρησιμοποιήσουμε το όρισμα " tls-ciphersuites " αντί " tls-κρυπτογράφηση » typique , ακολουθούμενη από τη σουίτα cipher που θέλουμε, οι τρεις σουίτες που έχουμε είναι οι πιο ασφαλείς που μπορούμε να χρησιμοποιήσουμε Σήμερα, επιπλέον, χάρη στο πρωτόκολλο TLS 1.3, η εγκατάσταση σύνδεσης θα είναι λίγο πιο γρήγορη, ιδανική για γρήγορη δημιουργία σήραγγας VPN .

Ξεκινώντας με το OpenVPN έκδοση 2.5, έχουμε επίσης έναν συμμετρικό αλγόριθμο κρυπτογράφησης για το κανάλι δεδομένων OpenVPN, μπορούμε να χρησιμοποιήσουμε CHACHA20-POLY1305που είναι κρυπτογράφηση ροής 256 bit, και μπορεί να χρησιμοποιηθεί για να επιταχύνει την πραγματική ταχύτητα του VPN που εγκαθιστούμε. Εάν ο επεξεργαστής μας δεν υποστηρίζει AES-NI για να επιταχύνει την κυκλοφορία AES-GCM, σας συνιστούμε να χρησιμοποιείτε πάντα το CHACHA20-POLY1305 επειδή θα έχετε καλύτερη απόδοση, ωστόσο, αν υποστηρίζει AES-NI, σας συνιστούμε να εκτελείτε δοκιμές ταχύτητας χρησιμοποιώντας και οι δύο για να δείτε πόσο γρήγορα θα πάρετε. Πρέπει να θυμόμαστε ότι αυτός ο συμμετρικός αλγόριθμος κρυπτογράφησης χρησιμοποιείται από προεπιλογή στο WireGuard VPN, ένα από τα ασφαλέστερα και ταχύτερα VPN που μπορούμε να χρησιμοποιήσουμε σήμερα. Σε αυτήν την περίπτωση, για να διαμορφώσετε αυτόν τον αλγόριθμο κρυπτογράφησης, θα γίνει με τον ίδιο τρόπο όπως το AES-256-GCM, βάζοντας το "cipher" τότε το όνομα της κρυπτογράφησης όπως το θέσαμε για εσάς.

Εκτός από αυτά τα μέτρα ασφαλείας, θα συμπεριλάβουμε μια επιπλέον υπογραφή HMAC για την πρώτη διαπραγμάτευση TLS, με αυτόν τον τρόπο, θα προστατεύσουμε το σύστημα από πιθανές επιθέσεις άρνησης υπηρεσίας, επιθέσεις UDP Port Flooding και επίσης επιθέσεις TCP SYN. Κατά τη σύνδεση με το διακομιστή, εάν ο πελάτης δεν έχει τη σωστή υπογραφή HMAC, θα αποκλειστεί. Σε προηγούμενες εκδόσεις του OpenVPN 2.4, η οδηγία ήταν tls-auth , η οποία ήταν υπεύθυνη μόνο για τον έλεγχο ταυτότητας ενός προ-κοινόχρηστου κλειδιού που δημιουργήθηκε από το ίδιο το OpenVPN Τώρα σε εκδόσεις υψηλότερες από το OpenVPN 2.4 καλείται tls-κρύπτη, η κύρια διαφορά είναι ότι εκτός από τον έλεγχο ταυτότητας, κρυπτογραφεί επίσης το κανάλι έτσι ώστε κανείς να μην μπορεί να καταγράψει το εν λόγω κοινόχρηστο κλειδί. Η διαμόρφωση είναι πολύ παρόμοια, η δημιουργία κλειδιών είναι ακριβώς η ίδια και στα δύο.

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

Βήματα για την εργασία με το OpenVPN

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

Λήψη και εγκατάσταση

Το πρώτο πράγμα που πρέπει να κάνουμε είναι να εγκαταστήσουμε το OpenVPN στον υπολογιστή μας, είτε πρόκειται για Windows είτε για Linux. Εάν χρησιμοποιείτε Windows, πρέπει να μεταβείτε στο επίσημος ιστότοπος λήψης OpenVPN και εγκαταστήστε τα πάντα στον οδηγό εγκατάστασης. Εάν χρησιμοποιείτε ένα λειτουργικό σύστημα όπως το Debian (θα χρησιμοποιούμε το Debian 10 σε αυτό το εγχειρίδιο) θα πρέπει να εισαγάγετε την ακόλουθη εντολή:

sudo apt update

sudo apt install openvpn

Λήψη Easy-RSA 3 για πιστοποιητικά

Μόλις εγκατασταθεί, πρέπει να κατεβάσετε το πακέτο λογισμικού Easy-RSA 3, αυτό το πακέτο λογισμικού σας επιτρέπει να δημιουργείτε ψηφιακά πιστοποιητικά εύκολα και γρήγορα. Μπορείτε να αλλάξετε το μήκος του κλειδιού, τον τύπο του κλειδιού, εάν θέλετε να βάλετε έναν κωδικό πρόσβασης στα ιδιωτικά κλειδιά κ.λπ. Στο επίσημος ιστότοπος του έργου Easy-RSA 3 στο GitHub έχετε όλες τις πληροφορίες και τη δυνατότητα να κατεβάσετε ένα .zip με τα πάντα.

Εάν χρησιμοποιείτε σύστημα Linux, σας συνιστούμε να χρησιμοποιήσετε την εντολή wget για να κάνετε λήψη του αρχείου .zip:

wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz

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

tar -zxvf EasyRSA-3.0.8.tgz

Διαμόρφωση Easy-RSA 3 "vars"

το αρχείο vars.παράδειγμα είναι το κέντρο όλων των παραμέτρων πιστοποιητικών, εδώ θα πρέπει να καθορίσουμε εάν θέλουμε να δημιουργήσουμε πιστοποιητικά που βασίζονται σε RSA ή EC. Ομοίως, αυτό θα μας επιτρέψει επίσης να υπογράψουμε τα πιστοποιητικά με SHA256 ή SHA512 μεταξύ άλλων. Δηλαδή, πρέπει να ρυθμίσουμε σωστά αυτό το αρχείο διαμόρφωσης για να δημιουργήσουμε τα ψηφιακά πιστοποιητικά αργότερα.

Το πρώτο πράγμα που πρέπει να κάνουμε είναι να αντιγράψουμε το αρχείο vars.example στον ίδιο φάκελο με το όνομα “vars”, αν δεν το έχουμε με αυτό το όνομα “vars”, δεν θα λειτουργήσει. Έχουμε επίσης τη δυνατότητα να μετονομάσουμε το αρχείο vars.example σε "vars", αλλά σας συνιστούμε να δημιουργήσετε αντίγραφο ασφαλείας σε περίπτωση που διαγράψετε κάτι και δεν λειτουργεί για εσάς.

Πηγαίνουμε στον κύριο φάκελο του Easy-RSA3 και αντιγράφουμε το αρχείο ως εξής:

cp vars.example vars

Μόλις έχουμε το αρχείο "vars", πρέπει να το επεξεργαστούμε με οποιοδήποτε πρόγραμμα επεξεργασίας αρχείων μέσω κονσόλας ή GUI, θα χρησιμοποιήσουμε το nano λόγω της ευκολίας του. Στο ακόλουθο αρχείο διαμόρφωσης "vars" μπορείτε να δείτε πώς θα μοιάζει η EC με τον αλγόριθμο secp521r1, υπογεγραμμένο με το SHA512 και χρησιμοποιήσαμε ένα DN (Διακεκριμένο Όνομα) τοποθετώντας το CN (Κοινό όνομα) αντί για τον τυπικό οργανισμό "δεδομένα από". το κάναμε πάντα πριν, με αυτόν τον τρόπο διευκολύνουμε τη δημιουργία πιστοποιητικών, ωστόσο, θα μπορούσαμε επίσης να το κάνουμε υποδεικνύοντας τα τυπικά δεδομένα του οργανισμού.

Στο ίδιο το αρχείο υπάρχουν τα αρχικά σχόλια στα Αγγλικά και στα Ισπανικά έχουμε βάλει τα δικά μας για να διευκολύνουμε τον εντοπισμό του τι πρέπει να αλλάξει. Μια πολύ σημαντική λεπτομέρεια, το WordPress βάζει αυτόματα αυτά τα σύμβολα << και >> όταν θα έπρεπε να βάλει διπλά εισαγωγικά: "

# Διαμόρφωση Easy-RSA 3

# ΣΗΜΕΙΩΣΗ: Εάν εγκαταστήσατε το Easy-RSA από τον διαχειριστή πακέτων της διανομής σας, μην το τροποποιήσετε

# αυτό το αρχείο στη θέση του - πρέπει να αντιγράψετε ολόκληρο τον κατάλογο easy-rsa


# σε άλλη τοποθεσία, ώστε οι μελλοντικές αναβαθμίσεις να μην αντικαθιστούν τις αλλαγές σας.

# ΠΩΣ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΣΕΤΕ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ

#


Το # vars.example περιέχει παραδείγματα ενσωματωμένα στις ρυθμίσεις Easy-RSA.
ΠΡΕΠΕΙ να διορίσετε


# αυτό το αρχείο «vars» εάν θέλετε να χρησιμοποιηθεί ως αρχείο διαμόρφωσης.
Αν εσύ


# γεννήθηκε το
κάνω όχι, ΔΕΝ θα διαβάζεται αυτόματα όταν καλείτε εντολές της easyrsa.


#


# Δεν είναι απαραίτητο να χρησιμοποιήσετε αυτό το αρχείο διαμόρφωσης εκτός εάν θέλετε


#
αλλαγή προεπιλεγμένες λειτουργικές ρυθμίσεις. Αυτές οι προεπιλογές θα πρέπει να είναι κατάλληλες για πολλές χρήσεις χωρίς


# πρέπει να αντιγράψετε και να τροποποιήσετε το αρχείο «vars».


#


# Όλες οι τροποποιήσιμες παράμετροι εμφανίζονται με σχόλια και ξεκινούν με την εντολή


# 'set_var' - αυτό σημαίνει ότι έχει γίνει οποιαδήποτε ασυμβίβαστη εντολή set_var


# τροποποιήθηκε από τον χρήστη.
Εάν είστε ικανοποιημένοι με μια προεπιλεγμένη τιμή, δεν χρειάζεται


# ορίστε την προεπιλογή.

# ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΧΡΗΣΤΕΣ ΠΑΡΑΘΥΡΩΝ

#


# Διαδρομές για Windows * ΠΡΕΠΕΙ να * χρησιμοποιούν ανάστροφη κάθετο ή προαιρετικά μπαρ


ανάστροφες #
διπλά breakaways (Συνιστάται κάθετος κάθετος.) Αυτό σημαίνει τη διαδρομή σας


#
vers το δυαδικό openssl μπορεί να μοιάζει με αυτό:


# "C: / Αρχεία προγράμματος / OpenSSL-Win32 / bin / openssl.exe"

# Λίγη συντήρηση: ΜΗΝ ΤΡΟΠΟΠΟΙΗΣΕΤΕ ΤΟ ΤΜΗΜΑ

#


# Το Easy-RSA 3.x δεν τροφοδοτείται απευθείας από το περιβάλλον.


# Παράπονο εάν ένας χρήστης προσπαθεί να το κάνει:


εάν [-z "$ EASYRSA_CALLER"];
τότε


echo "Φαίνεται ότι ψάχνετε για ένα αρχείο "vars" Easy-RSA."
> & 2


echo "Αυτό δεν είναι πλέον απαραίτητο και απαγορεύεται.
Δείτε την ενότητα που ονομάζεται »> & 2


echo «« Πώς να χρησιμοποιήσετε αυτό το αρχείο »κοντά στα πρώτα σχόλια για περισσότερες λεπτομέρειες. "
> & 2


πίσω 1


fi

# ΚΑΝΤΕ ΤΙΣ ΑΛΛΑΓΕΣ ΣΑΣ ΣΤΟ ΠΑΡΟΝ ΣΗΜΕΙΟ

# Αυτή η μεταβλητή χρησιμοποιείται ως θέση βάσης των αρχείων διαμόρφωσης που χρειάζονται

#easyrsa.
Πιο συγκεκριμένες μεταβλητές για συγκεκριμένα αρχεία (για παράδειγμα, EASYRSA_SSL_CONF)


# μπορεί να παρακάμψει αυτήν την προεπιλογή.


#


# Η προεπιλεγμένη τιμή αυτής της μεταβλητής είναι η θέση του


#
σενάριο easyrsa το ίδιο, που είναι επίσης όπου βρίσκονται τα αρχεία διαμόρφωσης


#
στην δέντρο easy-rsa.

#set_var EASYRSA "$ {0% / *}"

# Εάν η εντολή OpenSSL δεν βρίσκεται στο σύστημα PATH, θα πρέπει να ρυθμίσετε το

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


# θα μπορούσατε να το αφήσετε απροσδιόριστο εδώ και θα χρησιμοποιηθεί η προεπιλεγμένη προεπιλογή.


#


# Χρήστες των Windows, θυμηθείτε να χρησιμοποιείτε διαδρομές με κάθετες (ή ανάστροφη κάθετη


#
δραπετεύει ). Οι χρήστες των Windows πρέπει να δηλώσουν την πλήρη διαδρομή προς το


δυαδικό αρχείο
OpenSSL # εδώ αν δεν είναι στο σύστημα PATH.

#set_var EASYRSA_OPENSSL "openssl"

#


# Αυτό το παράδειγμα βρίσκεται στη σύνταξη των Windows - τροποποιήστε το για τη διαδρομή σας εάν δεν χρησιμοποιείτε PATH:


#set_var EASYRSA_OPENSSL "C: / Program Files / OpenSSL-Win32 / bin / openssl.exe"

# Τροποποιήστε αυτήν τη μεταβλητή για να δείξετε στον κατάλογο κλειδιών που θα δημιουργηθεί σύντομα. με

# προεπιλογή, αυτό θα είναι "$ PWD / pki" (δηλ. ο υποκατάλογος "pki" του


#
κατάλογος στον οποίο είστε επί του παρόντος).


#


# ΠΡΟΕΙΔΟΠΟΙΗΣΗ: το init-pki θα κάνει rm -rf σε αυτόν τον κατάλογο, οπότε φροντίστε να το ορίσετε


# σωστά!
(Η διαδραστική λειτουργία θα σας ρωτήσει πριν ενεργήσετε.)

#set_var EASYRSA_PKI "$ PWD / pki"

# Ρυθμίστε τη λειτουργία X509 DN.

# Χρησιμοποιείται για την προσαρμογή των στοιχείων που περιλαμβάνονται στο πεδίο Θέμα ως DN


# (αυτό είναι το "Διακεκριμένο όνομα.")


# Σημειώστε ότι στη λειτουργία cn_only, τα παρακάτω πεδία οργάνωσης δεν χρησιμοποιούνται.


#


# Οι επιλογές είναι:


# cn_only - χρησιμοποιήστε μόνο μια τιμή CN


# org - χρησιμοποιήστε τη "παραδοσιακή" μορφή Χώρα / Επαρχία / Πόλη / Οργανισμός / OU / email / CN

#ELEGIMOS cn_only ΓΙΑ ΤΗ ΔΗΜΙΟΥΡΓΙΑ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ

set_var EASYRSA_DN "cn_only"

# Οργανωτικά πεδία (χρησιμοποιούνται με τη λειτουργία «org» και αγνοούνται στη λειτουργία «cn_only».)

# Αυτές είναι οι προεπιλεγμένες τιμές των πεδίων που θα τοποθετηθούν στο


# πιστοποιητικό.
Ωστόσο, μην αφήνετε κανένα από αυτά τα πεδία κενό


#
διαδραστικά μπορείτε να παραλείψετε οποιοδήποτε συγκεκριμένο πεδίο πληκτρολογώντας το ". " σύμβολο (δεν ισχύει για


# ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ.)

#set_var EASYRSA_REQ_COUNTRY "ΗΠΑ"

#set_var EASYRSA_REQ_PROVINCE "Καλιφόρνια"


#set_var EASYRSA_REQ_CITY "Σαν Φρανσίσκο"


#set_var EASYRSA_REQ_ORG "Πιστοποιητικό Copyleft Co"


#set_var EASYRSA "me_RexamILAS_set_var EASYRSA" _REQ_EMAILAS.net "


meset_var EASYRSA_REQ_EMAILAS.net "meset_var EASYRSA_REQ_EMAILAS_MysetOvar EASYRSA_REQ_EMAILAS.net" set_var "

# Επιλέξτε ένα μέγεθος bit για τα ζεύγη κλειδιών σας. Η συνιστώμενη τιμή είναι 2048. Χρήση

Τα πλήκτρα # 2048-bit θεωρούνται περισσότερο από επαρκή για πολλά χρόνια


#
σε μελλοντικός. Μεγαλύτερα μεγέθη κλειδιού θα επιβραδύνουν τη διαπραγμάτευση TLS και θα κάνουν το


γενιά #
Κλειδί DH / param πολύ περισσότερο. Οι τιμές έως και 4096 πρέπει να γίνονται αποδεκτές από τους περισσότερους


# λογισμικό.
Χρησιμοποιείται μόνο όταν το crypto alg είναι rsa (δείτε παρακάτω.)

#set_var EASYRSA_KEY_SIZE 2048

# Η προεπιλεγμένη λειτουργία κρυπτογράφησης είναι rsa; Το ec μπορεί να επιτρέψει υποστήριξη για ελλειπτικές καμπύλες.

# Σημειώστε ότι δεν υποστηρίζει όλο το λογισμικό το ECC, επομένως προσέξτε όταν το ενεργοποιήσετε.


# Οι επιλογές για το crypto alg είναι: (καθεμία σε πεζά)


#*rsa


# * εκ

# ΕΠΙΛΕΞΟΥΜΕ ΤΗΝ ΕΛΠΤΙΚΗ ΚΑΛΥΜΜΑ ΓΙΑ ΤΗ ΔΗΜΙΟΥΡΓΙΑ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ, ΑΠΟ ΤΟ DEFAULT IS RSA

set_var EASYRSA_ALGO υπ

# Ορίζουμε το όνομα της επιλεγμένης ελλιπτικής καμπύλης

set_var EASYRSA_CURVE secp521r1

# ΔΙΑΜΟΡΦΩΣΟΥΜΕ ΤΗ ΛΗΞΗ ΤΗΣ ΑΠ

set_var EASYRSA_CA_EXPIRE 3650

# ΔΙΑΜΟΡΦΩΣΟΥΜΕ ΤΗ ΛΗΞΗ ΤΩΝ ΔΗΜΙΟΥΡΓΙΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ.

set_var EASYRSA_CERT_EXPIRE 1080

# Πόσες ημέρες πριν από την επόμενη ημερομηνία δημοσίευσης CRL; Λάβετε υπόψη ότι η λίστα ανάκλησης πιστοποιητικών μπορεί να είναι

# αναλύθηκε μετά από αυτό το διάστημα.
Χρησιμοποιείται μόνο για ένα επερχόμενο


αναμενόμενη ημερομηνία δημοσίευσης.

# Πόσες ημέρες πριν από την ημερομηνία λήξης μπορεί να είναι ένα πιστοποιητικό

# ανανεώθηκε;


#set_var EASYRSA_CERT_RENEW 30

#set_var EASYRSA_CRL_DAYS 180

# Υποστήριξη απαρχαιωμένων επεκτάσεων "Netscape"; (επιλέξτε "ναι" ή "όχι".) Το

#
από προεπιλογή είναι «όχι» για να αποθαρρύνουμε τη χρήση απαρχαιωμένων επεκτάσεων. Εάν το χρειάζεστε


Το χαρακτηριστικό # χρησιμοποιείται με –ns-cert-type, ορίστε το σε «ναι» εδώ.
Αυτή η υποστήριξη


# θα πρέπει να αντικατασταθεί από το πιο μοντέρνο χαρακτηριστικό - remote-cert-tls.
Εάν δεν το χρησιμοποιείτε


# not –ns-cert-type στις διαμορφώσεις σας, είναι ασφαλές (και συνιστάται) να φύγετε


# αυτό ορίστηκε σε "όχι".
Όταν οριστεί σε «ναι», το


πιστοποιητικά υπογεγραμμένα από τον διακομιστή
να πάρει το # nsCertType = χαρακτηριστικό διακομιστή, καθώς και οποιοδήποτε NS_COMMENT ορίζεται παρακάτω στο


# ns Πεδίο σχολίων.

#set_var EASYRSA_NS_SUPPORT "όχι"

# Όταν το NS_SUPPORT έχει οριστεί σε "ναι", αυτό το πεδίο προστίθεται ως πεδίο nsComment.

# Ορίστε αυτό το πεδίο κενό για να το παραλείψετε.
Όταν το NS_SUPPORT έχει οριστεί σε "όχι", αυτό το πεδίο αγνοείται.

#set_var EASYRSA_NS_COMMENT "Πιστοποιητικό που δημιουργήθηκε από Easy-RSA"

# Ένα προσωρινό αρχείο που χρησιμοποιείται για τη δημιουργία επεκτάσεων πιστοποιητικών κατά την υπογραφή. Η προεπιλογή πρέπει

# κατάλληλο για τους περισσότερους χρήστες.
Ωστόσο, ορισμένοι χρήστες μπορεί να θέλουν μια εναλλακτική λύση σε μία


RAM με βάση FS #, όπως / dev / shm ή / tmp σε ορισμένα συστήματα.

#set_var EASYRSA_TEMP_FILE "$ EASYRSA_PKI / extensions.temp"

#!!

# ΣΗΜΕΙΩΣΗ: ΠΡΟΗΓΜΕΝΕΣ ΕΠΙΛΟΓΕΣ ΠΟΥ ΑΦΟΡΟΥΝ ΑΥΤΟ ΤΟ ΣΤΟΙΧΕΙΟ


# ΠΑΙΞΤΕ ΜΕ ΤΑ ΣΤΟ ΔΙΚΟ ΚΙΝΔΥΝΟ ΣΑΣ


#!!

# Ψευδώνυμα εντολής σπασμένου κελύφους: Εάν έχετε ένα άσχημα σπασμένο κέλυφος αυτό

Λείπει # μία από αυτές τις απαιτούμενες εντολές POSIX που χρησιμοποιεί το Easy-RSA, θα χρειαστεί


# ορίστε ένα ψευδώνυμο στην κατάλληλη διαδρομή για την εντολή.
Το σύμπτωμα θα είναι


# κάποια μορφή σφάλματος "η εντολή δεν βρέθηκε" από το κέλυφός σας.
Αυτό σημαίνει ότι το δικό σας


Το #shell είναι BROKEN, αλλά μπορείτε να το παρακάμψετε εδώ αν χρειαστεί.
Ces


# οι εμφανιζόμενες τιμές δεν είναι προεπιλεγμένες τιμές: εξαρτάται από εσάς τι να κάνετε εάν


# τα αγγίζετε.


#


#alias awk = "/ alt / bin / awk"


#alias cat = "/ alt / bin / γάτα"

# Κατάλογος επεκτάσεων X509:

# Εάν θέλετε να προσαρμόσετε τις επεκτάσεις X509 που χρησιμοποιούνται, ρυθμίστε τον κατάλογο για αναζήτηση


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


# και ένα προαιρετικό αρχείο με το όνομα "ΚΟΙΝΟ" περιλαμβάνεται πρώτα όταν υπάρχει.
Σημειώστε ότι


# όταν δεν οριστεί εδώ, η προεπιλεγμένη συμπεριφορά είναι να αναζητήσετε πρώτα $ EASYRSA_PKI και μετά


# επιστρέψτε στο $ EASYRSA για τον κατάλογο «x509-types».
Μπορείτε να το αντικαταστήσετε


# εντοπισμός από έναν ρητό κατάλογο εδώ.


#


#set_var EASYRSA_EXT_DIR "$ EASYRSA / x509-types"

# Αρχείο διαμόρφωσης OpenSSL:

# Εάν πρέπει να χρησιμοποιήσετε ένα συγκεκριμένο αρχείο configsssl, μπορείτε να το αναφέρετε εδώ.


# Κανονικά αυτό το αρχείο εντοπίζεται αυτόματα από ένα αρχείο με το όνομα openssl-easyrsa.cnf στον κατάλογο


# EASYRSA_PKI ή EASYRSA (με αυτή τη σειρά.) ΣΗΜΕΙΩΣΤΕ ότι αυτό το αρχείο είναι


# ειδικά για
Εύκολο-RSA και δεν μπορείτε απλώς να χρησιμοποιήσετε ένα τυπικό αρχείο ρυθμίσεων, οπότε αυτό είναι ένα χαρακτηριστικό


# προχωρημένο.

#set_var EASYRSA_SSL_CONF "$ EASYRSA / openssl-easyrsa.cnf"

# CN από προεπιλογή:

# Είναι καλύτερα να το αφήσεις μόνο του.
Διαδραστικά, θα το ορίσετε χειροκίνητα, και το


καλούντες
ΣΥΝΟΛΟ ΠΑΡΑΓΩΓΗΣ Υποτίθεται ότι το ορίζουν οι ίδιοι.

#set_var EASYRSA_REQ_CN "ChangeMe"

# Κρυπτογραφική πέψη για χρήση.

# Μην αλλάξετε αυτήν την προεπιλογή, εκτός εάν κατανοείτε τις επιπτώσεις ασφαλείας.


# Οι έγκυρες επιλογές περιλαμβάνουν: md5, sha1, sha256, sha224, sha384, sha512

# Επιλέξαμε το HASH SHA512

set_var EASYRSA_DIGEST "sha512"

# Αναβαλλόμενη ώρα. Αφήστε αυτήν την επιλογή μη επιλεγμένη εκτός εάν σκοπεύετε να καλέσετε ρητά την Easy-RSA

# σε κατάσταση δέσμης χωρίς είσοδο χρήστη, επιβεβαίωση επικίνδυνων λειτουργιών,


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

#set_var EASYRSA_BATCH ""

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

Δημιουργία πιστοποιητικών PKI: CA, διακομιστή και πελάτη

Όταν διαμορφώσουμε το αρχείο "vars", προχωράμε στη δημιουργία της υποδομής δημόσιου κλειδιού (PKI) με την ακόλουθη εντολή (υποθέτουμε ότι εξακολουθείτε να βρίσκεστε στον κύριο κατάλογο Easy-RSA3):

./easyrsa init-pki

root @ debian-vm: /home/bron/EasyRSA-v3.0.6# ./easyrsa init-pki

Σημείωση: χρήση της διαμόρφωσης Easy-RSA από: ./vars

το init-pki τελείωσε. μπορείτε τώρα να δημιουργήσετε ΑΠ ή αιτήματα.

Ο νέος σας κατάλογος PKI είναι: /home/bron/EasyRSA-v3.0.6/pki

Μετά την προετοιμασία του PKI, πρέπει να δημιουργηθεί η Αρχή Πιστοποίησης (CA):

./easyrsa build-ca

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

root @ debian-vm: /home/bron/EasyRSA-v3.0.6# ./easyrsa build-ca

Σημείωση: χρήση της διαμόρφωσης Easy-RSA από: ./vars

Χρήση SSL: openssl OpenSSL 1.1.1d 10 Σεπτεμβρίου 2019

Εισαγάγετε τη νέα φράση πρόσβασης κλειδιού CA:

εισαγάγετε ξανά τη νέα φράση πρόσβασης κλειδιού CA:


διαβάστε το κλειδί


EC γράφοντας το κλειδί EC


Δεν είναι δυνατή η φόρτωση του /home/bron/EasyRSA-v3.0.6/pki/.rnd στο RNG


139864421569664: σφάλμα: 2406F079: γεννήτρια τυχαίων αριθμών: RAND_load_file: Δεν ήταν δυνατό το άνοιγμα του αρχείου: ../ crypto / rand / randfile.c: 98: Όνομα αρχείου = / home / bron / EasyRSA-v3.0.6 / pki / .rnd


Πρόκειται να σας ζητηθούν πληροφορίες που θα ενσωματωθούν


στο αίτημά σας για πιστοποιητικό.


Αυτό που πρόκειται να εισαγάγετε είναι αυτό που ονομάζεται διακεκριμένο όνομα ή DN.


Υπάρχουν αρκετά πεδία, αλλά μπορείτε να αφήσετε μερικά κενά


Για ορισμένα πεδία, θα υπάρχει μια προεπιλεγμένη τιμή,


εάν εισαγάγετε ".", το πεδίο θα παραμείνει κενό.


-


Κοινό όνομα (για παράδειγμα: το όνομα χρήστη, κεντρικού υπολογιστή ή διακομιστή) [Easy-RSA CA]: ΑΡΧΗ-ΠΙΣΤΟΠΟΙΗΣΗ

Η δημιουργία της ΑΠ ολοκληρώθηκε και μπορείτε πλέον να εισαγάγετε και να υπογράψετε αιτήματα πιστοποιητικών.

Το νέο αρχείο πιστοποιητικού CA για δημοσίευση βρίσκεται στη διεύθυνση


διεύθυνση
: /home/bron/EasyRSA-v3.0.6/pki/ca.crt

Εάν δεν θέλετε να εισαγάγετε έναν κωδικό πρόσβασης στο ιδιωτικό κλειδί της ΑΠ (αυτό δεν συνιστάται για λόγους ασφαλείας), πρέπει να βάλετε αυτήν την εντολή:

./easyrsa build-ca nopass

Μόλις δημιουργήσουμε την ΑΠ, πρέπει να δημιουργήσουμε το πιστοποιητικό διακομιστή και τα πιστοποιητικά πελάτη. Τότε πρέπει να το υπογράψουμε με την ΑΠ.

Δημιουργήστε το πιστοποιητικό διακομιστή και υπογράψτε το με την αρχή πιστοποίησης

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

./easyrsa gen-req servidor-openvpn-redeszone nopass

Η έξοδος του τερματικού έχει ως εξής:

root @ debian-vm: /home/bron/EasyRSA-v3.0.6# ./easyrsa gen-req server-openvpn-redeszone nopass

Σημείωση: χρήση της διαμόρφωσης Easy-RSA από: ./vars

Χρήση SSL: openssl OpenSSL 1.1.1d 10 Σεπτεμβρίου 2019

Δημιουργία ιδιωτικού κλειδιού EC


γράφοντας ένα νέο ιδιωτικό κλειδί στο "/home/bron/EasyRSA-v3.0.6/pki/private/servidor-openvpn-redeszone.key.bHJsAFg0KR"


-


Πρόκειται να σας ζητηθεί να εισαγάγετε πληροφορίες που θα ενσωματωθούν


στο αίτημά σας για πιστοποιητικό.

Παρόμοια στοιχεία

Αφήστε μια απάντηση

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

Κουμπί Επιστροφή στην κορυφή