FTP, כלומר פרוטוקול העברת קבצים, הוא פרוטוקול רשת סטנדרטי המשמש להעברת קבצי מחשב בין לקוח לשרת ברשת מבוססת TCP/IP כגון האינטרנט.
בסוף המאמר תמצא קטן מבחן שיאפשר לך להעריך הידע שנרכש בקריאה זו
FTP היא דרך לאפשר העברה מאובטחת של קבצים ממיקום אחד לאחר ויכולה גם לאפשר ניהול קבצים בשרת.
ב-FTP, ישנם שני מצבי חיבור: FTP פעיל ו-FTP פסיבי.
FTP פעיל
ב-FTP פעיל, החיבור מתבצע מהלקוח ליציאת פקודה בשרת. כאשר הלקוח מבקש העברת קבצים, השרת יוזם את חיבור הנתונים בחזרה ללקוח.
זרימת המידע ב-FTP פעיל מתרחשת באופן הבא:
- הלקוח מתחבר מיציאה אקראית (N) ליציאה 21 בשרת (היציאה ל-FTP) ושולח את הפקודה PORT לשרת. פקודה זו אומרת לשרת לאיזה יציאה להתחבר (יציאה N+1).
- ברגע שהשרת מקבל פקודה זו, הוא מתחבר מיציאת הנתונים שלו (בדרך כלל יציאה 20) ליציאה שצוינה על ידי הלקוח (N+1) ומתחיל בהעברת נתונים.
היתרונות של Active FTP
- מקל על תצורת השרת: קל יותר להגדיר FTP פעיל בצד השרת מכיוון שאתה צריך רק לפתוח ולהאזין ליציאה בודדת (יציאה 21).
חסרונות של Active FTP
- בעיות עם חומות אש: לקוחות מאחורי חומת אש נתקלים לעתים קרובות בבעיות עם Active FTP. הסיבה לכך היא שחומת האש רואה את חיבור הנתונים שיזם השרת כלא מבוקש וחוסמת אותו.
- דרישות אבטחה: זה יכול להיות סיכון אבטחה מכיוון שהשרת יוזם את חיבור הנתונים ללקוח, דבר שעלול להיות מנוצל על ידי תוקף.
בקיצור, Active FTP שימושי וקל להגדרה מצד השרת. עם זאת, ייתכן שיש לו בעיות עם חומות אש של לקוחות ולהציג סיכוני אבטחה מסוימים.
מסיבות אלו, ארגונים רבים בוחרים להשתמש ב-FTP פסיבי, שאמנם קשה יותר להגדיר אותו בשרת, אך יש לו פחות בעיות עם חומות אש ומספק שליטה טובה יותר על חיבורי נתונים.
בדרך כלל נעשה שימוש ב-FTP פעיל בתרחישים הבאים
שרתים עם הגבלות מחמירות של חומת אש: אם שרת ה-FTP נמצא מאחורי חומת אש עם מדיניות אבטחה קפדנית המגבילה את היציאות שניתן להשתמש בהן עבור חיבורים נכנסים, Active FTP יכול להיות אפשרות מעשית מכיוון שהוא צריך רק לפתוח ולהאזין ליציאה 21.
מגבלות משאבי שרת: ב- FTP פעיל, השרת צריך רק לפתוח ולהאזין ליציאה יחידה עבור כל חיבורי הנתונים. זה יכול להיות מועיל אם לשרת יש משאבים מוגבלים והוא אינו יכול להתמודד עם פתיחת יציאות מרובות כנדרש ב-FTP פסיבי.
בקרת רשת: מנהלי רשת מסוימים עשויים להעדיף Active FTP מכיוון שהוא מאפשר שליטה רבה יותר על חיבורי נתונים. ב-FTP פעיל, השרת יוזם את חיבור הנתונים, מה שאומר שמנהלי מערכת יכולים לקבל שליטה רבה יותר על העברת נתונים.
FTP פסיבי
FTP פסיבי תוכנן כדי להתגבר על הבעיות של חומות אש ונתבים בחיבור הנתונים Active FTP. שלא כמו Active FTP, ב- FTP פסיבי הלקוח הוא זה שיוזם את שני החיבורים (חיבור הפקודה וחיבור הנתונים) עם השרת.
זרימת המידע ב-FTP פסיבי היא כדלקמן:
- הלקוח מתחבר מיציאה אקראית (N) ליציאה 21 בשרת (היציאה ל-FTP) ושולח את פקודת PASV לשרת. פקודה זו אומרת לשרת שהוא במצב פסיבי ומחכה לתגובה מהשרת עם יציאה לחיבור הנתונים.
- השרת מגיב מיציאה 21 ליציאה N של הלקוח, ומספק יציאה לא מוסמכת (גדולה מ-1023) כדי לקבל את חיבור הנתונים.
- לאחר מכן הלקוח יוזם את החיבור השני מיציאה אקראית אחרת (N+1) לאותה יציאה חסרת פריבילגיה שצוינה על ידי השרת. לאחר יצירת חיבור זה, העברת הנתונים מתחילה.
היתרונות של FTP פסיבי
- התגברות על בעיות עם חומות אש ונתבים: חומות אש ונתבים מאפשרים בדרך כלל חיבורים ביוזמת הלקוח, כך שב-FTP פסיבי בדרך כלל אין את בעיות חומת האש המתרחשות עם Active FTP.
- אבטחה משופרת: מכיוון שהלקוח יוזם את כל החיבורים, יש פחות סיכון להתקפות מהשרת.
חסרונות של FTP פסיבי
- תצורת שרת מורכבת יותר: ב-FTP פסיבי, השרת חייב להיות מסוגל לספק ולפתוח מספר יציאות ללא הרשאות עבור חיבורי נתונים, שיכולים להיות קשים יותר להגדרה ולניהול מאשר ב-Active FTP.
- עומס מוגבר על השרת: מכיוון שהשרת צריך לטפל במספר חיבורים שיזם הלקוח, הוא עשוי לדרוש משאבי שרת נוספים.
לסיכום, פסיבי FTP מספק פתרון לבעיות חומת האש המתרחשות לעיתים קרובות עם Active FTP, ויכול גם לספק אבטחה משופרת. עם זאת, זה יכול להיות קשה יותר להגדיר בשרת ועשוי לדרוש משאבי שרת נוספים.
בדרך כלל נעשה שימוש ב-FTP פסיבי בתרחישים הבאים
לקוחות מאחורי חומת אש: FTP פסיבי שימושי כאשר הלקוח נמצא מאחורי חומת אש שאינה מאפשרת חיבורים נכנסים. ב-FTP פסיבי, הלקוח הוא זה שיוזם את כל החיבורים, ולכן חומות אש בדרך כלל מאפשרות חיבורים אלו.
NAT (תרגום כתובות רשת): אם הלקוח נמצא מאחורי NAT, ייתכן שיש לו בעיות עם Active FTP מכיוון שה-NAT לא ידע כיצד לטפל בחיבור הנתונים שיזם השרת. FTP פסיבי יכול למנוע בעיה זו מכיוון שכל החיבורים מוזמים על ידי הלקוח.
אבטחה: ארגונים מסוימים עשויים להעדיף FTP פסיבי בשל שיקולי אבטחה. מכיוון שכל החיבורים יוזמים על ידי הלקוח, יש פחות סיכון להתקפות מהשרת.
העברת נתונים בקנה מידה גדול: FTP פסיבי יכול להתמודד עם מספר רב של העברות נתונים בו-זמנית, מכיוון שלכל העברה יש חיבור נתונים משלה. זה יכול להיות מועיל בתרחישים שבהם יש צורך בהעברות נתונים רבות בו זמנית.
דוגמאות תצורה במכשיר Cisco
תצורה עבור FTP פעיל
במקרה זה, הגדרת את הממשק שממנו הנתב יוזם חיבורי FTP, וציינת את שם המשתמש והסיסמה לשימוש עבור חיבורי FTP.
Router(config)# ip ftp source-interface FastEthernet 0/0
Router(config)# ip ftp username myusername
Router(config)# ip ftp password 0 mypassword
תצורת FTP פסיבית
הפקודה 'ip ftp passive' מגדירה את הנתב להשתמש ב-FTP פסיבי במקום ב-FTP פעיל. ניתן להגדיר את שם המשתמש והסיסמה עבור חיבורי FTP באותו אופן כמו Active FTP.
Router(config)# ip ftp passive
דוגמאות תצורה במכשיר MikroTik
תצורה עבור FTP פעיל
פקודת 'אחזור' זו יוזמת העברת קבצים מהנתב (לקוח) של MikroTik לשרת ה-FTP. מצב ברירת המחדל הוא Active FTP.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
תצורת FTP פסיבית
על ידי הוספת האפשרות 'פאסיבי: כן', הפקודה 'אחזר' תשתמש ב-FTP פסיבי במקום ב-FTP פעיל.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
passive: yes
טבלה השוואתית של מצבי חיבור FTP פעיל ופסיבי FTP
FTP פעיל | FTP פסיבי | |
---|---|---|
יתרון | 1. תצורה קלה יותר בשרת: יש לפתוח ולהאזין לפורט בודד בלבד. | 1. פחות בעיות עם חומות אש ו-NAT מכיוון שהלקוח יוזם את כל החיבורים. |
2. ביקוש נמוך יותר למשאבי שרת: השרת צריך רק לפתוח ולהאזין לפורט בודד. | 2. משפר את האבטחה שכן כל החיבורים הם ביוזמת הלקוח. | |
3. שליטה רבה יותר ברשת: השרת יוזם חיבורי נתונים. | 3. הוא יכול להתמודד עם מספר רב של העברות נתונים בו-זמנית שכן לכל העברה יש חיבור נתונים משלה. | |
חסרונות | 1. בעיות עם חומות אש ו-NAT בצד הלקוח: הן יכולות לחסום את חיבור הנתונים שיזם השרת. | 1. תצורה מורכבת יותר בשרת: יש לספק ולפתוח מספר יציאות. |
2. סיכוני אבטחה אפשריים: השרת יוזם את חיבור הנתונים ללקוח. | 2. דרישה מוגברת למשאבי שרת: השרת צריך לטפל במספר חיבורים שיזם הלקוח. |