(Very Secured FTP Daemon Server (vsftpd
FTP (File Transfer Protocol) Server מאפשר שיתוף קבצים בצורה מהירה ופשוטה.
FTP עובד עם שני TCP Ports:
- FTP control channel – TCP Port 21
כל הפקודות שמשתמש שולח וכל התגובות של שרת ה- FTP לפקודות אלה נשלחות בערוץ זה. - FTP data channel – TCP Port 20
ערוץ זה משמש עבור העברת נתונים בין הלקוח לשרת.
סוגי שרתי FTP:
Active FTP
- הלקוח מתחבר לשרת FTP על ידי הקמת FTP control channel ל- TCP Port 21.
- בכל פעם שהלקוח מבקש נתונים על חיבור הבקרה, השרת יוזם הקמת חיבורי
FTP data channel בחזרה ללקוח. Port המקור בשרת תמיד יהיה TCP Port 20 ואצל הלקוח port היעד תמיד יהיה port גבוה מי 1024.
Active FTP עלול להיכשל במקרים שבהם הלקוח מחובר לאינטרנט באמצעות PAT.
בנוסף, בדרך כלל Firewהכל לא מאפשר חיבורים נכנסים ולכן לעתים קרובות הוא חוסם את תפקוד Active FTP.
Passive FTP
- הלקוח מתחבר לשרת FTP על ידי הקמת FTP control channel ל- TCP Port 21.
- בכל פעם שהלקוח מבקש נתונים על חיבור הבקרה, הלקוח יוזם הקמת חיבור
FTP data channel לשרת. Port המקור אצל הלקוח יהיה גבוה מי 1024 ו port היעד לשרת יהיה TCP Port 20.
passive FTP עובד טוב יותר עבור לקוחות שמוגנים על ידי חומת אש.
התקנת FTP Client
את חבילת gftp נתקין על מחשב הלקוח (ubuntu)
התקנת החבילה gftp :
הפקודה: sudo apt-get instהכל gftp
גישה לשרת FTP
שימו לב: שם המשתמש והסיסמה נשלחים על גבי הרשת מבלי להיות מוצפנים.
הגישה לשרת מתאפשרת דרך סייר, דפדפן או תוכנת ftp client על ידי הקלדת שם או כתובת IP של השרת. דוגמא: ftp://ftp.hp.com.
לפעמים מתאפשרת גישה לשרת גם ללא הרשאות (anonymous).
ניתן להכניס שם משתמש כדי לקבל הרשאות גבוהות יותר.
דוגמא: ftp://username@sitename או ftp://username:סיסמה@sitename.
גישה לשרת FTP דרך ה- Shell
{ftp {host_name or IP address
רוב שרתי FTP באינטרנט יאפשרו לך להתחבר עם משתמש בשם anonymous.
התקנת FTP Server
בדיקה האם החבילה vsftpd מותקנת: rpm -q vsftpd
קבלת פרטים על החבילה (לפני ההתקנה): yum info vsftpd
התקנת החבילה vsftpd: yum instהכל vsftpd
בדיקה האם השרות vsftpd פועל: systemctl סטטוס vsftpd
הפעלת השרות vsftpd: systemctl start vsftpd
הפעלת השרות אוטומטית בהפעלת השרת: systemctl enable vsftpd
פתיחת גישה לשרת דרך הפיירול: firewהכל-config
כברירת מחדל, השרת מציג את תוכן התיקייה: /var/ftp/
השרת שומר רשומות log בקובץ:
/var/log/vsftpd.log
קובץ ההגדרות (vsftpd.conf (/etc/vsftpd/vsftpd.conf
vsftpd קורא את תוכן קובץ ההגדרות רק כאשר הוא עולה, לכן יש צורך להפעיל מחדש את vsftpd בכל פעם שנעשה שינוי בקובץ על מנת שהשינויים ייכנסו לתוקף.
כדי שהשינויים בקובץ ההגדרות יכנסו לתוקף, יש הפעיל את השרות מחדש:
systemctl restart vsftpd
קובץ זה משתמש במספר הגדרות ברירת מחדל:
כברירת מחדל כניסה לשרת כ- anonymous מאופשרת ולכן כל אחד יכול להיכנס לשרת.
אפשר למשתמש anonymous להתחבר לשרת:
anonymous_enable=Yes
לא תתבקש סיסמא למשתמש anonymous:
no_anon_סיסמה=Yes
כברירת מחדל, ניתן להיכנס לשרת עם משתמש מקומי:
local_enable=Yes
כברירת מחדל anonymous יכולים להוריד קבצים אבל לא להעלות קבצים.
כדי לשנות זאת:
anon_upload_enable=Yes
כברירת מחדל anonymous לא יכולים ליצור תיקיות בשרת.
כדי לשנות זאת:
anon_mkdir_write_enable=Yes
Anonymous Upload
יצירת תיקייה שמאפשרת למשתמשים להעלות קבצים לשרת אבל לא יכולים לראות קבצים של משתמשים אחרים:
mkdir /var/ftp/pub/upload
chmod 722 /var/ftp/pub/upload
אפשור כתיבה לתיקיות בשרת:
write_enable=Yes
מאפשר לשנות שמות ולמחוק קבצים
anon_other_write_enable=Yes
הקובץ /etc/vsftpd/user_list מכיל רשימה של משתמשים.
userlist_file=/etc/vsftpd/user_list
שני ההגדרות שמתחת מונעות ממשתמשים שרשומים בקובץ user_list להתחבר לשרת.
userlist_enable= Yes
userlist_deny=Yes
Uploading Files – Local users
local_umask=077 משתמש יוכל לראות רק קבצים שהוא העלה
local_umask=022 משתמש יכול לראות גם קבצים שמשתמשים אחרים העלו
הגדרות נוספות
הגבלת המספר המרבי של לקוחות שיכולים להתחבר לשרת:
max_clients
הגבלת המספר המקסימלי של לקוחות שיכולים להתחבר עם כתובת IP אחת:
max_per_ip
הגדרת קצב העברת הנתונים המרבי ל- anonymous
anon_max_rate
הגדרת קצב העברת הנתונים המרבי למשתמש מקומי.
local_max_rate
תרגיל:
- אפשר גישה לשרת FTP, רק עם משתמש בשם ftp1.
המשתמש יוכל רק לראות ולהוריד קבצים מהתיקייה download.
לא יהיה למשתמש גישה לתיקייה pub.
לצורך בדיקה, צור גם משתמש בשם ftp2 ובדוק שאין לו גישה לתיקיות בשרת. - בנוסף להגדרות הקודמות, צור תיקייה בשם upload.
אפשר למשתמש ftp2 גישה מלאה לתיקייה.
אפשר למשתמש ftp1 רק להוריד קבצים מהתיקייה.
בהצלחה!!