انتشار سرور SFTPGo 2.5.0 منتشر شده است که به شما امکان می دهد با استفاده از پروتکل های SFTP، SCP/SSH، Rsync، HTTP و WebDav دسترسی از راه دور به فایل ها را سازماندهی کنید و همچنین با استفاده از پروتکل SSH دسترسی به مخازن Git را فراهم کنید. . داده ها را می توان هم از سیستم فایل محلی و هم از حافظه های خارجی سازگار با Amazon S3، Google Cloud Storage و Azure Blob Storage منتقل کرد. امکان ذخیره داده ها به صورت رمزگذاری شده وجود دارد. برای ذخیره سازی پایگاه داده و متادیتای کاربر، از DBMS هایی با پشتیبانی از فرمت SQL یا کلید/مقدار مانند PostgreSQL، MySQL، SQLite، CockroachDB یا bbolt استفاده می شود، اما امکان ذخیره ابرداده در RAM نیز وجود دارد که نیازی به اتصال یک رم ندارد. پایگاه داده خارجی کد پروژه در Go نوشته شده و تحت مجوز GPLv3 توزیع شده است.
در نسخه های جدید:
- رابط وب اکنون امکان بستن پیامهای خطا را فراهم میکند. رابط وب مدیر اکنون از جستجوی گزارش حسابرسی و صادرات دادهها پشتیبانی میکند و مدیریت فهرست اکنون در دسترس است. آدرس های IP و شبکهها، امکان پیکربندی SMTP و پارامترهای استاندارد ACME و SFTP اکنون در دسترس است. رابط وب کلاینت اکنون دارای یک فرم ورود سفارشی (جایگزین احراز هویت اولیه) است، عملیات کپی اضافه شده و محدودیت حجم آپلود حذف شده است.

- پشتیبانی از سیاست های رمز عبور اضافه شده است؛ به عنوان مثال، می توانید الزامات قدرت رمز عبور را تعریف کنید و طول عمر رمز عبور را تنظیم کنید.
- EventManager توانایی نمایش اعلانهای مربوط به گذرواژههای منقضی شده، اجرای یک عملیات کپی، پشتیبانی از اقدامات از پیش فراخوانی شده (قبل از *) و کنترلکنندههایی را اضافه کرده است که بر اساس اقدامات خاصی فعال میشوند (به عنوان مثال، یک کنترلکننده زمانی که کاربر وارد سیستم میشود، فراخوانی میشود. اضافه).
- قابلیت اعطای حقوق مدیر به کاربران اضافه شده است.
- برای بازنشانی رمز عبور مدیر و بررسی عملکرد سرویس، دستوراتی به رابط خط فرمان اضافه شده است.
- هنگام انجام تغییر نام انبوه فایل ها در سمت ارائه دهندگان ابر، پشتیبانی از عبارات شرطی اضافه شده است.
- پشتیبانی از ردیابی و راهاندازی مجدد خودکار اضافه شد گواهینامههای TLS.
- قابلیت تعریف انواع MIME خود را برای WebDAV اضافه کرد.
- SSH دارای تأیید هویت صفحه کلید تعاملی است که به طور پیش فرض فعال است.
- در حالت پرتابل، بارگیری رمزهای عبور از یک فایل امکان پذیر شد.
- پشتیبانی آزمایشی برای سرویس Terraform اضافه شد.
ویژگی های اصلی SFTPGo:
- هر حساب chroot شده است و دسترسی به فهرست اصلی کاربر را محدود می کند. ایجاد دایرکتوری های مجازی که به داده های خارج از فهرست اصلی کاربر ارجاع می دهند، امکان پذیر است.
- حساب ها در یک پایگاه داده کاربر مجازی ذخیره می شوند که با پایگاه داده کاربران سیستم همپوشانی ندارد. 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) مجاز است. ، سی دی، 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


