PracticU

FTPS vs SFTP

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתקדמים - הסמכה בינלאומית - Linux - Red Hat - RHCSA / RHCE › FTPS vs SFTP
מילון מושגים:
FTP - פרוטוקול להעברת קבצים בין מחשבים ברשת, בין לקוח לשרת.
SSL - פרוטוקול להצפנת תקשורת ברשת ולאימות זהות השרת. קודמו של TLS, והשם עדיין נפוץ בשימוש.
SSH - פרוטוקול לחיבור מרוחק ומוצפן למחשב, בעיקר לשרתי Linux, לצורך ניהול דרך שורת הפקודה.
תעודה דיגיטלית - מסמך מוצפן שמאשר את זהותו של אתר או שרת וקושר אותו למפתח ציבורי, ומונפק על ידי רשות אישורים.
TLS - הפרוטוקול המודרני להצפנת תקשורת ברשת ולאימות זהות, היורש של SSL, העומד בבסיס HTTPS.
RSA - אלגוריתם הצפנה אסימטרי נפוץ, המבוסס על זוג מפתחות ציבורי ופרטי, לשם הצפנה וחתימה דיגיטלית.
netstat - פקודה שמציגה את חיבורי הרשת הפעילים במחשב ואת הפורטים שבשימוש.
חומת אש - מערכת שמסננת תעבורת רשת לפי כללים, ומתירה או חוסמת חיבורים כדי להגן על מחשב או רשת.

FTPS vs SFTP
השיעור ממשיך את נושא ה-FTP ומראה איך מגדירים הצפנת SSL לשרת vsftpd. בנוסף מוצג SFTP כחלופה שפועלת מעל SSH.
הכנת תעודה
1. תעודה חתומה או פנימית: בארגון שנותן שירות לאינטרנט מקבלים תעודה חתומה מגוף מוסמך. לשימוש פנימי או לניסיון מייצרים תעודה שהמנהל מכיר בעצמו.
2. יצירה: נכנסים לתיקייה /etc/pki/tls/certs ומריצים make עם היעד /etc/vsftpd.pem. הסקריפט מבקש מדינה, אזור, עיר, שם ארגון ושם שרת. השדות חשובים רק בארגון אמיתי.
3. תוצאה: נוצרים קובץ התעודה והמפתח, שהשרת משתמש בהם להצפנה.
הגדרות ב-vsftpd.conf
1. הפעלת SSL: ssl_enable=YES.
2. משתמש אנונימי עם SSL: allow_anon_ssl=YES.
3. חובת הצפנה: force_local_data_ssl=YES ו-force_local_logins_ssl=YES.
4. גרסאות פרוטוקול: ssl_tlsv1=YES, ואילו ssl_sslv2 ו-ssl_sslv3 מוגדרים ל-NO.
5. נתיב התעודה: rsa_cert_file=/etc/vsftpd.pem.
6. יומן: tail -f /var/log/messages מציג שגיאות בזמן הפעלת השירות. שגיאה של טעינת תעודה נבעה משם קובץ שגוי.
בדיקה עם לקוח FTPS
1. חיבור: לקוח כמו SmartFTP תומך גם ב-FTPS וגם ב-SFTP. בוחרים את הסוג, את השרת ואת המשתמש anonymous.
2. אזהרה: התעודה לא נחתמה על ידי גוף מוכר, ולכן הלקוח מציג אזהרה ומתיר את החיבור לאחר אישור.
3. פורט: FTPS פועל בפורט 21 גם כשהתעבורה מוצפנת וגם כשהיא לא. ב-netstat רואים את הפורט 21.
SFTP
1. עטיפה ב-SSH: SFTP פועל דרך שירות ה-SSH ולא דרך vsftpd. ההגדרה נמצאת בקובץ sshd_config.
2. יתרון: מובנה במערכת ואינו דורש תצורה רבה.
3. חיסרון: פחות לקוחות תומכים בו, ובברירת המחדל הוא אינו תומך במשתמש אנונימי.
שימו לב
כדי לאכוף הצפנה גם על משתמש אנונימי מוסיפים force_anon_logins_ssl=YES ו-force_anon_data_ssl=YES. לאחר שינוי הגדרות טוענים מחדש את השירות. בנוסף, ב-FTP מאחורי חומת אש צריך לפתוח את הפורטים הנכונים, ונושא זה מוסבר בשיעור נפרד.
בתום השיעור הסטודנט יודע לייצר תעודה פנימית, להגדיר את vsftpd להצפנה ולהשוות בין FTPS ל-SFTP.
השיעור הבא בקורס: חיבור לשרת FTP עם שם וסיסמה
לחץ כאן להורדת הורדת קבצי Script של לינוקס שהיו בסרטים
מילון מושגים:
דיסק - התקן לאחסון קבוע של נתונים, כמו כונן קשיח (HDD) או כונן מבוסס זיכרון מהיר (SSD).
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
מחיצה - חלוקה לוגית של דיסק פיזי לאזורים נפרדים, שכל אחד מתפקד כאילו הוא כונן עצמאי.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
דומיין - תחום ניהולי משותף של מחשבים ומשתמשים ברשת ארגונית, המנוהל מרכזית. גם שם ייחודי של אתר באינטרנט.
אימות - תהליך שמוודא שהמשתמש או המערכת הם מי שהם טוענים שהם, בדרך כלל באמצעות סיסמה, קוד או תעודה.
Active Directory - שירות מדריך של מיקרוסופט לניהול מרכזי של משתמשים, מחשבים והרשאות ברשת ארגונית מבוססת דומיין.
GPO - אובייקט מדיניות קבוצתית ב-Active Directory, שמכיל הגדרות ומדיניות המוחלות על משתמשים ומחשבים.


