Izdanje SFTP servera SFTPGo 2.2.0

Objavljeno je izdanje SFTPGo 2.2 servera koji vam omogućava da organizirate daljinski pristup datotekama koristeći SFTP, SCP/SSH, Rsync, HTTP i WebDav protokole. Između ostalog, SFTPGo se može koristiti za pružanje pristupa 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:

  • Dodata 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.
  • Implementirana je mogućnost proširenja funkcionalnosti putem dodataka. Među već dostupnim dodacima: podrška za dodatne usluge razmjene ključeva, integracija šeme Publish/Subscribe, skladištenje i pretraživanje informacija o događajima u DBMS-u.
  • REST API je dodao podršku za autentifikaciju pomoću ključeva, pored JWT tokena, a takođe pruža mogućnost postavljanja politika skladištenja podataka (ograničavajući životni vek podataka) u odnosu na pojedinačne direktorijume i korisnike. Po defaultu, Swagger UI je omogućen za navigaciju API resursima bez korištenja vanjskih pomoćnih programa.
  • Web interfejsu je dodata podrška za operacije pisanja (učitavanje fajlova, kreiranje direktorijuma, preimenovanje i brisanje), implementirana je mogućnost resetovanja lozinke uz potvrdu putem e-pošte, integrisan je uređivač tekstualnih datoteka i preglednik PDF dokumenata. Dodata je mogućnost kreiranja HTTP veza kako bi se vanjskim korisnicima omogućio pristup pojedinačnim datotekama i direktorijima, uz mogućnost postavljanja zasebne pristupne lozinke, ograničavanja IP adresa, postavljanja vijeka trajanja linka i ograničavanja broja preuzimanja.

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 Linux sistemskih naloga.
  • 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.

izvor: opennet.ru

Dodajte komentar