How To install FTP Server Vsftpd on Debian GNULinux 9.1 stretch
תוכן עניינים:
- תנאים מוקדמים
- התקנת vsftpd ב- Debian 9
- קביעת תצורה של vsftpd
- 1. גישה ל- FTP
- 2. הפעלת העלאות
- 3. כלא חרוט
- 4. חיבורי FTP פסיביים
- 5. הגבלת כניסה למשתמש
- 6. אבטחת הילוכים באמצעות SSL / TLS
- הפעל מחדש את שירות vsftpd
- פתיחת חומת האש
- יצירת משתמש FTP
- השבתת גישה של מעטפת
- סיכום
FTP (Protocol Transfer Protocol) הוא פרוטוקול רשת רגיל המשמש להעברת קבצים לרשת מרוחקת וממנה. להעברת נתונים מאובטחת ומהירה יותר, השתמש ב- SCP או SFTP.
ישנם שרתי FTP מקוד פתוח רבים הזמינים עבור לינוקס. הפופולריים והנפוצים ביותר הם PureFTPd, ProFTPD ו- vsftpd.
מדריך זה מסביר כיצד להתקין ולהגדיר vsftpd (Very Secure Ftp Daemon) ב Debian 9. vsftpd שרת FTP יציב, מאובטח ומהיר. אנו נראה לך כיצד לקבוע את התצורה של vsftpd להגביל את המשתמשים לספרייה הביתית שלהם ולהצפין את כל השידור באמצעות SSL / TLS.
תנאים מוקדמים
המשתמש שאתה מחובר אליו חייב להיות בעל הרשאות sudo כדי להיות מסוגל להתקין חבילות.
התקנת vsftpd ב- Debian 9
חבילת vsftpd זמינה במאגרי Debian. ההתקנה די פשוטה:
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-12-10 11:42:51 UTC; 53s ago Main PID: 1394 (vsftpd) CGroup: /system.slice/vsftpd.service └─1394 /usr/sbin/vsftpd /etc/vsftpd.conf
קביעת תצורה של vsftpd
ניתן להגדיר את שרת ה- vsftpd על ידי שינוי הקובץ
vsftpd.conf
, שנמצא בספריית
/etc
מרבית ההגדרות מתועדות היטב בתוך קובץ התצורה. עבור כל האפשרויות הזמינות בקר בדף הרשמי של vsftpd.
בסעיפים הבאים נעבור על כמה הגדרות חשובות הנחוצות להגדרת תצורה של התקנה מאובטחת vsftpd.
התחל בפתיחת קובץ התצורה vsftpd:
1. גישה ל- FTP
אתר את ההוראות
anonymous_enable
local_enable
ואמת את התאמת התצורה שלך לשורות שלהלן:
anonymous_enable=NO local_enable=YES
זה מבטיח שרק המשתמשים המקומיים יוכלו לגשת לשרת FTP.
2. הפעלת העלאות
write_enable
את
write_enable
הגדרת ה-
write_enable
כדי לאפשר שינויים במערכת הקבצים כגון העלאה ומחיקה של קבצים.
3. כלא חרוט
כדי למנוע ממשתמשי ה- FTP לגשת לקבצים שמחוץ לספריות הביתיות שלהם, מבטלים את הגדרת
chroot
.
chroot_local_user=YES
כברירת מחדל כדי למנוע פגיעות אבטחה, כאשר chroot מופעל vsftpd יסרב להעלות קבצים אם ניתן לכתוב את הספרייה בה משתמשים נעולים.
השתמש באחת מהשיטות להלן כדי לאפשר העלאה כאשר פעולת השלטים מופעלת.
-
שיטה 1 - השיטה המומלצת לאפשר העלאה היא להשאיר את פעולת הרעש ולהגדיר ספריות FTP. במדריך זה, ניצור ספריית
/etc/vsftpd.confftp
בתוך בית המשתמש אשר תשמש כערך וספרייתuploads
הניתנות לכתיבה להעלאת קבצים.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 סיביות ותעודת חתימה עצמית בתוקף למשך 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_private_key_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/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key 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 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
בקובץ התצורה שלך, דלג על השלב השלישי.
-
צור משתמש חדש בשם
newftpuser
:sudo adduser newftpuser
הוסף את המשתמש לרשימת משתמשי ה- FTP המותרת:
echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list
צור את עץ ספריות ה- FTP וקבע את ההרשאות הנכונות:
sudo mkdir -p /home/newftpuser/ftp/upload
sudo chmod 550 /home/newftpuser/ftp
sudo chmod 750 /home/newftpuser/ftp/upload
sudo chown -R newftpuser: /home/newftpuser/ftp
כפי שנדון בסעיף הקודם, המשתמש יוכל להעלות את הקבצים שלו
ftp/upload
.
בשלב זה, שרת ה- FTP שלך הוא פונקציונלי לחלוטין ועליך להיות מסוגל להתחבר לשרת שלך באמצעות כל לקוח FTP שניתן להגדיר אותו לשימוש בהצפנת TLS כמו FileZilla.
השבתת גישה של מעטפת
כברירת מחדל, בעת יצירת משתמש, אם לא צוין במפורש, למשתמש תהיה גישה 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 מאובטח ומהיר במערכת Debian 9 שלך.
ftp דביאןכיצד להתקין ולהגדיר שרת nfs ב- centos 8

במדריך זה תעברו את הצעדים הנחוצים להגדרת שרת NFSv4 ב- CentOS 8. אנו נראה לכם כיצד להתקין מערכת קבצים NFS על הלקוח.
כיצד להתקין שרת ftp עם vsftpd ב- centos 7

במדריך זה נתקין את vsftpd. זהו שרת FTP יציב, מאובטח ומהיר. אנו נראה לך כיצד לקבוע את התצורה של vsftpd להגביל את המשתמשים לספרייה הביתית שלהם ולהצפין את כל השידור באמצעות SSL / TLS.
כיצד להתקין שרת ftp עם vsftpd באובונטו 18.04

במדריך זה נתקין את vsftpd. זהו שרת FTP יציב, מאובטח ומהיר. אנו נראה לך כיצד לקבוע את התצורה של vsftpd להגביל את המשתמשים לספרייה הביתית שלהם ולהצפין את כל השידור באמצעות SSL / TLS.