SFTP serverio SFTPGo 2.2.0 išleidimas

Paskelbtas SFTPGo 2.2 serverio leidimas, leidžiantis organizuoti nuotolinę prieigą prie failų naudojant SFTP, SCP/SSH, Rsync, HTTP ir WebDav protokolus. Be kita ko, SFTPGo gali būti naudojamas norint suteikti prieigą prie Git saugyklų naudojant SSH protokolą. Duomenys gali būti perduodami tiek iš vietinės failų sistemos, tiek iš išorinių saugyklų, suderinamų su „Amazon S3“, „Google Cloud Storage“ ir „Azure Blob Storage“. Galima saugoti duomenis šifruota forma. Vartotojo duomenų bazei ir metaduomenims saugoti naudojamos DBVS, palaikančios SQL arba rakto/vertės formatą, pvz., PostgreSQL, MySQL, SQLite, CockroachDB arba bbolt, tačiau taip pat galima saugoti metaduomenis RAM, todėl nereikia prijungti išorinė duomenų bazė. Projekto kodas parašytas Go ir platinamas pagal GPLv3 licenciją.

Naujoje versijoje:

  • Pridėtas dviejų veiksnių autentifikavimo palaikymas naudojant vienkartinius slaptažodžius (TOTP, RFC 6238). Kaip autentifikavimo priemones galima naudoti tokias programas kaip Authy ir Google Authenticator.
  • Įdiegta galimybė išplėsti funkcionalumą naudojant papildinius. Tarp jau turimų įskiepių: papildomų raktų mainų paslaugų palaikymas, Publish/Subscribe schemos integravimas, informacijos apie įvykius saugojimas ir paieška DBVS.
  • REST API papildė autentifikavimo naudojant raktus palaikymą, be JWT žetonų, taip pat suteikia galimybę nustatyti duomenų saugojimo strategijas (ribojančią duomenų naudojimo trukmę) atsižvelgiant į atskirus katalogus ir vartotojus. Pagal numatytuosius nustatymus Swagger vartotojo sąsaja įgalinta naršyti API išteklius nenaudojant išorinių paslaugų.
  • Prie žiniatinklio sąsajos pridėtas rašymo operacijų palaikymas (failų įkėlimas, katalogų kūrimas, pervadinimas ir trynimas), įdiegta galimybė iš naujo nustatyti slaptažodį su patvirtinimu el. paštu, integruota tekstinių failų rengyklė ir PDF dokumentų peržiūros programa. Pridėta galimybė kurti HTTP nuorodas, kad išoriniams vartotojams būtų suteikta prieiga prie atskirų failų ir katalogų, su galimybe nustatyti atskirą prieigos slaptažodį, apriboti IP adresus, nustatyti nuorodos veikimo laiką ir apriboti atsisiuntimų skaičių.

