Βήμα πρώτο - Εγκατάσταση
Βήμα δεύτερο - Διαμόρφωση
Βήμα τρίτο - Δημιουργία χρηστών
Βήμα τέταρτο - Υποστήριξη TLS
Ο Pure-FTPd είναι ένας γρήγορος και ελαφρύς διακομιστής FTP που έχει σχεδιαστεί με γνώμονα την ασφάλεια. Σε αυτό το σεμινάριο, θα σας δείξω πώς να εγκαταστήσετε και να χρησιμοποιήσετε το Pure FTP σε 4 εύκολα βήματα. Αυτός ο οδηγός εξηγεί πώς να εγκαταστήσετε το Pure FTPd στο Debian 9.
Βήμα πρώτο - Εγκατάσταση
Το Pure-FTPd βρίσκεται στο σταθερό αποθετήριο του Debian, επομένως δεν χρειάζεται να προσθέσετε επιπλέον αποθετήρια στο σύστημά σας.
Εκτελέστε την ακόλουθη εντολή με δικαιώματα root:
apt install -y pure-ftpd-common pure-ftpd
Βήμα δεύτερο - Διαμόρφωση
Υπάρχουν πολλές επιλογές που μπορείτε να χρησιμοποιήσετε για να αλλάξετε τη συμπεριφορά της εφαρμογής. Αυτές οι επιλογές θα μπορούσαν να εφαρμοστούν στον δαίμονα του Pure-FTPd κατά την εκκίνηση ή θα μπορούσατε να τις κάνετε επίμονες δημιουργώντας τα απαραίτητα αρχεία μέσα στον conf
κατάλογο.
Θέλουμε να:
- Δημιουργήστε εικονικούς χρήστες.
- Δημιουργήστε οικιακούς καταλόγους για χρήστες αυτόματα.
- Περιορίστε τους
chroot
χρήστες ( ) να έχουν πρόσβαση μόνο στον δικό τους οικιακό κατάλογο.
Ενεργοποιήστε τη βάση δεδομένων του Pure-FTPd και απενεργοποιήστε τον έλεγχο ταυτότητας PAM και Unix για να ενεργοποιήσετε τους εικονικούς χρήστες:
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
echo no > /etc/pure-ftpd/conf/PAMAuthentication
echo no > /etc/pure-ftpd/conf/UnixAuthentication
Ρυθμίστε το Pure-FTPd ώστε να δημιουργεί οικιακούς καταλόγους για χρήστες κατά την πρώτη τους είσοδο:
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir
Chroot όλοι.
echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
Εάν ενδιαφέρεστε να μάθετε για άλλες επιλογές, επισκεφτείτε την επίσημη σελίδα τεκμηρίωσης .
Βήμα τρίτο - Δημιουργία χρηστών
Το Pure-FTPd μπορεί να χειριστεί εικονικούς χρήστες, πράγμα που σημαίνει ότι διατηρούνται στη βάση δεδομένων του Pure-FTPd και δεν σχετίζονται με χρήστες του συστήματος Linux.
Προκειμένου το Pure-FTPd να διαχειρίζεται αρχεία με εικονικούς χρήστες, πρέπει να δημιουργήσουμε έναν χρήστη και μια ομάδα Linux στην οποία θα συσχετίζονται όλοι οι εικονικοί χρήστες. Όλοι οι εικονικοί χρήστες μπορούν να χρησιμοποιούν τον ίδιο χρήστη και ομάδα συστήματος, εφόσον έχουν γίνει chroot.
Εκτελέστε τις ακόλουθες εντολές για να δημιουργήσετε τον χρήστη και την ομάδα του συστήματος:
groupadd ftpusr
useradd -g ftpusr -d /dev/null -s /etc ftpusr
Σημείωση : Δεν θέλουμε αυτός ο χρήστης να έχει οικιακό κατάλογο ή δυνατότητα σύνδεσης.
Δημιουργήστε τον ριζικό μας κατάλογο FTP:
mkdir /home/FTP
Δημιουργήστε έναν εικονικό χρήστη στο Pure-FTPd:
pure-pw useradd alex -u ftpusr -g ftpusr -d /home/FTP/alex
Προσθέσαμε τον πρώτο μας εικονικό χρήστη ( alex
) και τον συσχετίσαμε με χρήστη/ομάδα συστήματος ( ftpusr
). Όλα τα αρχεία με τα οποία γράφετε alex
θα ανήκουν ftpusr
στο σύστημα.
Ενημερώστε τη βάση δεδομένων του Pure-FTPd:
pure-pw mkdb
Ελέγξτε τα στοιχεία του χρήστη:
pure-pw show alex
Login : alex
Password : <encrypted password>
UID : 1000 (ftpusr)
GID : 1000 (ftpusr)
Directory : /home/FTP/alex/./
Full name :
Download bandwidth : 0 Kb (unlimited)
Upload bandwidth : 0 Kb (unlimited)
Max files : 0 (unlimited)
Max size : 0 Mb (unlimited)
Ratio : 0:0 (unlimited:unlimited)
Allowed local IPs :
Denied local IPs :
Allowed client IPs :
Denied client IPs :
Time restrictions : 0000-0000 (unlimited)
Max sim sessions : 0 (unlimited)
Για να κάνετε τη ζωή πιο εύκολη, χρησιμοποιήστε το ακόλουθο σενάριο για να προσθέσετε λογαριασμούς FTP:
echo -e '#!/bin/bash\nread -p "Enter UserName: " usrname\npure-pw useradd $usrname -u ftpusr -g ftpusr -d /home/FTP/$usrname && pure-pw mkdb' > /usr/sbin/ftp-createacc
chmod u+x /usr/sbin/ftp-createacc
Τώρα, η δημιουργία λογαριασμών FTP είναι απλή:
ftp-createacc
Enter UserName: mike
Password:
Enter it again:
Βήμα τέταρτο - Υποστήριξη TLS
Πρώτα, πρέπει να εγκαταστήσουμε το OpenSSL.
apt install -y openssl
Αναγκάστε το Pure-FTPd να χρησιμοποιήσει το TLS, διαφορετικά μπορούμε να το κάνουμε προαιρετικό, πράγμα που σημαίνει ότι γίνονται αποδεκτές τόσο οι μη ασφαλείς όσο και οι συνδέσεις TLS
# force TLS
echo 2 > /etc/pure-ftpd/conf/TLS
# insecure + TLS
echo 1 > /etc/pure-ftpd/conf/TLS
Δημιουργήστε έναν κατάλογο για να αποθηκεύσετε τα κλειδιά μας.
mkdir -p /etc/ssl/pure-ftpd
Δημιουργήστε ένα κλειδί δέσμης (ιδιωτικό κλειδί και δημόσιο κλειδί).
openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Επανεκκινήστε τον pure-ftpd
δαίμονα.
systemctl restart pure-ftpd
Εάν έχετε εγκατεστημένο ένα τείχος προστασίας στο σύστημά σας ή ο διακομιστής σας βρίσκεται πίσω από το NAT, πρέπει να ορίσετε παθητικές θύρες στο Pure-FTPd και να ανοίξετε αυτές τις θύρες στο τείχος προστασίας σας, διαφορετικά θα λάβετε σφάλματα όπως αυτά:
Server sent passive reply with unroutable address. Passive mode failed.
Failed to retrieve directory listing.
500 I won't open a connection to 192.168.1.4 (only to 10.10.10.10).
Ορίστε παθητικές θύρες στο Pure-FTPd:
echo "40110 42210" > /etc/pure-ftpd/conf/PassivePortRange
Κάντε επανεκκίνηση pure-ftpd
για να εφαρμόσετε την αλλαγή.
systemctl restart pure-ftpd
Στο τείχος προστασίας σας, ανοίξτε το εύρος εισερχόμενων θυρών από 40110 έως 42210 , πρωτόκολλο TCP.
Το FTP είναι ανασφαλές από τη φύση του, αλλά είναι επίσης γρήγορο και εύκολο στην εγκατάσταση. Για πιο ασφαλή λύση, χρησιμοποιήστε το SFTP.