Objavljeno je izdanje SFTPGo 2.5.0 servera koji vam omogućava da organizirate daljinski pristup datotekama koristeći SFTP, SCP/SSH, Rsync, HTTP i WebDav protokole, kao i da omogućite pristup Git repozitorijumima koristeći SSH protokol . Podaci se mogu prenositi i iz lokalnog sistema datoteka i iz eksternih skladišta kompatibilnih sa Amazon S3, Google Cloud Storage i Azure Blob Storage. Moguće je pohranjivanje podataka u šifriranom obliku. Za pohranjivanje korisničke baze podataka i metapodataka koriste se DBMS-ovi s podrškom za SQL ili format ključ/vrijednost, kao što su PostgreSQL, MySQL, SQLite, CockroachDB ili bbolt, ali je moguće i pohranjivanje metapodataka u RAM, što ne zahtijeva povezivanje eksterna baza podataka. Kod projekta je napisan u Go i distribuiran pod GPLv3 licencom.
U novoj verziji:
- Web interfejs sada pruža mogućnost zatvaranja poruka o greškama. Administratorski web interfejs sada podržava pretraživanje zapisnika revizije i izvoz podataka, a dostupno je i upravljanje listama. IP adrese i mreže, sada je dostupna mogućnost konfigurisanja SMTP i standardnih ACME i SFTP parametara. Klijentski web interfejs sada ima prilagođeni obrazac za prijavu (zamjenjuje osnovnu autentifikaciju), dodane su operacije kopiranja i uklonjeno je ograničenje veličine otpremanja.

