SFTP serverio SFTPGo 1.0 išleidimas

Įvyko pirmasis reikšmingas serverio išleidimas SFTPGo 1.0, kuri leidžia organizuoti nuotolinę prieigą prie failų naudojant SFTP, SCP/SSH ir Rsync protokolus. Be kita ko, SFTPGo gali būti naudojamas norint suteikti prieigą prie Git saugyklų naudojant SSH protokolą. Duomenis galima perkelti tiek iš vietinės failų sistemos, tiek iš išorinės saugyklos, suderinamos su Amazon S3 ir Google Cloud Storage. Vartotojo duomenų bazei ir metaduomenims saugoti naudojamos DBVS, palaikančios SQL arba rakto/vertės formatą, pvz., PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x arba bbolt 1.3.x. Taip pat yra metaduomenų saugojimo RAM režimas, kuriam nereikia prijungti išorinės duomenų bazės. Projekto kodas parašytas Go ir išplatino licencijuota pagal GPLv3.

Pagrindiniai bruožai:

  • 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. Palaikoma dinamiškas 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ų.
  • Aprūpinimas „Prometheus“ stebėjimo metrikos.
  • HAProxy PROXY protokolas palaikomas norint organizuoti apkrovos balansavimą arba tarpinio serverio ryšius su SFTP/SCP paslaugomis neprarandant informacijos apie vartotojo šaltinio IP adresą.
  • POILSIO API valdyti vartotojus ir katalogus, kurti atsargines kopijas ir generuoti ataskaitas apie aktyvius ryšius.
  • Interneto sąsaja (http://127.0.0.1:8080/web) konfigūravimui ir stebėjimui (taip pat palaikoma konfigūracija naudojant įprastus konfigūracijos failus).
  • Galimybė apibrėžti nustatymus JSON, TOML, YAML, HCL ir envfile formatuose.
  • Remti ryšiai per SSH 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).
  • Režimas nešiojamų bendrinti vieną bendrą katalogą su automatiniu prisijungimo kredencialų generavimu, reklamuojamu per multicast DNS.
  • Integruota sistema profiliavimas veiklos analizei.
  • Supaprastinta procesą Linux sistemos paskyrų perkėlimas.
  • Sandėliavimas žurnalai JSON formatu.

Šaltinis: opennet.ru

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