Keluaran Pelayan SFTPgo 2.2.0 SFTP

Keluaran pelayan SFTPGo 2.2 telah diterbitkan, yang membolehkan anda mengatur akses jauh kepada fail menggunakan protokol SFTP, SCP/SSH, Rsync, HTTP dan WebDav. Antara lain, SFTPGo boleh digunakan untuk menyediakan akses kepada repositori Git menggunakan protokol SSH. Data boleh dipindahkan kedua-dua daripada sistem fail tempatan dan dari storan luaran yang serasi dengan Amazon S3, Google Cloud Storage dan Azure Blob Storage. Adalah mungkin untuk menyimpan data dalam bentuk yang disulitkan. Untuk menyimpan pangkalan data dan metadata pengguna, DBMS dengan sokongan untuk SQL atau format kunci/nilai digunakan, seperti PostgreSQL, MySQL, SQLite, CockroachDB atau bbolt, tetapi ia juga mungkin untuk menyimpan metadata dalam RAM, yang tidak memerlukan penyambungan pangkalan data luaran. Kod projek ditulis dalam Go dan diedarkan di bawah lesen GPLv3.

Dalam versi baharu:

  • Menambah sokongan untuk pengesahan dua faktor menggunakan kata laluan satu masa terhad masa (TOTP, RFC 6238). Aplikasi seperti Authy dan Google Authenticator boleh digunakan sebagai pengesah.
  • Keupayaan untuk mengembangkan fungsi melalui pemalam telah dilaksanakan. Antara pemalam yang sedia ada: sokongan untuk perkhidmatan pertukaran kunci tambahan, penyepaduan skim Terbitkan/Langgan, penyimpanan dan carian maklumat tentang acara dalam DBMS.
  • API REST telah menambah sokongan untuk pengesahan menggunakan kunci, sebagai tambahan kepada token JWT, dan juga menyediakan keupayaan untuk menetapkan dasar penyimpanan data (menghadkan jangka hayat data) berhubung dengan direktori dan pengguna individu. Secara lalai, Swagger UI didayakan untuk menavigasi sumber API tanpa menggunakan utiliti luaran.
  • Sokongan untuk operasi tulis telah ditambahkan pada antara muka web (memuat naik fail, mencipta direktori, menamakan semula dan memadam), keupayaan untuk menetapkan semula kata laluan dengan pengesahan melalui e-mel telah dilaksanakan, editor fail teks dan pemapar dokumen PDF telah disepadukan. Menambah keupayaan untuk mencipta pautan HTTP untuk menyediakan pengguna luaran akses kepada fail dan direktori individu, dengan keupayaan untuk menetapkan kata laluan akses berasingan, mengehadkan alamat IP, menetapkan seumur hidup pautan dan mengehadkan bilangan muat turun.

