Objavljen je izdanak SFTPGo servera 2.5.0, koji omogućava daljinski pristup datotekama putem protokola SFTP, SCP/SSH, Rsync, HTTP i WebDav, kao i pružanje pristupa Git repozitorijima koristeći SSH protokol. Podaci se mogu posredovati iz lokalnog datotečnog sustava, kao i iz vanjskih pohrana kompatibilnih s Amazon S3, Google Cloud Storage i Azure Blob Storage. Moguće je pohranjivanje podataka u enkriptiranom obliku. Za pohranu korisničke baze i metapodataka koriste se DBMS-ovi koji podržavaju SQL ili format ključ/vrijednost, poput PostgreSQL, MySQL, SQLite, CockroachDB ili bbolt, ali postoji i mogućnost pohrane metapodataka u radnoj memoriji, što ne zahtijeva povezivanje s vanjskom bazom podataka. Kod projekta napisan je na jeziku Go i distribuira se pod licencom GPLv3.
V novi različici:
- U web sučelju omogućen je isključivanje poruka o greškama. U web sučelju za administratore dodana je podrška za pretraživanje u audit logu i izvoz podataka iz njega, implementirano je upravljanje popisima. IP naslovov i mreža, omogućena je konfiguracija SMTP-a i osnovnih parametara ACME i SFTP. U klijentskom web sučelju implementiran je vlastiti obrazac za prijavu (umjesto osnovne autentifikacije), dodane su kopirne operacije i uklonjeno ograničenje na veličinu prijenosa.

