Izdanje SFTPGo 1.0 SFTP poslužitelja

Dogodilo se prvo značajno izdanje poslužitelja SFTPGo 1.0, koji vam omogućuje organiziranje udaljenog pristupa datotekama pomoću protokola SFTP, SCP/SSH i Rsync. Između ostalog, SFTPGo se može koristiti za omogućavanje pristupa Git repozitoriju pomoću SSH protokola. Podaci se mogu prenijeti iz lokalnog datotečnog sustava i iz vanjske pohrane kompatibilne s Amazon S3 i Google Cloud Storage. Za pohranu korisničke baze podataka i metapodataka koriste se DBMS-ovi s podrškom za SQL ili format ključ/vrijednost, kao što su PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x ili bbolt 1.3.x. Postoji i način pohranjivanja metapodataka u RAM, koji ne zahtijeva povezivanje vanjske baze podataka. Kod projekta je napisan u Go i distribuira licenciran pod GPLv3.

Glavne značajke:

  • Svaki račun je chrootiran, ograničavajući pristup korisničkom početnom imeniku. Moguće je stvoriti virtualne direktorije koji referenciraju podatke izvan korisničkog matičnog imenika.
  • Računi su pohranjeni u virtualnoj korisničkoj bazi podataka koja se ne preklapa s korisničkom bazom podataka sustava. SQLite, MySQL, PostgreSQL, bbolt i in-memory storage mogu se koristiti za pohranu korisničkih baza podataka. Dostupne su mogućnosti za mapiranje virtualnih i sistemskih računa - moguće je izravno ili nasumično mapiranje (jedan korisnik sustava može se mapirati u drugog virtualnog korisnika).
  • Podržana je provjera autentičnosti pomoću javnih ključeva, SSH ključeva i lozinki (uključujući interaktivnu provjeru autentičnosti lozinkom unesenom s tipkovnice). Moguće je vezati nekoliko ključeva za svakog korisnika, kao i postaviti autentifikaciju u više faktora i više koraka (primjerice, u slučaju uspješne autentifikacije ključa može se dodatno zatražiti lozinka).
  • Za svakog korisnika moguće je konfigurirati različite metode autentifikacije, kao i definirati vlastite metode, implementirane pozivom vanjskih programa autentifikatora (primjerice, za autentifikaciju putem LDAP-a) ili slanjem zahtjeva putem HTTP API-ja.
  • Moguće je povezati vanjske rukovatelje ili HTTP API pozive za dinamičku promjenu korisničkih parametara, koji se pozivaju prije nego što se korisnik prijavi. Podržano dinamičan stvaranje korisnika nakon povezivanja.
  • Podržava pojedinačne kvote za veličinu podataka i broj datoteka.
  • Podrška za ograničavanje propusnosti s odvojenom konfiguracijom ograničenja za dolazni i odlazni promet, kao i ograničenja broja istodobnih veza.
  • Alati za kontrolu pristupa koji djeluju u odnosu na korisnika ili imenik (možete ograničiti pregled popisa datoteka, zabraniti učitavanje, preuzimanje, prepisivanje, brisanje, preimenovanje ili promjenu prava pristupa, zabraniti stvaranje imenika ili simboličkih veza itd.).
  • Za svakog korisnika možete definirati pojedinačna mrežna ograničenja, na primjer, možete dopustiti prijavu samo s određenih IP adresa ili podmreža.
  • Podržava filtere povezivanja za preuzeti sadržaj u odnosu na pojedinačne korisnike i direktorije (na primjer, možete blokirati preuzimanje datoteka s određenom ekstenzijom).
  • Moguće je vezati rukovatelje koji se pokreću tijekom raznih operacija s datotekom (preuzimanje, brisanje, preimenovanje itd.). Osim rukovatelja poziva, podržano je slanje obavijesti u obliku HTTP zahtjeva.
  • Automatsko prekidanje neaktivnih veza.
  • Ažuriranje atomske konfiguracije bez prekidanja veza.
  • Pružanje metrika za praćenje u Prometheusu.
  • HAProxy PROXY protokol podržan je za organiziranje uravnoteženja opterećenja ili proxy veza na SFTP/SCP usluge bez gubitka informacija o izvornoj IP adresi korisnika.
  • REST API za upravljanje korisnicima i imenicima, stvaranje sigurnosnih kopija i generiranje izvješća o aktivnim vezama.
  • Web sučelje (http://127.0.0.1:8080/web) za konfiguraciju i nadzor (konfiguracija putem uobičajenih konfiguracijskih datoteka također je podržana).
  • Mogućnost definiranja postavki u formatima JSON, TOML, YAML, HCL i envfile.
  • podrška veze putem SSH s ograničenim pristupom naredbama sustava. Na primjer, dopušteno je pokretati naredbe potrebne 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).
  • režim prenosiv za dijeljenje jednog zajedničkog imenika s automatskim generiranjem vjerodajnica za povezivanje oglašenih putem multicast DNS-a.
  • Ugrađeni sustav profiliranje za analizu performansi.
  • Pojednostavljeno postupak migracija računa sustava Linux.
  • Skladištenje zapisi u JSON formatu.

Izvor: opennet.ru

Dodajte komentar