Ciri utama SFTPGo:

  • Setiap akaun dikroot, mengehadkan akses kepada direktori rumah pengguna. Anda boleh membuat direktori maya yang merujuk data di luar direktori utama pengguna.
  • Akaun disimpan dalam pangkalan data pengguna maya yang tidak bertindih dengan pangkalan data pengguna sistem. SQLite, MySQL, PostgreSQL, bbolt dan storan dalam memori boleh digunakan untuk menyimpan pangkalan data pengguna. Kemudahan disediakan untuk pemetaan akaun maya dan sistem - sama ada pemetaan langsung atau rawak boleh dilakukan (satu pengguna sistem boleh dipetakan kepada pengguna maya yang lain).
  • Pengesahan menggunakan kekunci awam, kekunci SSH dan kata laluan disokong (termasuk pengesahan interaktif dengan kata laluan yang dimasukkan daripada papan kekunci). Adalah mungkin untuk mengikat beberapa kunci untuk setiap pengguna, serta menyediakan pengesahan berbilang faktor dan berbilang langkah (contohnya, dalam kes pengesahan kunci yang berjaya, kata laluan mungkin diminta tambahan).
  • Bagi setiap pengguna, adalah mungkin untuk mengkonfigurasi kaedah pengesahan yang berbeza, serta menentukan kaedah anda sendiri, dilaksanakan dengan memanggil program pengesah luaran (contohnya, untuk pengesahan melalui LDAP) atau menghantar permintaan melalui API HTTP.
  • Anda boleh menyambungkan pengendali luaran atau panggilan API HTTP untuk menukar parameter pengguna secara dinamik, dipanggil sebelum pengguna log masuk. Penciptaan dinamik pengguna semasa sambungan disokong.
  • Menyokong kuota individu untuk saiz data dan bilangan fail.
  • Sokongan untuk pengehadan lebar jalur dengan konfigurasi sekatan yang berasingan untuk trafik masuk dan keluar, serta sekatan pada bilangan sambungan serentak.
  • Alat kawalan akses yang beroperasi berhubung dengan pengguna atau direktori (anda boleh mengehadkan melihat senarai fail, melarang memuat naik, memuat turun, menulis ganti, memadam, menamakan semula atau menukar hak akses, melarang penciptaan direktori atau pautan simbolik, dsb.).
  • Untuk setiap pengguna, anda boleh menentukan sekatan rangkaian individu, contohnya, anda hanya boleh membenarkan log masuk daripada IP atau subnet tertentu.
  • Ia menyokong penapis penyambungan untuk kandungan yang dimuat turun berhubung dengan pengguna dan direktori individu (contohnya, anda boleh menyekat muat turun fail dengan sambungan tertentu).
  • Adalah mungkin untuk mengikat pengendali yang dilancarkan semasa pelbagai operasi dengan fail (muat turun, padam, namakan semula, dsb.). Selain pengendali panggilan, penghantaran pemberitahuan dalam bentuk permintaan HTTP disokong.
  • Penamatan automatik sambungan tidak aktif.
  • Kemas kini konfigurasi atom tanpa memutuskan sambungan.
  • Menyediakan metrik untuk pemantauan di Prometheus.
  • Protokol HAProxy PROXY disokong untuk mengatur pengimbangan beban atau sambungan proksi ke perkhidmatan SFTP/SCP tanpa kehilangan maklumat tentang alamat IP sumber pengguna.
  • REST API untuk mengurus pengguna dan direktori, membuat sandaran dan menjana laporan mengenai sambungan aktif.
  • Antara muka web (http://127.0.0.1:8080/web) untuk konfigurasi dan pemantauan (konfigurasi melalui fail konfigurasi biasa juga disokong).
  • Keupayaan untuk menentukan tetapan dalam format JSON, TOML, YAML, HCL dan envfile.
  • Sokongan untuk menyambung melalui SSH dengan akses terhad kepada arahan sistem. Sebagai contoh, ia dibenarkan untuk menjalankan arahan yang diperlukan untuk Git (git-receive-pack, git-upload-pack, git-upload-archive) dan rsync, serta beberapa arahan terbina dalam (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy dan sftpgo-remove).
  • Mod mudah alih untuk berkongsi satu direktori biasa dengan penjanaan automatik kelayakan sambungan yang diiklankan melalui DNS multicast.
  • Sistem pemprofilan terbina dalam untuk analisis prestasi.
  • Proses yang dipermudahkan untuk memindahkan akaun sistem Linux.
  • Menyimpan log dalam format JSON.
  • Sokongan untuk direktori maya (contohnya, kandungan direktori tertentu boleh disampaikan bukan dari FS tempatan, tetapi dari storan awan luaran).
  • Sokongan Cryptfs untuk penyulitan data semasa terbang yang telus apabila menyimpan ke FS dan penyahsulitan apabila kembali.
  • Sokongan untuk memajukan sambungan ke pelayan SFTP lain.
  • Keupayaan untuk menggunakan SFTPGo sebagai subsistem SFTP untuk OpenSSH.
  • Keupayaan untuk menyimpan bukti kelayakan dan data sulit dalam bentuk yang disulitkan menggunakan pelayan KMS (Key Management Services), seperti Vault, GCP KMS, AWS KMS.

Sumber: opennet.ru

Tambah komen