Izdanje SFTP servera SFTPGo 1.0

Desilo se prvo značajno izdanje servera SFTPGo 1.0, koji vam omogućava da organizirate daljinski pristup datotekama koristeći SFTP, SCP/SSH i Rsync 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 sa eksterne memorije kompatibilne sa Amazon S3 i Google Cloud Storage. 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 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 and distribuira licenciran pod GPLv3.

Glavne karakteristike:

  • 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 dinamičan 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 metrika 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 direktorijima, kreiranje sigurnosnih kopija i generiranje izvještaja o aktivnim vezama.
  • Web interfejs (http://127.0.0.1:8080/web) za konfiguraciju i nadgledanje (takođe je podržana konfiguracija putem redovnih konfiguracijskih datoteka).
  • Mogućnost definiranja postavki u JSON, TOML, YAML, HCL i envfile formatima.
  • podrška veze preko 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).
  • Režim portabl za dijeljenje jednog zajedničkog direktorija s automatskim generiranjem vjerodajnica za vezu koje se oglašavaju putem multicast DNS-a.
  • Ugrađeni sistem profilisanje za analizu učinka.
  • Pojednostavljeno proces migracija Linux sistemskih naloga.
  • Skladištenje evidencije u JSON formatu.

izvor: opennet.ru

Dodajte komentar