שרת SFTPGo 2.5.0 שוחרר. הוא מאפשר גישה מרחוק לקבצים באמצעות פרוטוקולי SFTP, SCP/SSH, Rsync, HTTP ו-WebDav, וכן מתן גישה למאגרי Git באמצעות פרוטוקול SSH. ניתן לספק נתונים הן ממערכת הקבצים המקומית והן מאחסון חיצוני התואם ל-Amazon S3, Google Cloud Storage ו-Azure Blob Storage. ניתן לאחסן נתונים בצורה מוצפנת. כדי לאחסן את מסד הנתונים והמטא-דאטה של המשתמש, נעשה שימוש במערכות DBMS עם תמיכה בפורמט SQL או מפתח/ערך, כגון PostgreSQL, MySQL, SQLite, CockroachDB או bbolt, אך ניתן גם לאחסן מטא-דאטה ב-RAM, שאינו דורש חיבור מסד נתונים חיצוני. קוד הפרויקט נכתב ב-Go ומופץ תחת רישיון GPLv3.
בגרסה החדשה:
- ממשק האינטרנט מספק כעת את היכולת לסגור הודעות שגיאה. ממשק האינטרנט של מנהל המערכת תומך כעת בחיפוש ביומני ביקורת וייצוא נתונים, וניהול רשימות זמין כעת. כתובות IP ורשתות, היכולת להגדיר SMTP ופרמטרים סטנדרטיים של ACME ו-SFTP זמינה כעת. ממשק האינטרנט של הלקוח כולל כעת טופס התחברות מותאם אישית (מחליף אימות בסיסי), נוספו פעולות העתקה ומגבלת גודל ההעלאה הוסרה.