Pagrindinės SFTPGo savybės:

  • Kiekviena paskyra yra chroot, ribojanti prieigą prie vartotojo namų katalogo. Galima kurti virtualius katalogus, kuriuose nurodomi duomenys, esantys už vartotojo namų katalogo ribų.
  • Paskyros saugomos virtualioje vartotojų duomenų bazėje, kuri nesutampa su sistemos vartotojų duomenų baze. Vartotojų duomenų bazėms saugoti galima naudoti SQLite, MySQL, PostgreSQL, bbolt ir atmintyje esančią saugyklą. Numatytos galimybės susieti virtualias ir sistemos paskyras – galimas tiesioginis arba atsitiktinis atvaizdavimas (vienas sistemos vartotojas gali būti susietas su kitu virtualiu vartotoju).
  • Palaikomas autentifikavimas naudojant viešuosius raktus, SSH raktus ir slaptažodžius (įskaitant interaktyvų autentifikavimą naudojant klaviatūros įvestą slaptažodį). Kiekvienam vartotojui galima susieti kelis raktus, taip pat nustatyti kelių faktorių ir kelių žingsnių autentifikavimą (pavyzdžiui, sėkmingo rakto autentifikavimo atveju gali būti papildomai pareikalauta slaptažodžio).
  • Kiekvienam vartotojui galima konfigūruoti skirtingus autentifikavimo būdus, taip pat apibrėžti savo metodus, įgyvendinamus iškviečiant išorines autentifikavimo programas (pvz., autentifikavimui per LDAP) arba siunčiant užklausas per HTTP API.
  • Galima prijungti išorines tvarkykles arba HTTP API iškvietimus, kad būtų galima dinamiškai keisti vartotojo parametrus, iškviečiamus prieš vartotojui prisijungiant. Palaikomas dinaminis vartotojų kūrimas prisijungus.
  • Palaiko individualias duomenų dydžio ir failų skaičiaus kvotas.
  • Pralaidumo ribojimo palaikymas su atskira įeinančio ir išeinančio srauto apribojimų konfigūracija, taip pat vienu metu veikiančių jungčių skaičiaus apribojimais.
  • Prieigos kontrolės įrankiai, veikiantys vartotojo ar katalogo atžvilgiu (galite apriboti failų sąrašo peržiūrą, uždrausti įkelti, atsisiųsti, perrašyti, ištrinti, pervardyti ar keisti prieigos teises, uždrausti kurti katalogus ar simbolines nuorodas ir pan.).
  • Kiekvienam vartotojui galite nustatyti individualius tinklo apribojimus, pavyzdžiui, galite leisti prisijungti tik iš tam tikrų IP ar potinklių.
  • Jis palaiko atsisiųsto turinio filtrų prijungimą, susijusį su atskirais vartotojais ir katalogais (pavyzdžiui, galite blokuoti failų atsisiuntimą su tam tikru plėtiniu).
  • Įvairių operacijų metu paleidžiamas tvarkykles galima susieti su failu (atsisiųsti, ištrinti, pervardyti ir pan.). Be skambučių tvarkytojų, palaikomas pranešimų siuntimas HTTP užklausų forma.
  • Automatinis neaktyvių ryšių nutraukimas.
  • Atominės konfigūracijos atnaujinimas nenutraukiant ryšių.
  • Prometheus stebėjimo metrikos teikimas.
  • HAProxy PROXY protokolas palaikomas norint organizuoti apkrovos balansavimą arba tarpinio serverio ryšius su SFTP/SCP paslaugomis neprarandant informacijos apie vartotojo šaltinio IP adresą.
  • REST API, skirta tvarkyti vartotojus ir katalogus, kurti atsargines kopijas ir generuoti ataskaitas apie aktyvius ryšius.
  • Žiniatinklio sąsaja (http://127.0.0.1:8080/web), skirta konfigūruoti ir stebėti (taip pat palaikoma konfigūracija naudojant įprastus konfigūracijos failus).
  • Galimybė apibrėžti nustatymus JSON, TOML, YAML, HCL ir envfile formatuose.
  • Prisijungimo per SSH palaikymas su ribota prieiga prie sistemos komandų. Pavyzdžiui, leidžiama paleisti komandas, reikalingas Git (git-receive-pack, git-upload-pack, git-upload-archive) ir rsync, taip pat keletą integruotų komandų (scp, md5sum, sha*sum). , cd, pwd, sftpgo-copy ir sftpgo-remove).
  • Nešiojamasis režimas, skirtas dalytis vienu bendru katalogu su automatiniu prisijungimo kredencialų generavimu, reklamuojamu per daugialypės siuntimo DNS.
  • Integruota profiliavimo sistema veiklos analizei.
  • Supaprastintas „Linux“ sistemos paskyrų perkėlimo procesas.
  • Žurnalų saugojimas JSON formatu.
  • Virtualių katalogų palaikymas (pavyzdžiui, tam tikro katalogo turinys gali būti aptarnaujamas ne iš vietinės FS, o iš išorinės debesies saugyklos).
  • „Cryptfs“ palaiko skaidrų duomenų šifravimą skrydžio metu, kai jie įrašomi į FS, ir iššifruojami grįžus.
  • Ryšių persiuntimo į kitus SFTP serverius palaikymas.
  • Galimybė naudoti SFTPGo kaip OpenSSH SFTP posistemį.
  • Galimybė saugoti kredencialus ir konfidencialius duomenis šifruota forma naudojant KMS serverius (Key Management Services), tokius kaip Vault, GCP KMS, AWS KMS.

Šaltinis: opennet.ru

Добавить комментарий