SFTPGo 1.0 Izdaja strežnika SFTP

Zgodila se je prva pomembna izdaja strežnika SFTPGo 1.0, ki vam omogoča organiziranje oddaljenega dostopa do datotek z uporabo protokolov SFTP, SCP/SSH in Rsync. SFTPGo je med drugim mogoče uporabiti za zagotavljanje dostopa do repozitorijev Git s protokolom SSH. Podatke je mogoče prenesti tako iz lokalnega datotečnega sistema kot iz zunanjega pomnilnika, združljivega z Amazon S3 in Google Cloud Storage. Za shranjevanje uporabniške baze in metapodatkov se uporabljajo DBMS s podporo za SQL ali format ključ/vrednost, kot so PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x oz. bbolt 1.3.x. Obstaja tudi način za shranjevanje metapodatkov v RAM, ki ne zahteva povezave z zunanjo bazo podatkov. Koda projekta je napisana v Go in distributer licenciran pod GPLv3.

Glavne značilnosti:

  • Vsak račun je chrooted, kar omejuje dostop do uporabnikovega domačega imenika. Možno je ustvariti virtualne imenike, ki se nanašajo na podatke zunaj domačega imenika uporabnika.
  • Računi so shranjeni v navidezni uporabniški bazi podatkov, ki se ne križa s sistemsko uporabniško bazo podatkov. SQLite, MySQL, PostgreSQL, bbolt in in-memory storage se lahko uporabljajo za shranjevanje podatkovnih baz uporabnikov. Na voljo so sredstva za preslikavo virtualnih in sistemskih računov – možna je neposredna ali poljubna preslikava (en sistemski uporabnik je lahko preslikan v drugega navideznega uporabnika).
  • Podprt je javni ključ, ključ SSH in preverjanje pristnosti z geslom (vključno z interaktivno preverjanjem pristnosti z vnosom gesla s tipkovnico). Možna je vezava več ključev za vsakega uporabnika, kot tudi nastavitev večfaktorske in večstopenjske avtentikacije (npr. v primeru uspešne avtentikacije ključa se lahko dodatno zahteva geslo).
  • Za vsakega uporabnika je mogoče konfigurirati različne metode avtentikacije, pa tudi določiti lastne metode, ki se izvajajo s klicanjem zunanjih programov za avtentifikacijo (na primer za avtentikacijo prek LDAP) ali pošiljanjem zahtev prek API-ja HTTP.
  • Možno je povezati zunanje obdelovalce ali klice HTTP API za dinamično spreminjanje uporabniških parametrov, klicanih preden se uporabnik prijavi. Podprto dinamično ustvarjanje uporabnikov ob povezavi.
  • Podpora za posamezne kvote za velikost podatkov in število datotek.
  • Podpora za omejevanje pasovne širine z ločenimi nastavitvami za omejitve za dohodni in odhodni promet ter omejitve za število hkratnih povezav.
  • Orodja za nadzor dostopa, ki delujejo glede na uporabnika ali imenik (lahko omejite ogled seznama datotek, prepovete nalaganje, prenašanje, prepisovanje, brisanje, preimenovanje ali spreminjanje pravic dostopa, prepoved ustvarjanja imenikov ali simboličnih povezav itd.).
  • Za vsakega uporabnika lahko določite individualne omrežne omejitve, na primer lahko dovolite dostop le z določenih IP-jev ali podomrežij.
  • Podpira povezavo filtrov za prenosljivo vsebino glede na posamezne uporabnike in imenike (lahko na primer blokirate prenos datotek z določeno končnico).
  • Lahko povežete obdelovalce, ki se zaženejo med različnimi operacijami z datoteko (nalaganje, brisanje, preimenovanje itd.). Poleg upravljavcev klicev je podprto pošiljanje obvestil v obliki zahtev HTTP.
  • Samodejna prekinitev neaktivnih povezav.
  • Posodobitev atomske konfiguracije brez prekinitve povezav.
  • Zagotavljanje metrike za spremljanje v Prometheusu.
  • Protokol HAProxy PROXY je podprt za organiziranje uravnoteženja obremenitve ali proxy povezav s storitvami SFTP/SCP, ne da bi pri tem izgubili informacijo o izvornem naslovu IP uporabnika.
  • REST API za upravljanje uporabnikov in imenikov, ustvarjanje varnostnih kopij in ustvarjanje poročil o aktivnih povezavah.
  • Spletni vmesnik (http://127.0.0.1:8080/web) za konfiguracijo in nadzor (podprta je tudi konfiguracija prek običajnih konfiguracijskih datotek).
  • Možnost definiranja nastavitev v formatih JSON, TOML, YAML, HCL in envfile.
  • Podpora povezave prek SSH z omejenim dostopom do sistemskih ukazov. Dovoljeno je na primer izvajati ukaze, potrebne za Git (git-receive-pack, git-upload-pack, git-upload-archive) in rsync, kot tudi več vgrajenih ukazov (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy in sftpgo-remove).
  • Način prenosni za skupno rabo enega skupnega imenika s samodejnim ustvarjanjem povezovalnih poverilnic, oglaševanih prek multicast DNS.
  • Vgrajeni sistem profiliranje za analizo delovanja.
  • Poenostavljeno Postopek selitev sistemskih računov Linux.
  • Skladiščenje dnevniki v formatu JSON.

Vir: opennet.ru

Dodaj komentar