Εισαγωγή
Προαπαιτούμενα
Δημιουργία και τροποποίηση χρήστη
Δημιουργήστε και διαμορφώστε ένα κλειδί SSH
Ρυθμίστε ένα βασικό τείχος προστασίας
Εισαγωγή
Σε όλο αυτό το σεμινάριο θα μάθετε πώς να διαμορφώνετε ένα βασικό επίπεδο ασφάλειας σε μια ολοκαίνουργια εικονική μηχανή Vultr VC2 που εκτελεί το Ubuntu 18.04.
Προαπαιτούμενα
- Ένας λογαριασμός Vultr, μπορείτε να δημιουργήσετε έναν εδώ
- Ένα νέο Ubuntu 18.04 Vultr VM
Δημιουργία και τροποποίηση χρήστη
Το πρώτο πράγμα που πρόκειται να κάνουμε είναι να δημιουργήσουμε τον νέο μας χρήστη που θα χρησιμοποιήσουμε για να συνδεθείτε στο VM:
adduser porthorian
Σημείωση: Συνιστάται η χρήση ενός μοναδικού ονόματος χρήστη που θα είναι δύσκολο να μαντέψει κανείς. Τα περισσότερα bots θα δοκιμάσουν από προεπιλογή root, admin, moderator, και παρόμοια.
Εδώ θα σας ζητηθεί κωδικός πρόσβασης. Συνιστάται ανεπιφύλακτα να χρησιμοποιείτε έναν ισχυρό αλφαριθμητικό κωδικό πρόσβασης. Μετά από αυτό, ακολουθήστε τις προτροπές στην οθόνη σας και όταν σας ρωτήσει εάν οι πληροφορίες είναι σωστές, απλώς πατήστε Y.
Μόλις προστεθεί αυτός ο νέος χρήστης, θα χρειαστεί να δώσουμε στον χρήστη δικαιώματα sudo, ώστε να μπορούμε να εκτελέσουμε εντολές από τον χρήστη για λογαριασμό του χρήστη root:
usermod -aG sudo porthorian
Αφού δώσετε στον χρήστη σας δικαιώματα sudo, μεταβείτε στον νέο σας χρήστη:
su - porthorian
Για να δημιουργήσετε το κλειδί SSH, ακολουθήστε αυτό το έγγραφο .
Μόλις δημιουργήσετε το νέο κλειδί SSH, αντιγράψτε το δημόσιο κλειδί σας. Θα πρέπει να μοιάζει με το εξής:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAmB3uRWxAAELNJ8oGBCBmZx7S11vnAp0RG8rdKf6CLdvT7NMbKF55F8Wf0hFPewEryplaH54ibdmaTuheJVKy1lUhHnVi0AcBpkhJiiOQdEtvbYKT/eIkQl/Qm92Gz6aL3lJ0UknO4gO0LzgqI2vYX0b9LHMF+ZvApEDahLCna6RKo3/lffnANUKfExE+dVwOcJwATL3Ld5IkSatm7zBqbJAim0wj/JQ5ejzkL+aYd3YawpW3qf+WsY3HGbK2TIJt3LsiZJ3M7giZo/fVIZCJqsIOyO9NUOEx5/+KE8IniGb7gdRYgquAEJr89poDCNz/8CBODi9z3ukiE1+UnVlhfQ== rsa-key-20190408
Διαμορφώστε τον κατάλογο των χρηστών σας
Πλοηγηθείτε στον αρχικό κατάλογο των χρηστών σας εάν δεν είστε ήδη σε αυτόν:
cd $HOME
$HOMEείναι η μεταβλητή περιβάλλοντος για τον αρχικό κατάλογο των χρηστών σας. Αυτό ρυθμίζεται αυτόματα όταν δημιουργείται ο νέος χρήστης.
Ενώ στον αρχικό μας κατάλογο θα τοποθετήσουμε έναν άλλο κατάλογο μέσα σε αυτόν. Αυτός ο κατάλογος θα είναι κρυφός από άλλους χρήστες στο μηχάνημα, εκτός από το root και τον χρήστη στον οποίο ανήκει ο κατάλογος. Δημιουργήστε τον νέο κατάλογο και περιορίστε τα δικαιώματά του με τις ακόλουθες εντολές:
mkdir ~/.ssh
chmod 700 ~/.ssh
Τώρα θα ανοίξουμε ένα αρχείο με το .sshόνομα authorized_keys. Αυτό είναι το καθολικό αρχείο που αναζητά το OpenSSH. Μπορείτε να αλλάξετε το όνομα αυτού μέσα στο OpenSSH config, /etc/ssh/sshd_config, εάν παραστεί ανάγκη.
Χρησιμοποιήστε τον αγαπημένο σας επεξεργαστή για να δημιουργήσετε το αρχείο. Αυτό το σεμινάριο θα χρησιμοποιεί το nano:
nano ~/.ssh/authorized_keys
Αντιγράψτε και επικολλήστε το κλειδί ssh στο authorized_keysαρχείο που ανοίξαμε. Μόλις το δημόσιο κλειδί είναι μέσα, μπορείτε να αποθηκεύσετε το αρχείο πατώντας CTRL+ O.
Βεβαιωθείτε ότι εμφανίζεται η κατάλληλη διαδρομή αρχείου:
/home/porthorian/.ssh/authorized_keys
Εάν είναι η σωστή διαδρομή αρχείου, απλώς πατήστε ENTER, διαφορετικά κάντε τις απαραίτητες αλλαγές για να ταιριάζει με το παραπάνω παράδειγμα. Στη συνέχεια, βγείτε από το αρχείο με CTRL+ X.
Τώρα θα περιορίσουμε την πρόσβαση στο αρχείο:
chmod 600 ~/.ssh/authorized_keys
Βγείτε από τον χρήστη που δημιουργήσαμε και επιστρέψτε στον χρήστη root:
exit
Απενεργοποίηση ελέγχου ταυτότητας με κωδικό πρόσβασης
Μπορούμε τώρα να απενεργοποιήσουμε τον έλεγχο ταυτότητας με κωδικό πρόσβασης στον διακομιστή, με αυτόν τον τρόπο η σύνδεση θα απαιτεί ένα κλειδί ssh. Είναι σημαντικό να σημειωθεί ότι εάν απενεργοποιήσετε τον έλεγχο ταυτότητας με κωδικό πρόσβασης και το δημόσιο κλειδί δεν εγκαταστάθηκε σωστά, θα κλειδωθείτε έξω από τον διακομιστή σας. Συνιστάται να δοκιμάσετε πρώτα το κλειδί πριν καν αποσυνδεθείτε από τον χρήστη root.
Αυτήν τη στιγμή είμαστε συνδεδεμένοι στον χρήστη root μας, επομένως πρόκειται να επεξεργαστούμε το sshd_config:
nano /etc/ssh/sshd_config
Θα αναζητήσουμε 3 τιμές για να βεβαιωθούμε ότι το OpenSSH έχει ρυθμιστεί σωστά.
PasswordAuthentication
PubkeyAuthentication
ChallengeResponseAuthentication
Μπορούμε να βρούμε αυτές τις τιμές πατώντας CTRL+ W.
Οι τιμές θα πρέπει να οριστούν ως εξής:
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
Εάν οι τιμές σχολιάζονται, αφαιρέστε το #στην αρχή της γραμμής και βεβαιωθείτε ότι οι τιμές αυτών των μεταβλητών είναι όπως φαίνεται παραπάνω. Μόλις έχετε αλλάξει αυτές τις μεταβλητές, να αποθηκεύσετε και να βγείτε από το πρόγραμμα επεξεργασίας, με CTRL+ O, ENTERκαι τέλος CTRL+ X.
Τώρα θα επαναφορτίσουμε sshdμε την ακόλουθη εντολή:
systemctl reload sshd
Τώρα μπορούμε να δοκιμάσουμε τη σύνδεση. Βεβαιωθείτε ότι δεν έχετε αποσυνδεθεί ακόμα από τη συνεδρία root και ανοίξτε ένα νέο παράθυρο ssh και συνδεθείτε με το κλειδί ssh που είναι συνδεδεμένο στη σύνδεση.
Στο PuTTY αυτό είναι κάτω από Connection-> SSH-> Auth.
Περιηγηθείτε για να βρείτε το ιδιωτικό σας κλειδί για έλεγχο ταυτότητας, καθώς θα έπρεπε να το έχετε αποθηκεύσει κατά τη δημιουργία του κλειδιού ssh.
Συνδεθείτε στον διακομιστή σας με το ιδιωτικό κλειδί ως έλεγχο ταυτότητας. Τώρα θα συνδεθείτε στην εικονική μηχανή Vultr VC2.
Σημείωση: Εάν προσθέσατε μια φράση πρόσβασης κατά τη δημιουργία του κλειδιού ssh, θα σας ζητηθεί. Αυτός είναι εντελώς διαφορετικός από τον πραγματικό κωδικό πρόσβασης χρήστη στην εικονική μηχανή.
Ρυθμίστε ένα βασικό τείχος προστασίας
Διαμόρφωση UFW
Πρώτα θα ξεκινήσουμε εγκαθιστώντας το UFW αν δεν είναι ήδη στην εικονική μηχανή. Ένας καλός τρόπος ελέγχου είναι με την ακόλουθη εντολή:
sudo ufw status
Εάν είναι εγκατεστημένο το UFW, θα βγάζει Status:inactive. Εάν δεν είναι εγκατεστημένο, θα σας ζητηθεί να το κάνετε.
Μπορούμε να το εγκαταστήσουμε με αυτή την εντολή:
sudo apt-get install ufw -y
Τώρα θα επιτρέψουμε τη θύρα SSH 22στο τείχος προστασίας μας:
sudo ufw allow 22
Εναλλακτικά, μπορείτε να επιτρέψετε το OpenSSH:
sudo ufw allow OpenSSH
Οποιαδήποτε από τις παραπάνω εντολές θα λειτουργήσει.
Τώρα που έχουμε επιτρέψει τη θύρα μέσω του τείχους προστασίας μας, μπορούμε να ενεργοποιήσουμε το UFW:
sudo ufw enable
Θα ερωτηθείτε εάν είστε βέβαιοι ότι θέλετε να εκτελέσετε αυτήν τη λειτουργία. Πληκτρολογώντας yακολουθούμενη από ENTERθα ενεργοποιήσει το τείχος προστασίας:
porthorian@MEANStack:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation? y
Σημείωση: Εάν δεν επιτρέψατε το OpenSSH ή τη Θύρα 22, θα κλειδωθείτε έξω από την εικονική σας μηχανή. Βεβαιωθείτε ότι επιτρέπεται ένα από αυτά πριν ενεργοποιήσετε το UFW.
Μόλις ενεργοποιηθεί το τείχος προστασίας, θα συνεχίσετε να είστε συνδεδεμένοι στην παρουσία σας. Θα ελέγξουμε ξανά το τείχος προστασίας μας τώρα με την ίδια εντολή όπως πριν:
sudo ufw status
Θα δείτε κάτι παρόμοιο με την ακόλουθη έξοδο:
porthorian@MEANStack:~$ sudo ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
Διαμόρφωση του τείχους προστασίας Vultr
Για περαιτέρω ασφάλεια του διακομιστή μας θα χρησιμοποιήσουμε το Vultr Firewall. Συνδεθείτε στον λογαριασμό σας . Μόλις συνδεθείτε, θα μεταβείτε στην καρτέλα του τείχους προστασίας που βρίσκεται στο επάνω μέρος της οθόνης σας:

Τώρα θα προσθέσουμε μια νέα ομάδα τείχους προστασίας. Αυτό θα μας επιτρέψει να καθορίσουμε ποιες θύρες μπορούν ακόμη και να φτάσουν στο τείχος προστασίας UFW, παρέχοντάς μας διπλό επίπεδο ασφάλειας:
![Αρχική ασφαλής διαμόρφωση διακομιστή του Ubuntu 18.04 Αρχική ασφαλής διαμόρφωση διακομιστή του Ubuntu 18.04]()
Το Vultr θα σας ρωτήσει τώρα πώς θα ονομάσετε το τείχος προστασίας σας χρησιμοποιώντας το πεδίο "Περιγραφή". Βεβαιωθείτε ότι περιγράφετε τι θα κάνουν οι διακομιστές σε αυτήν την ομάδα τείχους προστασίας, για ευκολότερη μελλοντική διαχείριση. Για χάρη αυτού του σεμιναρίου θα το ονομάσουμε test. Μπορείτε πάντα να αλλάξετε την περιγραφή αργότερα, αν θέλετε.
Πρώτα θα χρειαστεί να λάβουμε τη διεύθυνση IP μας. Ο λόγος που το κάνουμε απευθείας είναι ότι εάν η διεύθυνση IP σας δεν είναι στατική και αλλάζει συνεχώς, μπορείτε απλά να συνδεθείτε στον λογαριασμό σας Vultr και να αλλάξετε τη διεύθυνση IP.
Αυτός είναι επίσης ο λόγος που δεν απαιτήσαμε τη διεύθυνση IP στο τείχος προστασίας UFW. Επιπλέον, περιορίζει τη χρήση του τείχους προστασίας της εικονικής μηχανής σας από το φιλτράρισμα όλων των άλλων θυρών και απλώς αφήνει το τείχος προστασίας Vultr να το χειριστεί. Αυτό περιορίζει την πίεση του συνολικού φιλτραρίσματος επισκεψιμότητας στην παρουσία σας.
Χρησιμοποιήστε το γυαλί αναζήτησης δικτύου του Vultr για να βρείτε τη διεύθυνση IP σας.
Τώρα λοιπόν που έχουμε τη διεύθυνση IP μας, θα προσθέσουμε έναν κανόνα IPV4 στο τείχος προστασίας που δημιουργήθηκε πρόσφατα:
![Αρχική ασφαλής διαμόρφωση διακομιστή του Ubuntu 18.04 Αρχική ασφαλής διαμόρφωση διακομιστή του Ubuntu 18.04]()
Αφού εισαγάγετε τη διεύθυνση IP, κάντε κλικ στο +σύμβολο για να προσθέσετε τη διεύθυνση IP σας στο τείχος προστασίας.
Η ομάδα τείχους προστασίας σας θα έχει την εξής μορφή:
![Αρχική ασφαλής διαμόρφωση διακομιστή του Ubuntu 18.04 Αρχική ασφαλής διαμόρφωση διακομιστή του Ubuntu 18.04]()
Τώρα που έχουμε την IP μας σωστά συνδεδεμένη στην ομάδα Τείχους προστασίας, πρέπει να συνδέσουμε το Vultr Instance. Στην αριστερή πλευρά θα δείτε μια καρτέλα που λέει "Συνδεδεμένες περιπτώσεις":
![Αρχική ασφαλής διαμόρφωση διακομιστή του Ubuntu 18.04 Αρχική ασφαλής διαμόρφωση διακομιστή του Ubuntu 18.04]()
Μόλις μπείτε στη σελίδα, θα δείτε ένα αναπτυσσόμενο μενού με μια λίστα με τις παρουσίες του διακομιστή σας:
![Αρχική ασφαλής διαμόρφωση διακομιστή του Ubuntu 18.04 Αρχική ασφαλής διαμόρφωση διακομιστή του Ubuntu 18.04]()
Κάντε κλικ στο αναπτυσσόμενο μενού και επιλέξτε την παρουσία σας. Στη συνέχεια, όταν είστε έτοιμοι να προσθέσετε την παρουσία στην ομάδα τείχους προστασίας, κάντε κλικ στο +σύμβολο.
Συγχαρητήρια, εξασφαλίσατε με επιτυχία την εικονική μηχανή Vultr VC2. Αυτό σας δίνει μια καλή βάση για ένα πολύ βασικό επίπεδο ασφάλειας χωρίς να ανησυχείτε ότι κάποιος προσπαθεί να επιβάλει βίαια την παρουσία σας.