Εγκατάσταση του vsFTPd
Δημιουργήστε ένα αυτο-υπογεγραμμένο πιστοποιητικό
Εγκαταστήστε το νέο πιστοποιητικό στο vsFTPd
Επιβεβαιώστε την εγκατάσταση
Το Very Secure FTP daemon, ή απλά το vsFTPd είναι ένα ελαφρύ κομμάτι λογισμικού με μεγάλη ικανότητα προσαρμογής. Σε αυτό το σεμινάριο πρόκειται να εξασφαλίσουμε μια ήδη υπάρχουσα εγκατάσταση σε ένα σύστημα Debian χρησιμοποιώντας το δικό μας αυτο-υπογεγραμμένο πιστοποιητικό SSL/TLS. Παρά το γεγονός ότι είναι γραμμένο για το Debian, θα πρέπει να λειτουργεί στις περισσότερες διανομές Linux όπως το Ubuntu και το CentOS για παράδειγμα.
Εγκατάσταση του vsFTPd
Σε ένα νέο Linux VPS, πρέπει πρώτα να εγκαταστήσετε το vsFTPd. Παρόλο που θα βρείτε τα βασικά βήματα για να εγκαταστήσετε το vsFTPd σε αυτό το σεμινάριο, σας συνιστώ να διαβάσετε και αυτά τα δύο πιο αναλυτικά σεμινάρια: Εγκατάσταση vsFTPd σε Debian/Ubuntu και Εγκατάσταση vsFTPd σε CentOS . Όλα τα βήματα σχετικά με την εγκατάσταση εξηγούνται πιο προσεκτικά εκεί.
Εγκατάσταση σε Debian/Ubuntu:
apt-get install vsftpd
Εγκατάσταση σε CentOS:
yum install epel-release
yum install vsftpd
Διαμόρφωση
Ανοίξτε το αρχείο διαμόρφωσης: /etc/vsftpd.conf στον αγαπημένο σας επεξεργαστή κειμένου, σε αυτό το σεμινάριο που χρησιμοποιούμε nano.
nano /etc/vsftpd.conf
Επικολλήστε τις ακόλουθες γραμμές στη διαμόρφωση:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
Ολοκληρώστε επανεκκινώντας τον δαίμονα vsFTPd:
/etc/init.d/vsftpd restart
Θα πρέπει τώρα να μπορείτε να συνδεθείτε ως οποιοσδήποτε τοπικός χρήστης μέσω FTP, τώρα ας προχωρήσουμε και ας ασφαλίσουμε αυτό το λογισμικό.
Δημιουργήστε ένα αυτο-υπογεγραμμένο πιστοποιητικό
Ένα αυτο-υπογεγραμμένο πιστοποιητικό χρησιμοποιείται συνήθως σε ένα πρωτόκολλο συμφωνίας δημόσιου κλειδιού, τώρα θα το χρησιμοποιείτε opensslγια να δημιουργήσετε ένα δημόσιο κλειδί και ένα αντίστοιχο ιδιωτικό κλειδί. Πρώτα απ 'όλα πρέπει να δημιουργήσουμε έναν κατάλογο για να αποθηκεύσουμε αυτά τα δύο βασικά αρχεία, κατά προτίμηση σε μια ασφαλή τοποθεσία που δεν έχουν πρόσβαση οι κανονικοί χρήστες.
mkdir -p /etc/vsftpd/ssl
Τώρα για την πραγματική δημιουργία του πιστοποιητικού, θα αποθηκεύσουμε και τα δύο κλειδιά στο ίδιο αρχείο ( /etc/vsftpd/ssl/vsftpd.pem ):
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem
Μετά την εκτέλεση της εντολής θα σας τεθούν μερικές ερωτήσεις όπως κωδικός χώρας, πολιτεία, πόλη, όνομα οργανισμού κ.λπ. χρησιμοποιήστε τις δικές σας ή τις πληροφορίες του οργανισμού σας. Τώρα, η πιο σημαντική γραμμή είναι το Common name που πρέπει να ταιριάζει με τη διεύθυνση IP του VPS σας, εναλλακτικά ένα όνομα τομέα που δείχνει σε αυτό.
Αυτό το πιστοποιητικό θα ισχύει για 365 ημέρες (~1 έτος), θα χρησιμοποιεί το πρωτόκολλο συμφωνίας κλειδιού RSA με μήκος κλειδιού 4096 bit και το αρχείο που περιέχει και τα δύο κλειδιά θα αποθηκευτεί στον νέο κατάλογο που μόλις δημιουργήσαμε. Για περισσότερες λεπτομέρειες σχετικά με το μήκος του κλειδιού και τη σχέση του με την ασφάλεια, δείτε αυτό: Συστάσεις Encryption II .
Εγκαταστήστε το νέο πιστοποιητικό στο vsFTPd
Για να ξεκινήσουμε να χρησιμοποιούμε το νέο μας πιστοποιητικό και να παρέχουμε κρυπτογράφηση, πρέπει να ανοίξουμε ξανά το αρχείο διαμόρφωσης:
nano /etc/vsftpd.conf
Πρέπει να προσθέσουμε τις διαδρομές στο νέο πιστοποιητικό και τα αρχεία κλειδιών μας. Εφόσον είναι αποθηκευμένα στο ίδιο αρχείο, θα πρέπει να είναι το ίδιο και μέσα στη διαμόρφωση.
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem
Πρέπει να προσθέσουμε αυτήν τη γραμμή για να βεβαιωθούμε ότι το SSL θα είναι ενεργοποιημένο:
ssl_enable=YES
Προαιρετικά, ενδέχεται να αποκλείσουμε ανώνυμους χρήστες από τη χρήση SSL, καθώς δεν απαιτείται κρυπτογράφηση σε δημόσιο διακομιστή FTP.
allow_anon_ssl=NO
Στη συνέχεια, πρέπει να καθορίσουμε πότε θα χρησιμοποιούμε SSL/TLS, αυτό θα επιτρέψει την κρυπτογράφηση τόσο για τη μεταφορά δεδομένων όσο και για τα διαπιστευτήρια σύνδεσης
force_local_data_ssl=YES
force_local_logins_ssl=YES
Μπορούμε επίσης να καθορίσουμε ποιες εκδόσεις και πρωτόκολλα θα χρησιμοποιηθούν. Το TLS είναι γενικά πιο ασφαλές από το SSL και επομένως μπορεί να επιτρέψουμε το TLS και ταυτόχρονα να αποκλείσουμε παλαιότερες εκδόσεις του SSL.
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
Απαιτείται επαναχρησιμοποίηση του SSL και η χρήση υψηλών κρυπτογράφησης θα συμβάλει επίσης στη βελτίωση της ασφάλειας. Από τις σελίδες man του vsFTPd:
require_ssl_reuse
If set to yes, all SSL data connections are required to exhibit SSL session reuse (which proves that they know the same master secret as the control
channel). Although this is a secure default, it may break many FTP clients, so you may want to disable it. For a discussion of the consequences, see
http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (Added in v2.1.0).
ssl_ciphers
This option can be used to select which SSL ciphers vsftpd will allow for encrypted SSL connections. See the ciphers man page for further details. Note
that restricting ciphers can be a useful security precaution as it prevents malicious remote parties forcing a cipher which they have found problems with.
require_ssl_reuse=YES
ssl_ciphers=HIGH
Ολοκληρώστε με επανεκκίνηση του vsftpdδαίμονα
/etc/init.d/vsftpd restart
Επιβεβαιώστε την εγκατάσταση
Και αυτό είναι όλο, θα πρέπει τώρα να μπορείτε να συνδεθείτε στον διακομιστή σας και να επιβεβαιώσετε ότι όλα λειτουργούν. Εάν χρησιμοποιείτε το FileZilla, ένα παράθυρο διαλόγου που περιέχει τις πληροφορίες του οργανισμού σας (ή ό,τι πληκτρολογήσατε κατά τη δημιουργία του πιστοποιητικού νωρίτερα) θα πρέπει να ανοίξει κατά τη σύνδεση. Η έξοδος θα πρέπει τότε να μοιάζει με αυτό:
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Για να μάθετε περισσότερα σχετικά με το vsFTPd, ρίξτε μια ματιά στις σελίδες του εγχειριδίου:
man vsftpd