Rilis Server SFTPGo 1.0 SFTP

Rilis signifikan pertama dari server terjadi SFTPGo 1.0, yang memungkinkan Anda mengatur akses jarak jauh ke file menggunakan protokol SFTP, SCP/SSH, dan Rsync. SFTPGo antara lain dapat digunakan untuk menyediakan akses ke repositori Git menggunakan protokol SSH. Data dapat ditransfer baik dari sistem file lokal maupun dari penyimpanan eksternal yang kompatibel dengan Amazon S3 dan Google Cloud Storage. Untuk menyimpan database dan metadata pengguna, DBMS dengan dukungan untuk SQL atau format kunci/nilai digunakan, seperti PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x atau baut 1.3.x. Ada juga mode untuk menyimpan metadata di RAM, yang tidak memerlukan koneksi database eksternal. Kode proyek ditulis dalam Go dan didistribusikan oleh berlisensi di bawah GPLv3.

Fitur utama:

  • Setiap akun di-chroot, membatasi akses ke direktori home pengguna. Dimungkinkan untuk membuat direktori virtual yang merujuk ke data di luar direktori home pengguna.
  • Akun disimpan dalam basis data pengguna virtual yang tidak bersinggungan dengan basis data pengguna sistem. SQLite, MySQL, PostgreSQL, bbolt, dan penyimpanan dalam memori dapat digunakan untuk menyimpan basis data pengguna. Sarana disediakan untuk memetakan akun virtual dan sistem - pemetaan langsung atau sewenang-wenang dimungkinkan (satu pengguna sistem dapat dipetakan ke pengguna virtual lainnya).
  • Kunci publik, kunci SSH, dan autentikasi kata sandi didukung (termasuk autentikasi interaktif dengan entri kata sandi keyboard). Dimungkinkan untuk mengikat beberapa kunci untuk setiap pengguna, serta mengatur otentikasi multi-faktor dan multi-tahap (misalnya, jika otentikasi kunci berhasil, kata sandi juga dapat diminta).
  • Dimungkinkan untuk mengonfigurasi metode autentikasi yang berbeda untuk setiap pengguna, serta menentukan metode mereka sendiri yang diterapkan dengan memanggil program autentikator eksternal (misalnya, untuk autentikasi melalui LDAP) atau mengirim permintaan melalui HTTP API.
  • Dimungkinkan untuk menghubungkan penangan eksternal atau panggilan HTTP API untuk mengubah parameter pengguna secara dinamis, yang dipanggil sebelum pengguna masuk. Didukung dinamis membuat pengguna saat koneksi.
  • Dukungan untuk kuota individu untuk ukuran data dan jumlah file.
  • Dukungan untuk pembatasan bandwidth dengan pengaturan terpisah untuk batas lalu lintas masuk dan keluar, serta batas jumlah koneksi simultan.
  • Alat kontrol akses yang bertindak terkait dengan pengguna atau direktori (Anda dapat membatasi tampilan daftar file, melarang mengunggah, mengunduh, menimpa, menghapus, mengganti nama atau mengubah hak akses, melarang pembuatan direktori atau tautan simbolik, dll.).
  • Untuk setiap pengguna, Anda dapat menentukan batasan jaringan individual, misalnya, Anda hanya dapat mengizinkan akses dari IP atau subnet tertentu.
  • Ini mendukung koneksi filter untuk konten yang dapat diunduh sehubungan dengan pengguna dan direktori individu (misalnya, Anda dapat memblokir unduhan file dengan ekstensi tertentu).
  • Anda dapat mengikat penangan yang diluncurkan selama berbagai operasi dengan file (memuat, menghapus, mengganti nama, dll.). Selain penangan panggilan, pengiriman pemberitahuan dalam bentuk permintaan HTTP juga didukung.
  • Pemutusan otomatis koneksi tidak aktif.
  • Pembaruan konfigurasi atom tanpa memutus koneksi.
  • Menyediakan metrik untuk pemantauan di Prometheus.
  • Protokol HAProxy PROXY didukung untuk mengatur load balancing atau koneksi proxy ke layanan SFTP/SCP tanpa kehilangan pengetahuan tentang alamat IP sumber pengguna.
  • SISA API untuk mengelola pengguna dan direktori, membuat cadangan dan menghasilkan laporan tentang koneksi aktif.
  • Antarmuka web (http://127.0.0.1:8080/web) untuk konfigurasi dan pemantauan (konfigurasi melalui file konfigurasi reguler juga didukung).
  • Kemampuan untuk menentukan pengaturan dalam format JSON, TOML, YAML, HCL dan envfile.
  • Dukungan koneksi melalui SSH dengan akses terbatas ke perintah sistem. Misalnya, diperbolehkan menjalankan perintah yang diperlukan untuk Git (git-receive-pack, git-upload-pack, git-upload-archive) dan rsync, serta beberapa perintah bawaan (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy dan sftpgo-remove).
  • Mode portabel untuk berbagi satu direktori umum dengan pembuatan kredensial koneksi otomatis yang diiklankan melalui DNS multicast.
  • Sistem tertanam pembuatan profil untuk analisis kinerja.
  • Sederhana proses migrasi akun sistem Linux.
  • Penyimpanan log dalam format JSON.

Sumber: opennet.ru

Tambah komentar