- נוספה תמיכה במדיניות שימוש בסיסמאות, לדוגמה, ניתן להגדיר דרישות חוזק סיסמה ולקבוע את משך חיי הסיסמה.
- ל-EventManager יש כעת את היכולת להציג התראות על סיסמאות שפג תוקפן, יושמה פעולת העתקה, נוספה תמיכה בפעולות שנקראו מראש (pre-*) ובמטפלים המופעלים על ידי פעולות מסוימות (לדוגמה, נוסף מטפל שנקרא כאשר משתמש מתחבר).
- נוספה האפשרות להעניק למשתמשים הרשאות מנהל.
- פקודות לאיפוס סיסמת מנהל המערכת ולבדיקת פונקציונליות השירות נוספו לממשק שורת הפקודה.
- נוספה תמיכה באופרטורים מותנים בעת ביצוע שינוי שם המוני של קבצים בצד של ספק הענן.
- נוספה תמיכה במעקב והפעלה מחדש אוטומטית אישורי TLS.
- נוספה היכולת להגדיר סוגי MIME מותאמים אישית עבור WebDAV.
- עבור SSH, אימות מקלדת אינטראקטיבי מופעל כברירת מחדל.
- במצב נייד, כעת ניתן לטעון סיסמאות מקובץ.
- נוספה תמיכה ניסיונית עבור שירות Terraform.
תכונות עיקריות של SFTPGo:
- כל חשבון מסודר, ומגביל את הגישה לספריית הבית של המשתמש. אפשר ליצור ספריות וירטואליות המתייחסות לנתונים מחוץ לספריית הבית של המשתמש.
- חשבונות מאוחסנים במסד נתונים וירטואלי של משתמשים שאינו חופף למסד הנתונים של משתמשי המערכת. ניתן להשתמש ב-SQLite, MySQL, PostgreSQL, bbolt ואחסון בזיכרון לאחסון מסדי נתונים של משתמשים. ניתנים מתקנים למיפוי חשבונות וירטואליים ומערכת - אפשרי מיפוי ישיר או אקראי (ניתן למפות משתמש מערכת אחד למשתמש וירטואלי אחר).
- אימות באמצעות מפתחות ציבוריים, מפתחות SSH וסיסמאות נתמך (כולל אימות אינטראקטיבי עם סיסמה המוזנת מהמקלדת). ניתן לאגד מספר מפתחות לכל משתמש, וכן להגדיר אימות רב-גורמי ורב-שלבי (לדוגמה, במקרה של אימות מפתח מוצלח, ניתן לבקש בנוסף סיסמה).
- עבור כל משתמש, ניתן להגדיר שיטות אימות שונות, כמו גם להגדיר שיטות משלך, המיושמות על ידי קריאה לתוכניות אימות חיצוניות (לדוגמה, לאימות באמצעות LDAP) או שליחת בקשות דרך ה-API של HTTP.
- אפשר לחבר מטפלים חיצוניים או קריאות HTTP API כדי לשנות באופן דינמי פרמטרים של משתמש, שנקראו לפני שהמשתמש מתחבר. יצירה דינמית של משתמשים עם חיבור נתמכת.
- תומך במכסות בודדות עבור גודל נתונים ומספר קבצים.
- תמיכה בהגבלת רוחב פס עם תצורה נפרדת של הגבלות לתעבורה נכנסת ויוצאת, וכן הגבלות על מספר החיבורים בו זמנית.
- כלי בקרת גישה הפועלים ביחס למשתמש או ספרייה (ניתן להגביל את הצפייה ברשימת קבצים, לאסור העלאה, הורדה, החלפה, מחיקה, שינוי שם או שינוי זכויות גישה, לאסור יצירת ספריות או קישורים סמליים וכו').
- עבור כל משתמש, אתה יכול להגדיר הגבלות רשת בודדות, לדוגמה, אתה יכול לאפשר התחברות רק מכתובות IP מסוימות או מרשתות משנה מסוימות.
- הוא תומך בחיבור מסננים לתוכן שהורדו ביחס למשתמשים וספריות בודדות (לדוגמה, ניתן לחסום הורדת קבצים עם סיומת מסוימת).
- אפשר לאגד מטפלים המופעלים במהלך פעולות שונות עם קובץ (הורדה, מחיקה, שינוי שם וכו'). בנוסף להתקשרות למטפלים, שליחת התראות בצורה של בקשות HTTP נתמכת.
- סיום אוטומטי של חיבורים לא פעילים.
- עדכון תצורה אטומית ללא ניתוק חיבורים.
- מתן מדדים לניטור בפרומתאוס.
- פרוטוקול HAProxy PROXY נתמך לארגון איזון עומסים או חיבורי פרוקסי לשירותי SFTP/SCP מבלי לאבד מידע על כתובת ה-IP המקורית של המשתמש.
- REST API לניהול משתמשים וספריות, יצירת גיבויים והפקת דוחות על חיבורים פעילים.
- ממשק אינטרנט (http://127.0.0.1:8080/web) עבור תצורה וניטור (תצורה באמצעות קבצי תצורה רגילים נתמכת גם).

- יכולת להגדיר הגדרות בפורמטים JSON, TOML, YAML, HCL ו-envfile.
- תמיכה בחיבור באמצעות SSH עם גישה מוגבלת לפקודות מערכת. לדוגמה, מותר להריץ פקודות הנחוצות עבור Git (git-receive-pack, git-upload-pack, git-upload-archive) ו-rsync, וכן מספר פקודות מובנות (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy ו-sftpgo-remove).
- מצב נייד לשיתוף ספרייה משותפת אחת עם יצירה אוטומטית של אישורי חיבור המפורסמים באמצעות DNS מרובה שידורים.
- מערכת פרופילים מובנית לניתוח ביצועים.
- תהליך פשוט יותר להעברת חשבונות מערכת Linux.
- אחסון יומנים בפורמט JSON.
- תמיכה בספריות וירטואליות (לדוגמה, ניתן להגיש את התוכן של ספרייה מסוימת לא מה-FS המקומי, אלא מאחסון ענן חיצוני).
- תמיכת Cryptfs בהצפנת נתונים שקופה תוך כדי תנועה בעת שמירה ב-FS ופענוח בעת החזרה.
- תמיכה בהעברת חיבורים לשרתי SFTP אחרים.
- יכולת להשתמש ב-SFTPGo כתת-מערכת SFTP עבור OpenSSH.
- היכולת לאחסן אישורים ונתונים סודיים בצורה מוצפנת באמצעות שרתי KMS (שירותי ניהול מפתחות), כגון Vault, GCP KMS, AWS KMS.
- תמיכה באימות דו-שלבי באמצעות סיסמאות חד-פעמיות עם אורך חיים מוגבל (TOTP, RFC 6238). ניתן להשתמש ביישומים כמו Authy ו-Google Authenticator כמאמתים.
- הרחבת פונקציונליות באמצעות תוספים. לדוגמה, תוספים זמינים עם תמיכה בשירותי החלפת מפתחות נוספים, שילוב סכמות פרסום/הרשמה, אחסון וחיפוש מידע על אירועים במערכת ניהול הנתונים (DBMS).
מקור: OpenNet.ru