- Dodata podrška za politike lozinki, na primjer, možete definirati zahtjeve za snagu lozinke i postaviti vijek trajanja lozinke.
- EventManager je dodao mogućnost prikaza obavještenja o isteklim lozinkama, implementirao operaciju kopiranja, dodao je podršku za unaprijed pozvane akcije (pre-*) i rukovaoce koji se aktiviraju nakon određenih radnji (na primjer, rukovalac pozvan kada se korisnik prijavi je dodano).
- Dodata mogućnost dodjele administratorskih prava korisnicima.
- Komande su dodane u interfejs komandne linije za resetovanje administratorske lozinke i proveru funkcionalnosti usluge.
- Dodata podrška za uslovne naredbe kada se vrši masovno preimenovanje datoteka na strani provajdera u oblaku.
- Dodata je podrška za praćenje i automatsko ponovno pokretanje TLS certifikati.
- Dodata je mogućnost definiranja vlastitih MIME tipova za WebDAV.
- SSH ima po defaultu omogućenu provjeru autentičnosti interaktivne tipkovnice.
- U prijenosnom načinu rada postalo je moguće učitavanje lozinki iz datoteke.
- Dodata eksperimentalna podrška za Terraform uslugu.
Glavne karakteristike SFTPGo:
- Svaki račun je chroot, ograničavajući pristup korisničkom kućnom direktoriju. Moguće je kreirati virtualne direktorije koji referenciraju podatke izvan korisničkog kućnog direktorija.
- Računi se pohranjuju u virtualnu korisničku bazu podataka koja se ne preklapa s bazom podataka korisnika sistema. SQLite, MySQL, PostgreSQL, bbolt i memorija za skladištenje mogu se koristiti za skladištenje korisničkih baza podataka. Omogućene su mogućnosti za mapiranje virtuelnih i sistemskih naloga - moguće je direktno ili nasumično mapiranje (jedan korisnik sistema može biti mapiran na drugog virtuelnog korisnika).
- Podržana je autentifikacija pomoću javnih ključeva, SSH ključeva i lozinki (uključujući interaktivnu autentifikaciju lozinkom unesenom s tastature). Moguće je vezati nekoliko ključeva za svakog korisnika, kao i postaviti višefaktorsku i višestepenu autentifikaciju (na primjer, u slučaju uspješne provjere autentičnosti ključa može se dodatno zatražiti lozinka).
- Za svakog korisnika moguće je konfigurirati različite metode provjere autentičnosti, kao i definirati vlastite metode, implementirane pozivanjem eksternih programa za autentifikaciju (na primjer, za autentifikaciju putem LDAP-a) ili slanjem zahtjeva putem HTTP API-ja.
- Moguće je povezati vanjske rukovaoce ili HTTP API pozive za dinamičku promjenu korisničkih parametara, pozvanih prije nego što se korisnik prijavi. Podržano je dinamičko kreiranje korisnika nakon povezivanja.
- Podržava pojedinačne kvote za veličinu podataka i broj datoteka.
- Podrška za ograničenje propusnog opsega sa odvojenom konfiguracijom ograničenja za dolazni i odlazni saobraćaj, kao i ograničenja broja istovremenih veza.
- Alati za kontrolu pristupa koji rade u odnosu na korisnika ili direktorij (možete ograničiti pregled liste datoteka, zabraniti postavljanje, preuzimanje, prepisivanje, brisanje, preimenovanje ili promjenu prava pristupa, zabraniti kreiranje direktorija ili simboličkih veza, itd.).
- Za svakog korisnika možete definirati pojedinačna mrežna ograničenja, na primjer, možete dozvoliti samo prijave sa određenih IP-ova ili podmreža.
- Podržava povezivanje filtera za preuzeti sadržaj u odnosu na pojedinačne korisnike i direktorije (na primjer, možete blokirati preuzimanje datoteka s određenim ekstenzijom).
- Moguće je vezati rukovaoce koji se pokreću tokom raznih operacija sa datotekom (preuzimanje, brisanje, preimenovanje itd.). Osim rukovatelja pozivanjem, podržano je slanje obavijesti u obliku HTTP zahtjeva.
- Automatski prekid neaktivnih veza.
- Atomsko ažuriranje konfiguracije bez prekida veze.
- Pružanje metrike za praćenje u Prometheusu.
- HAProxy PROXY protokol je podržan za organiziranje balansiranja opterećenja ili proxy veza sa SFTP/SCP uslugama bez gubitka informacija o izvornoj IP adresi korisnika.
- REST API za upravljanje korisnicima i direktorijumima, kreiranje rezervnih kopija i generisanje izveštaja o aktivnim vezama.
- Web sučelje (http://127.0.0.1:8080/web) za konfiguraciju i praćenje (konfiguracija putem redovnih konfiguracijskih datoteka je također podržana).

- Mogućnost definiranja postavki u JSON, TOML, YAML, HCL i envfile formatima.
- Podrška za povezivanje putem SSH-a sa ograničenim pristupom sistemskim komandama. Na primjer, dozvoljeno je pokretanje naredbi neophodnih za Git (git-receive-pack, git-upload-pack, git-upload-archive) i rsync, kao i nekoliko ugrađenih naredbi (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy i sftpgo-remove).
- Prijenosni način za dijeljenje jednog zajedničkog direktorija s automatskim generiranjem akreditiva za vezu koji se oglašava putem multicast DNS-a.
- Ugrađen sistem profilisanja za analizu performansi.
- Pojednostavljeni proces za migraciju sistemskih računa Linux.
- Pohranjivanje dnevnika u JSON formatu.
- Podrška za virtuelne direktorijume (na primer, sadržaj određenog direktorijuma se može servirati ne iz lokalnog FS-a, već iz eksternog skladišta u oblaku).
- Cryptfs podrška za transparentno šifriranje podataka u hodu prilikom pohranjivanja u FS i dešifriranje prilikom vraćanja.
- Podrška za prosljeđivanje konekcija na druge SFTP servere.
- Mogućnost korištenja SFTPGo kao SFTP podsistema za OpenSSH.
- Mogućnost skladištenja akreditiva i povjerljivih podataka u šifriranom obliku pomoću KMS servera (Key Management Services), kao što su Vault, GCP KMS, AWS KMS.
- Podrška za dvofaktorsku autentifikaciju korištenjem vremenski ograničenih jednokratnih lozinki (TOTP, RFC 6238). Aplikacije kao što su Authy i Google Authenticator mogu se koristiti kao autentifikatori.
- Proširivanje funkcionalnosti putem dodataka. Na primjer, dostupni su dodaci koji podržavaju dodatne usluge razmjene ključeva, integraciju šeme Publish/Subscribe, skladištenje i preuzimanje informacija o događajima u DBMS-u.
izvor: opennet.ru


