SFTPGo 2.2.0 Izdaja strežnika SFTP

Objavljena je bila izdaja strežnika SFTPGo 2.2, ki omogoča organiziranje oddaljenega dostopa do datotek s protokoli SFTP, SCP/SSH, Rsync, HTTP in WebDav. SFTPGo je med drugim mogoče uporabiti za zagotavljanje dostopa do repozitorijev Git s protokolom SSH. Podatke je mogoče prenašati iz lokalnega datotečnega sistema in iz zunanjih pomnilnikov, združljivih z Amazon S3, Google Cloud Storage in Azure Blob Storage. Možno je shranjevanje podatkov v šifrirani obliki. Za shranjevanje uporabniške baze podatkov in metapodatkov se uporabljajo DBMS s podporo za SQL ali format ključ/vrednost, kot so PostgreSQL, MySQL, SQLite, CockroachDB ali bbolt, možno pa je tudi shranjevanje metapodatkov v RAM, kar ne zahteva povezave z zunanjo bazo podatkov. Projektna koda je napisana v Go in se distribuira pod licenco GPLv3.

V novi različici:

  • Dodana podpora za dvostopenjsko avtentikacijo z uporabo časovno omejenih enkratnih gesel (TOTP, RFC 6238). Aplikacije, kot sta Authy in Google Authenticator, se lahko uporabljajo kot avtentifikatorji.
  • Izvedena je bila možnost razširitve funkcionalnosti prek vtičnikov. Med že razpoložljivimi vtičniki: podpora za dodatne storitve izmenjave ključev, integracija sheme Objavi/Naroči, shranjevanje in iskanje informacij o dogodkih v DBMS.
  • API REST je poleg žetonov JWT dodal podporo za avtentikacijo s pomočjo ključev in ponuja tudi možnost nastavitve politik shranjevanja podatkov (omejitev življenjske dobe podatkov) v zvezi s posameznimi imeniki in uporabniki. Uporabniški vmesnik Swagger je privzeto omogočen za krmarjenje po virih API brez uporabe zunanjih pripomočkov.
  • V spletni vmesnik je dodana podpora za pisanje (nalaganje datotek, ustvarjanje imenikov, preimenovanje in brisanje), implementirana je možnost ponastavitve gesla s potrditvijo po e-pošti, integriran je urejevalnik besedilnih datotek in pregledovalnik dokumentov PDF. Dodana možnost ustvarjanja povezav HTTP, ki zunanjim uporabnikom omogočajo dostop do posameznih datotek in imenikov, z možnostjo nastavitve ločenega gesla za dostop, omejitve naslovov IP, nastavitve življenjske dobe povezave in omejitve števila prenosov.