מבנה ושמות דיסקים ומחיצות בלינוקס:


(Sda (disk0): זה הדיסק הפיזי הראשון (SATA DISK)

(Sda1,Sda2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי הראשון.

(Sdb (disk1): זה הדיסק הפיזי השני כמו בוינדוס Disk1

(Sdb1,Sdb2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי השני.

מחיצת השורש הראשונה:

וינדוס: C

לינוקס: /

מחיצות נוספות:

וינדוס: D: / E:

לינוקס: /data /example כמו תיקיות.

הערה: בתהליך ההתקנה יוצרים מחיצה נוספת לזיכרון הווירטואלי שנקראת SWAP

מטרת צירוף לינוקס לדומיין הינה לאימות משתמשים מתוך Active Directory בלבד ואין GPO  ללינוקס דרך AD.


הוכן ע"י התלמיד המצטיין: אברהים אבו שיכה

פרקי ההרצאה: FTPS vs SFTP

  1. 00:00

    מבוא: העברת קבצים בטוחה באינטרנט

  2. 01:06

    נקודת ההמשך מהסרטון הקודם

  3. 02:14

    סרטיפיקט חתום מגוף מוסמך או פנימי

  4. 03:30

    יצירת סרטיפיקט עם סקריפט make

  5. 05:18

    הפרטים שנשאלים בזמן יצירת הסרטיפיקט

  6. 06:44

    הפעלת SSL בקובץ ההגדרות של vsftpd

  7. 09:08

    הוספת ההגדרה ssl_enable לקובץ

תמלול ההרצאה: FTPS vs SFTP

הטקסט המלא של הדקות הראשונות בהרצאה «FTPS vs SFTP» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:05

    שלום וברוכים הבאים לסרטון ההמשך בנושא העברת קבצים בטוחה. סרטון ההמשך בנושא FTP שרתי FTP בלינוקס הרבה פעמים אנחנו נדרשים לבצע העברת קבצים.

  2. 00:19

    יחד עם זאת, כאשר מדובר בהעברת הקבצים באינטרנט, אנחנו נרצה להבטיח שהמידע שלנו לא יגיע לידיים הלא נכונות, במיוחד עם כמות הסניפינג וההאקינג שקורית באינטרנט.

  3. 00:33

    יש לנו מספר דרכים לעשות זאת, אך אנחנו בסרטון הזה נתמקד בדרך של FTP. בסרטון הקודם למדנו איך להגדיר FTP ולכן אתם צריכים להכיר היטב את ההגדרות ב-etc.vstpd.vstpd.conf.

  4. 01:01

    עכשיו פה בעצם אנחנו עצרנו איפה שהיינו בסרטון הקודם ככה שהשרת מאפשר גישה למשתמש אנונימוס לתיקיית פאבליק.

  5. 01:15

    בסרטון הזה אנחנו נלמד איך להגדיר את ה-VSFTP ככה שהוא יעבוד בתצורת SSL. אחר כך אנחנו נלמד על טכנולוגיית SFTP שזה בעצם פרוטוקול FTP כאשר הוא עטוף מעל בפרוטוקול SSH ובעזרתו בעצם ה-SSH מבטיח את ההצפנה וה-FTP נותן את השכבה של תעבורת הקבצים.

  6. 01:47

    אז לצורך העניין הדרך הראשונה שזה שרת FTP עם פרוטוקול SSL נקראת FTP-S בדומה ל-HTTP-S והדרך השנייה נקראת S-FTP שזה FTP שהוא עטוף בפרוטוקול SSH.

  7. 02:10

    עכשיו כשלב ראשון אנחנו צריכים להגדיר את הסרטיפיקייט שלנו כאשר אנחנו נעשה שירותים בתוך חברות או שירותים חיצוניים שעובדים מול האינטרנט אנחנו נקבל מגוף מוסמך סרטיפיקייט חתום על ידיו הסרטיפיקייט ישמש את השרת לבצע ההצפנה אוקיי כאשר גוף מוכר ומורשה חותם על הסרטיפיקייט, ככה הלקוח יכול להיות בטוח שהסרטיפיקייט הוא בעצם חתום בצורה רשמית ואינו מזויף והמידע שלו אכן מגיע

  8. 02:53

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

  9. 03:09

    לצורך כך אני אכנס לתיקייה שבה מצוי סקריפט שמייצר את הסרטיפיקייטים. למי שצריך יותר מידע על SSL אני מזמין אותו לראות את הסרטון שלנו על הצפנות ו-SSL בקורס אחר.

  10. 03:30

    את הקישור תמצאו בהערות. אני נכנס לספרי ה-ETC PKI TLS CERTS. וכאן בעצם ישנו סקריפט מייק פייל מייק זאת בעצם טכנולוגיה שנועדה לקומפילציות של דברים או להרצה של פקודות ממש כמו המייק פייל הוא ממש סוג של סקריפט אם אני אעשה עליו קאט על המייק פייל אנחנו פה בעצם נראה כמה אופציות, מה צריך לעשות בכל מקרה.

  11. 04:14

    למשל, אני הולך, יש פה אופציה אם אני רוצה לייצר סרטיפיקט CRT או אם אני רוצה סרטיפיקט עם K וכדומה. אני רוצה סרטיפיקט שמסתיים ב-PAM, ולכן אני הולך לעשות את הפעולה הבאה.

  12. 04:36

    make/etc/vsftpd.pem וככה אני בעצם הולך אומר לו להצר את הסרטיפיקייט וכבר יש לי קובץ כזה אז אני אמחק אותו כדי שתראו את תהליך יצירת הסרטיפיקייט.

  13. 05:10

    מוחק אותו ומריץ את הסקריפט עוד פעם. אני מתבקש למלא שתי אותיות של מדינה, אתה מצורך הדוגמה, אני ארשום U.S, יכולתי גם לרשום כל מדינה אחרת, State, שם האזור שבו אני נמצא, City, Default City.

  14. 05:32

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

  15. 05:54

    שהם יחידה עסקית, שם השרת, סרבר אחד, אוקיי? שוב, הסודות האלה הם לצורך הסרטיפיקייט בלבד, אימייל הדרסינג אני לא ממלא, ונוצר לי הסרטיפיקייט.

  16. 06:12

    אם אני אסתכל על מה יש בתוך הסרטיפיקייט הזה, אוקיי? אני אראה פה בעצם את הדבר הבא, את הסרטיפיקייט עצמו ואת המפתח.

  17. 06:33

    בעזרת הסרטיפיקייט והמפתח השרת יצפין את התעבורה, אוקיי? עכשיו אני צריך לקחת את קובץ הגדרות ובעצם לתת שמה הוראות שהשרת FTP ישתמש בהצפנה, אוקיי?

  18. 06:58

    ואת זה אני עושה בצורה הבאה: vi etc vsftpd vsftpd.conf, אוקיי? הדירקטיב זה של SSL הם לא מופיעים בקובץ כבחירת מחדל, ולכן אני צריך להוסיף אותם ידנית.

  19. 07:21

    אם אני ארצה מידע יותר מפורט על כל ההגדרות שאני יכול להוסיף לקובץ הזה, כדי להראות לכם, אני יכול לעשות man על הקובץ conf vsftpd.conf וכאן אני בעצם מקבל את הרשימה המלאה של ההגדרות.

  20. 07:49

    למשל כאן אני כבר יכול לראות הגדרה של allow a non SSL only be specified only applies if SSL enabled is הכתיב אם כן אז גם משתמש אנונימוס יוכל להשתמש ב-Connection עם סוג SSL ה-Default הוא לא אוקיי וכאן אני בעצם רואה את כל המידע הזה אני מאוד ממליץ כאשר אתם עורכים קבצים כאלה תפתחו חלון אחד של מאד פייג' ותתחברו לשרת

  21. 08:28

    מהחלון השני, וככה בעצם בחלון אחד אתם תוכלו לראות את הפקודות, נגיד בצורה כזאת, ובחלון השני לערוך את ההגדרות.

  22. 09:01

    אז אני נכנס פה לקובץ הגדרות vitc vsftpd vsftpd.conf הולך לסוף הקובץ, וידאתי שאין פה דירקטיב של ssl ועובר למוד אינסרט ומוסיף את הדירקטיב סבאים, קודם כל את הדירקטיב ssl enable וכאן שימו ואני במקביל מחפש אותו במאנץ' שתראו איך עושים את זה כשלא לגמרי סגורים על העקודות.

  23. 09:55

    קפוץ פה ישר ל-slash ssl in ssl enable. מה זה עושה? אם מאופשר v ומקומפל עם ssl, אז vsftpd יתמוך בחיבורים מסוג ssl. אוקיי, אז אני רושם פה ssl תחתון enable שווה yes, אוקיי?

לקורס המלא: קורס לינוקס מתקדם אונליין

ההרצאה הקודמת: התקנת שרת FTP בלינוקס

ההרצאה הבאה: חיבור לשרת FTP עם שם וסיסמה

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell