Εγκατάσταση τοπικού server
Πίνακας περιεχομένων:
- Προϋποθέσεις
- Εγκατάσταση vsftpd στο Ubuntu 18.04
- Διαμόρφωση του vsftpd
- 1. Πρόσβαση FTP
- 2. Ενεργοποίηση μεταφορτώσεων
- 3. Η φυλακή του Chroot
- 4. Παθητικές συνδέσεις FTP
- 5. Περιορισμός της σύνδεσης χρήστη
- 6. Διασφάλιση μεταδόσεων με SSL / TLS
- Κάντε επανεκκίνηση της υπηρεσίας vsftpd
- Άνοιγμα του τείχους προστασίας
- Δημιουργία χρήστη FTP
- Απενεργοποίηση πρόσβασης Shell
- συμπέρασμα
Το FTP (πρωτόκολλο μεταφοράς αρχείων) είναι ένα τυπικό πρωτόκολλο δικτύου που χρησιμοποιείται για τη μεταφορά αρχείων προς και από ένα απομακρυσμένο δίκτυο. Για πιο ασφαλή και ταχύτερη μεταφορά δεδομένων, χρησιμοποιήστε SCP ή SFTP.
Υπάρχουν πολλοί διακομιστές FTP ανοιχτού κώδικα διαθέσιμοι για το Linux. Τα πιο δημοφιλή και ευρέως χρησιμοποιούμενα είναι τα PureFTPd, ProFTPD και vsftpd. Σε αυτό το σεμινάριο, θα εγκαταστήσουμε το vsftpd (Very Secure Ftp Daemon). Είναι ένας σταθερός, ασφαλής και γρήγορος διακομιστής FTP. Θα σας δείξουμε επίσης πώς μπορείτε να διαμορφώσετε το vsftpd για να περιορίσετε τους χρήστες στον οικείο κατάλογό τους και να κρυπτογραφήσετε ολόκληρη τη μετάδοση με SSL / TLS.
Αν και αυτό το σεμινάριο είναι γραμμένο για το Ubuntu 18.04, ισχύουν οι ίδιες οδηγίες για το Ubuntu 16.04 και οποιαδήποτε διανομή βασισμένη στο Debian, συμπεριλαμβανομένων των Debian, Linux Mint και Elementary OS.
Προϋποθέσεις
Πριν συνεχίσετε με αυτό το σεμινάριο, βεβαιωθείτε ότι έχετε συνδεθεί ως χρήστης με δικαιώματα sudo.
Εγκατάσταση vsftpd στο Ubuntu 18.04
Το πακέτο vsftpd είναι διαθέσιμο στα αποθετήρια του Ubuntu. Για να το εγκαταστήσετε, απλά εκτελέστε τις ακόλουθες εντολές:
sudo apt update
sudo apt install vsftpd
Η υπηρεσία vsftpd θα ξεκινήσει αυτόματα μετά την ολοκλήρωση της διαδικασίας εγκατάστασης. Επαληθεύστε την εκτυπώνοντας την κατάσταση της υπηρεσίας:
sudo systemctl status vsftpd
Η έξοδος θα φαίνεται κάπως παρακάτω, δείχνοντας ότι η υπηρεσία vsftpd είναι ενεργή και λειτουργεί:
* vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2018-10-15 03:38:52 PDT; 10min ago Main PID: 2616 (vsftpd) Tasks: 1 (limit: 2319) CGroup: /system.slice/vsftpd.service `-2616 /usr/sbin/vsftpd /etc/vsftpd.conf
Διαμόρφωση του vsftpd
Ο διακομιστής vsftpd μπορεί να ρυθμιστεί με την επεξεργασία του αρχείου
/etc/vsftpd.conf
. Οι περισσότερες από τις ρυθμίσεις είναι καλά τεκμηριωμένες μέσα στο αρχείο διαμόρφωσης. Για όλες τις διαθέσιμες επιλογές επισκεφθείτε την επίσημη σελίδα vsftpd.
Στις επόμενες ενότητες θα αναφερθούμε σε ορισμένες σημαντικές ρυθμίσεις που απαιτούνται για τη διαμόρφωση μιας ασφαλούς εγκατάστασης vsftpd.
Ξεκινήστε ανοίγοντας το αρχείο ρυθμίσεων vsftpd:
1. Πρόσβαση FTP
Θα επιτρέψουμε την πρόσβαση στον εξυπηρετητή FTP μόνο στους τοπικούς χρήστες, να βρούμε τις οδηγίες
anonymous_enable
και
local_enable
και να επαληθεύσουμε την αντιστοίχιση διαμόρφωσης με τις παρακάτω γραμμές:
anonymous_enable=NO local_enable=YES
2. Ενεργοποίηση μεταφορτώσεων
write_enable
ρύθμιση
write_enable
για να επιτρέψετε αλλαγές στο σύστημα αρχείων, όπως φόρτωση και διαγραφή αρχείων.
3. Η φυλακή του Chroot
Για να αποτρέψετε τους χρήστες FTP να έχουν πρόσβαση σε οποιαδήποτε αρχεία εκτός των οικείων καταλόγων τους, αποσυνδέστε τη ρύθμιση
chroot
.
chroot_local_user=YES
Από προεπιλογή, για την αποτροπή μιας ευπάθειας ασφαλείας, όταν είναι ενεργοποιημένο το chroot, το vsftpd θα αρνηθεί να μεταφορτώσει αρχεία εάν ο κατάλογος στον οποίο είναι κλειδωμένοι οι χρήστες είναι εγγράψιμος.
Χρησιμοποιήστε μία από τις παρακάτω μεθόδους για να επιτρέψετε μεταφορτώσεις όταν ενεργοποιείται το chroot.
-
Μέθοδος 1. - Η συνιστώμενη μέθοδος για να επιτρέψετε τη μεταφόρτωση είναι να διατηρείτε ενεργοποιημένο το chroot και να διαμορφώνετε καταλόγους FTP. Σε αυτό το σεμινάριο, θα δημιουργήσουμε έναν κατάλογο
/etc/vsftpd.confftpμέσα στο σπίτι του χρήστη που θα χρησιμεύσει ως chroot και ένας εγγράψιμος κατάλογος μεταφορτώσεων για την αποστολή αρχείων.user_sub_token=$USER local_root=/home/$USER/ftpΜέθοδος 2. - Μια άλλη επιλογή είναι να προσθέσετε την ακόλουθη οδηγία στο αρχείο ρυθμίσεων vsftpd. Χρησιμοποιήστε αυτήν την επιλογή εάν πρέπει να παραχωρήσετε εγγράψιμη πρόσβαση στο χρήστη στον οικείο κατάλογό του.
/etc/vsftpd.confallow_writeable_chroot=YES
4. Παθητικές συνδέσεις FTP
Το vsftpd μπορεί να χρησιμοποιήσει οποιαδήποτε θύρα για παθητικές συνδέσεις FTP. Θα καθορίσουμε το ελάχιστο και το μέγιστο εύρος θυρών και αργότερα θα ανοίξουμε το φάσμα στο τείχος προστασίας μας.
Προσθέστε τις ακόλουθες γραμμές στο αρχείο διαμόρφωσης:
/etc/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. Περιορισμός της σύνδεσης χρήστη
Για να επιτρέπεται μόνο σε ορισμένους χρήστες να συνδεθούν στο διακομιστή FTP, προσθέστε τις ακόλουθες γραμμές στο τέλος του αρχείου:
userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
Όταν αυτή η επιλογή είναι ενεργοποιημένη, πρέπει να καθορίσετε ρητά ποιοι χρήστες μπορούν να συνδεθούν προσθέτοντας τα ονόματα χρηστών στο αρχείο
/etc/vsftpd.user_list
(ένας χρήστης ανά γραμμή).
6. Διασφάλιση μεταδόσεων με SSL / TLS
Για να κρυπτογραφήσετε τις μεταδόσεις FTP με SSL / TLS, θα χρειαστεί να έχετε ένα πιστοποιητικό SSL και να διαμορφώσετε το διακομιστή FTP για να το χρησιμοποιήσετε.
Μπορείτε να χρησιμοποιήσετε ένα υπάρχον πιστοποιητικό SSL που έχει υπογραφεί από μια αξιόπιστη αρχή έκδοσης πιστοποιητικών ή να δημιουργήσετε ένα πιστοποιητικό που έχετε υπογράψει αυτόματα.
Θα δημιουργήσουμε ένα πιστοποιητικό SSL που έχει υπογράψει αυτόματα χρησιμοποιώντας την εντολή
openssl
.
Η ακόλουθη εντολή θα δημιουργήσει ένα ιδιωτικό κλειδί 2048-bit και αυτό-υπογεγραμμένο πιστοποιητικό που θα ισχύει για 10 χρόνια. Τόσο το ιδιωτικό κλειδί όσο και το πιστοποιητικό θα αποθηκευτούν σε ένα ίδιο αρχείο:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Μόλις δημιουργηθεί το πιστοποιητικό SSL, ανοίξτε το αρχείο ρυθμίσεων vsftpd:
sudo nano /etc/vsftpd.conf
Βρείτε τις
rsa_cert_file
και
rsa_private_key_file
, αλλάξτε τις τιμές τους στη διαδρομή του αρχείου
pam
και ρυθμίστε την οδηγία
ssl_enable
σε
YES
:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES
Εάν δεν ορίζεται διαφορετικά, ο διακομιστής FTP θα χρησιμοποιεί μόνο TLS για να κάνει ασφαλείς συνδέσεις.
Κάντε επανεκκίνηση της υπηρεσίας vsftpd
Μόλις τελειώσετε την επεξεργασία, το αρχείο ρυθμίσεων vsftpd (εξαιρουμένων των σχολίων) θα πρέπει να φαίνεται κάπως έτσι:
/etc/vsftpd.conf
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
Αποθηκεύστε το αρχείο και κάντε επανεκκίνηση της υπηρεσίας vsftpd για να εφαρμοστούν οι αλλαγές:
Άνοιγμα του τείχους προστασίας
Για να ανοίξετε τη θύρα
21
(θύρα εντολών FTP), θύρα
20
(θύρα δεδομένων FTP) και
30000-31000
(περιοχή παθητικών θυρών), εκτελέστε τις ακόλουθες εντολές:
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
Για να αποφύγετε να κλειδώσετε, ανοίξτε τη θύρα
22
:
sudo ufw allow OpenSSH
Επαναφόρτωση των κανόνων UFW απενεργοποιώντας και ενεργοποιώντας ξανά το UFW:
sudo ufw disable
sudo ufw enable
Για να επαληθεύσετε την εκτέλεση των αλλαγών:
sudo ufw status
Status: active To Action From -- ------ ---- 20:21/tcp ALLOW Anywhere 30000:31000/tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 20:21/tcp (v6) ALLOW Anywhere (v6) 30000:31000/tcp (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6)
Δημιουργία χρήστη FTP
Για να ελέγξουμε τον διακομιστή FTP, θα δημιουργήσουμε έναν νέο χρήστη.
- Αν έχετε ήδη έναν χρήστη που θέλετε να παραχωρήσετε πρόσβαση FTP, παραλείψτε το πρώτο βήμα. Εάν ορίσετε το
allow_writeable_chroot=YESστο αρχείο ρυθμίσεων, παραλείψτε το 3ο βήμα.
-
Δημιουργήστε ένα νέο χρήστη με όνομα
newftpuser:sudo adduser newftpuserΠροσθέστε τον χρήστη στην επιτρεπόμενη λίστα χρηστών FTP:
echo "newftpuser" | sudo tee -a /etc/vsftpd.user_listΔημιουργήστε την δέντρο καταλόγου FTP και ορίστε τα σωστά δικαιώματα:
sudo mkdir -p /home/newftpuser/ftp/uploadsudo chmod 550 /home/newftpuser/ftpsudo chmod 750 /home/newftpuser/ftp/uploadsudo chown -R newftpuser: /home/newftpuser/ftpΌπως αναφέρθηκε στην προηγούμενη ενότητα, ο χρήστης θα μπορεί να ανεβάσει τα αρχεία του στον κατάλογο
ftp/upload.
Σε αυτό το σημείο, ο διακομιστής FTP είναι πλήρως λειτουργικός και θα πρέπει να είστε σε θέση να συνδεθείτε στο διακομιστή σας χρησιμοποιώντας οποιοδήποτε πρόγραμμα-πελάτη FTP που μπορεί να ρυθμιστεί ώστε να χρησιμοποιεί κρυπτογράφηση TLS, όπως το FileZilla.
Απενεργοποίηση πρόσβασης Shell
Από προεπιλογή, κατά τη δημιουργία ενός χρήστη, εάν δεν έχει καθοριστεί ρητά, ο χρήστης θα έχει πρόσβαση SSH στο διακομιστή.
Για να απενεργοποιήσετε την πρόσβαση στο κέλυφος, θα δημιουργήσουμε ένα νέο κέλυφος που θα τυπώνει απλά ένα μήνυμα που θα λέει στο χρήστη ότι ο λογαριασμός του περιορίζεται μόνο στην πρόσβαση FTP.
Δημιουργήστε το κέλυφος
/bin/ftponly
και κάντε το εκτελέσιμο:
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponly
Προσθέστε το νέο κέλυφος στη λίστα έγκυρων κελυφών στο αρχείο
/etc/shells
:
echo "/bin/ftponly" | sudo tee -a /etc/shells
Αλλάξτε το κέλυφος χρήστη στο
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
Χρησιμοποιήστε την ίδια εντολή για να αλλάξετε το κέλυφος όλων των χρηστών που θέλετε να δώσετε μόνο πρόσβαση FTP.
συμπέρασμα
Σε αυτό το σεμινάριο, μάθατε πώς να εγκαταστήσετε και να διαμορφώσετε έναν ασφαλή και γρήγορο διακομιστή FTP στο σύστημα Ubuntu 18.04.
ftp ubuntuΠώς να ρυθμίσετε και να χρησιμοποιήσετε το ftp server στο Android
Θέλετε να μεταφέρετε αρχεία από τη συσκευή σας Android σε υπολογιστή χωρίς καλώδιο USB; Δοκιμάστε τη μέθοδο του διακομιστή FTP για να κάνετε κοινή χρήση αρχείων μεταξύ Android και υπολογιστή ασύρματα.
Πώς να ρυθμίσετε τον ftp server με vsftpd σε centos 7
Σε αυτό το σεμινάριο θα εγκαταστήσουμε vsftpd. Είναι ένας σταθερός, ασφαλής και γρήγορος διακομιστής FTP. Θα σας δείξουμε επίσης πώς να διαμορφώσετε το vsftpd για να περιορίσετε τους χρήστες στον οικείο κατάλογό τους και να κρυπτογραφήσετε ολόκληρη τη μετάδοση με SSL / TLS.
Πώς να ρυθμίσετε τον ftp server με το vsftpd στο debian 9
Σε αυτό το σεμινάριο θα εγκαταστήσουμε vsftpd. Είναι ένας σταθερός, ασφαλής και γρήγορος διακομιστής FTP. Θα σας δείξουμε επίσης πώς να διαμορφώσετε το vsftpd για να περιορίσετε τους χρήστες στον οικείο κατάλογό τους και να κρυπτογραφήσετε ολόκληρη τη μετάδοση με SSL / TLS.