Glavne značilnosti SFTPGo:

  • Vsak račun je chrooted, kar omejuje dostop do uporabnikovega domačega imenika. Možno je ustvariti virtualne imenike, ki se nanašajo na podatke zunaj domačega imenika uporabnika.
  • Računi so shranjeni v navidezni uporabniški bazi podatkov, ki se ne križa s sistemsko uporabniško bazo podatkov. SQLite, MySQL, PostgreSQL, bbolt in in-memory storage se lahko uporabljajo za shranjevanje podatkovnih baz uporabnikov. Na voljo so sredstva za preslikavo virtualnih in sistemskih računov – možna je neposredna ali poljubna preslikava (en sistemski uporabnik je lahko preslikan v drugega navideznega uporabnika).
  • Podprt je javni ključ, ključ SSH in preverjanje pristnosti z geslom (vključno z interaktivno preverjanjem pristnosti z vnosom gesla s tipkovnico). Možna je vezava več ključev za vsakega uporabnika, kot tudi nastavitev večfaktorske in večstopenjske avtentikacije (npr. v primeru uspešne avtentikacije ključa se lahko dodatno zahteva geslo).
  • Za vsakega uporabnika je mogoče konfigurirati različne metode avtentikacije, pa tudi določiti lastne metode, ki se izvajajo s klicanjem zunanjih programov za avtentifikacijo (na primer za avtentikacijo prek LDAP) ali pošiljanjem zahtev prek API-ja HTTP.
  • Možno je povezati zunanje upravljalnike ali klice HTTP API za dinamično spreminjanje uporabniških nastavitev, ki se kličejo, preden se uporabnik prijavi. Podprto je dinamično ustvarjanje uporabnikov ob povezavi.
  • Podpora za posamezne kvote za velikost podatkov in število datotek.
  • Podpora za omejevanje pasovne širine z ločenimi nastavitvami za omejitve za dohodni in odhodni promet ter omejitve za število hkratnih povezav.
  • Orodja za nadzor dostopa, ki delujejo glede na uporabnika ali imenik (lahko omejite ogled seznama datotek, prepovete nalaganje, prenašanje, prepisovanje, brisanje, preimenovanje ali spreminjanje pravic dostopa, prepoved ustvarjanja imenikov ali simboličnih povezav itd.).
  • Za vsakega uporabnika lahko določite individualne omrežne omejitve, na primer lahko dovolite dostop le z določenih IP-jev ali podomrežij.
  • Podpira povezavo filtrov za prenosljivo vsebino glede na posamezne uporabnike in imenike (lahko na primer blokirate prenos datotek z določeno končnico).
  • Lahko povežete obdelovalce, ki se zaženejo med različnimi operacijami z datoteko (nalaganje, brisanje, preimenovanje itd.). Poleg upravljavcev klicev je podprto pošiljanje obvestil v obliki zahtev HTTP.
  • Samodejna prekinitev neaktivnih povezav.
  • Posodobitev atomske konfiguracije brez prekinitve povezav.
  • Zagotavljanje meritev za spremljanje v Prometheusu.
  • Protokol HAProxy PROXY je podprt za organiziranje uravnoteženja obremenitve ali proxy povezav s storitvami SFTP/SCP, ne da bi pri tem izgubili informacijo o izvornem naslovu IP uporabnika.
  • REST API za upravljanje uporabnikov in imenikov, ustvarjanje varnostnih kopij in poročanje o aktivnih povezavah.
  • Spletni vmesnik (http://127.0.0.1:8080/web) za konfiguracijo in spremljanje (podprta je tudi konfiguracija prek običajnih konfiguracijskih datotek).
  • Možnost definiranja nastavitev v formatih JSON, TOML, YAML, HCL in envfile.
  • Podpora za povezovanje prek SSH z omejenim dostopom do sistemskih ukazov. Na primer, dovoljeno je izvajati ukaze, potrebne za Git (git-receive-pack, git-upload-pack, git-upload-archive) in rsync, ter več vgrajenih ukazov (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy in sftpgo-remove).
  • Prenosni način za skupno rabo enega imenika v skupni rabi s samodejnim ustvarjanjem povezovalnih poverilnic, oglaševanih prek multicast DNS.
  • Vgrajen sistem profiliranja za analizo uspešnosti.
  • Poenostavljen postopek selitve sistemskega računa Linux.
  • Shranjevanje dnevnikov v formatu JSON.
  • Podpora za virtualne imenike (na primer, vsebino določenega imenika je mogoče dati ne iz lokalnega datotečnega sistema, temveč iz zunanjega pomnilnika v oblaku).
  • Podpora za cryptfs za transparentno sprotno šifriranje podatkov pri shranjevanju v datotečni sistem in dešifriranje pri nalaganju.
  • Podpora za posredovanje povezav na druge strežnike SFTP.
  • Možnost uporabe SFTPGo kot podsistema SFTP za OpenSSH.
  • Možnost shranjevanja poverilnic in zaupnih podatkov v šifrirani obliki z uporabo strežnikov KMS (Key Management Services), kot so Vault, GCP KMS, AWS KMS.

Vir: opennet.ru

Dodaj komentar