انتشار سرور SFTP SFTPGo 1.0

اولین انتشار قابل توجه سرور انجام شد SFTPGo 1.0، که به شما امکان می دهد با استفاده از پروتکل های SFTP، SCP/SSH و Rsync دسترسی از راه دور به فایل ها را سازماندهی کنید. در میان چیزهای دیگر، SFTPGo می تواند برای دسترسی به مخازن Git با استفاده از پروتکل SSH استفاده شود. داده ها را می توان هم از سیستم فایل محلی و هم از حافظه خارجی سازگار با Amazon S3 و Google Cloud Storage منتقل کرد. برای ذخیره پایگاه داده و ابرداده کاربر، از DBMS هایی با پشتیبانی از فرمت SQL یا کلید/مقدار استفاده می شود، مانند PostgreSQL 9.4+، MySQL 5.6+، SQLite 3.x یا bbolt 1.3.x. همچنین حالتی برای ذخیره متادیتا در RAM وجود دارد که نیازی به اتصال پایگاه داده خارجی ندارد. کد پروژه در Go and نوشته شده است توزیع شده توسط تحت مجوز GPLv3.

ویژگی های کلیدی:

  • هر حساب 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 چندپخشی تبلیغ می شود.
  • سیستم تعبیه شده پروفایل برای تجزیه و تحلیل عملکرد
  • ساده شده روند مهاجرت حساب های سیستم لینوکس
  • ذخیره سازی با فرمت JSON ثبت می شود.

منبع: opennet.ru

اضافه کردن نظر