- Dodana je podrška za politike korištenja lozinki, na primjer, moguće je definirati zahtjeve za jačinu lozinke i postaviti vrijeme trajanja lozinke.
- U EventManager-u dodana je mogućnost prikazivanja obavijesti o isteklim lozinkama, implementirana je operacija kopiranja, dodana je podrška za unaprijed pozvane radnje (pre-*) i obrtnike koji se pokreću pri određenim akcijama (na primjer, dodan je obrtnik koji se pokreće prilikom prijave korisnika).
- Dodana je mogućnost davanja korisnicima administratorskih prava.
- U sučelju naredbenog retka dodane su naredbe za resetiranje lozinke administratora i provjeru ispravnosti usluge.
- Dodana je podrška za uvjetne operatore prilikom izvođenja masovnog preimenovanja datoteka na strani oblaka pružatelja usluga.
- Dodana je podrška za praćenje i automatsko ponovno pokretanje. TLS-certifikatov.
- Dodana je mogućnost definiranja vlastitih MIME tipova za WebDAV.
- Za SSH je po defaultu uključena interaktivna autentifikacija putem tipkovnice.
- V prenosljivem načinu je bila dodana možnost nalaganja gesel iz datoteke.
- Dodana eksperimentalna podpora za storitev Terraform.
Glavne funkcionalnosti SFTPGo:
- Za vsak račun se uporablja chroot izolacija, ki omejuje dostop do domačega imenika uporabnika. Možno je ustvarjanje virtualnih imenikov, ki se navezujejo na podatke zunaj uporabnikovega domačega imenika.
- Računi se shranjujejo v virtualni bazi uporabnikov, ki ne prekriva sistemske baze uporabnikov. Za shranjevanje baze uporabnikov se lahko uporabljajo SQLite, MySQL, PostgreSQL, bbolt in shranjevanje v pomnilniku. Na voljo so sredstva za usklajevanje virtualnih in sistemskih računov - mogoče je neposredno ali poljubno usklajevanje (en sistemski uporabnik je lahko usklajen z drugim virtualnim uporabnikom).
- Podprta je avtentikacija z javnimi ključi, SSH ključi in gesli (vključno z interaktivno avtentikacijo z vnosom gesla s tipkovnice). Možna je povezava več ključev za vsakega uporabnika ter nastavitev večfaktorske in večstopenjske avtentikacije (na primer, ob uspešni avtentikaciji s ključem lahko dodatno zahtevamo geslo).
- Za vsakega uporabnika je možna nastavitev različnih metod avtentikacije ter določitev lastnih metod, izvedenih prek klica zunanjih avtentikacijskih programov (na primer za avtentikacijo prek LDAP) ali pošiljanje zahtevkov prek HTTP API.
- Možno je povezovanje zunanjih obdelovalcev ali klicev HTTP API za dinamično spreminjanje параметров uporabnika, ki se izvajajo pred prijavo uporabnika. Podprto je dinamično ustvarjanje uporabnikov ob povezavi.
- Podpora individualnim kvotam za velikost podatkov in število datotek.
- Podpora omejitvi prepustnosti z ločenim nastavljanjem omejitev za vhodni in izhodni promet ter omejitvami na število hkratnih povezav.
- Orodja za razmejevanje dostopa, ki delujejo v navezavi na uporabnika ali imenik (lahko omejite ogled seznama datotek, prepovedujete nalaganje, prenos, prepisovanje, brisanje, preimenovanje ali spreminjanje pravic dostopa, prepovedujete ustvarjanje imenikov ali simboličnih povezav itd.).
- Za vsakega uporabnika lahko določite individualna omrežna omejitev, na primer, lahko dovolimo dostop samo z določenih IP naslovov ali podomrežij.
- Podprto je povezovanje filtrov prenesenih vsebin v povezavi z določenimi uporabniki in imeniki (na primer, lahko blokiramo nalaganje datotek z določenimi razširitvami).
- Možna je vezava obdelovalcev, ki se izvajajo pri različnih operacijah z datoteko (nalaganje, brisanje, preimenovanje itd.). Poleg klica obdelovalcev se tudi pošiljajo obvestila v obliki HTTP zahtev.
- Samodejno zaključevanje neaktivnih povezav.
- Atomarna posodobitev konfiguracije brez prekinitev povezav.
- Zagotavljanje metrik za spremljanje v Prometheus.
- Podprt je protokol HAProxy PROXY za organizacijo uravnoteženja obremenitve ali posredovanje povezav do SFTP/SCP storitev brez izgube informacij o izvorni IP naslovu uporabnika.
- REST API za upravljanje uporabnikov in imenikov, ustvarjanje varnostnih kopij in oblikovanje poročil o aktivnih povezavah.
- Web-vmesnik (http://127.0.0.1:8080/web) za nastavitev in spremljanje (podprta je tudi nastavitev prek navadnih datotek konfiguracije).

- Možnost določanja nastavitev v formatih JSON, TOML, YAML, HCL in envfile.
- Podpora za povezovanje preko SSH z omejenim dostopom do sistemskih ukazov. Na primer, dovoljeno je izvajanje ukazov, potrebnih za delovanje Gita (git-receive-pack, git-upload-pack, git-upload-archive) in rsync, pa tudi nekaj vgrajenih ukazov (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy in sftpgo-remove).
- Prenosni način za skupno rabo enega skupnega imenika z avtomatskim ustvarjanjem poveril za povezovanje, napovedanih preko multicast DNS.
- Vgrajen sistem profiliranja za analizo uspešnosti.
- Poenostavljen postopek migracije sistemskih uporabniških računov Linux.
- Shranjevanje dnevnikov v formatu JSON.
- Podpora za virtualne imenike (na primer, vsebino določenega imenika lahko dostavimo ne iz lokalnega FS, temveč iz zunanjega oblačnega skladišča).
- Podpora za cryptfs za prozorno šifriranje podatkov v realnem času pri shranjevanju v FS in dešifriranje pri dostavi.
- Podpora za posredovanje povezav k drugim SFTP strežnikom.
- Možnost uporabe SFTPGo kot SFTP podsystems za OpenSSH.
- Možnost shranjevanja računovodskih in zaupnih podatkov v šifrirani obliki z uporabo strežnikov KMS (Key Management Services), kot so Vault, GCP KMS, AWS KMS.
- Podpora za dvofaktorsko avtentifikacijo z uporabo enkratnih gesel z omejenim časovnim obdobjem veljavnosti (TOTP, RFC 6238). Aplikacije, kot sta Authy in Google Authenticator, se lahko uporabljajo kot avtentifikatorji.
- Razširitev funkcionalnosti preko vtičnikov. Na voljo so vtičniki, ki podpirajo dodatne storitve izmenjave ključev, integracijo sheme Publish/Subscribe, shranjevanje in iskanje informacij o dogodkih v DBMS.
Izvor: opennet.ru


