Izdaja SFTP strežnika SFTPGo 1.0

Prišel je prvi pomemben izid strežnika SFTPGo 1.0, ki omogoča organizacijo oddaljenega dostopa do datotek z uporabo protokolov SFTP, SCP/SSH in Rsync. Med drugim se SFTPGo lahko uporablja za zagotavljanje dostopa do Git-repozitorijev z uporabo protokola SSH. Podatki so lahko dostopni tako iz lokalnega datotečnega sistema kot tudi iz zunanjih shranjevanj, združljivih z Amazon S3 in Google Cloud Storage. Za shranjevanje uporabniških osnov in metapodatkov se uporabljajo SQL podprte DB ali formati ključ/vrednost, kot so PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x ali bbolt 1.3.x. Na voljo je tudi način shranjevanja metapodatkov v pomnilniku, ki ne zahteva povezave z zunanjimi DB. Koda projekta je napisana v jeziku Go in se distribuira pod GPLv3 licencom.

Ključne karakteristike:

  • Za vsak račun se uporablja chroot izolacija, ki omejuje dostop do domačega imenika uporabnika. Možno je ustvarjanje virtualnih imenikov, ki se navezujejo na podatke zunaj uporabnikovega domačega imenika.
  • Računi se shranjujejo v virtualni bazi uporabnikov, ki ne prekriva sistemske baze uporabnikov. Za shranjevanje baze uporabnikov se lahko uporabljajo SQLite, MySQL, PostgreSQL, bbolt in shranjevanje v pomnilniku. Na voljo so sredstva za usklajevanje virtualnih in sistemskih računov - mogoče je neposredno ali poljubno usklajevanje (en sistemski uporabnik je lahko usklajen z drugim virtualnim uporabnikom).
  • Podprta je avtentikacija z javnimi ključi, SSH ključi in gesli (vključno z interaktivno avtentikacijo z vnosom gesla s tipkovnice). Možna je povezava več ključev za vsakega uporabnika ter nastavitev večfaktorske in večstopenjske avtentikacije (na primer, ob uspešni avtentikaciji s ključem lahko dodatno zahtevamo geslo).
  • Za vsakega uporabnika je možna nastavitev različnih metod avtentikacije ter določitev lastnih metod, izvedenih prek klica zunanjih avtentikacijskih programov (na primer za avtentikacijo prek LDAP) ali pošiljanje zahtevkov prek HTTP API.
  • Omogoča povezavo z zunanjimi obdelovalniki ali klici HTTP API za dinamično spreminjanje parametrov uporabnika, ki se kličemo pred prijavo uporabnika. Podpira dinamično ustvarjanje uporabnikov ob povezavi.
  • Podpora individualnim kvotam za velikost podatkov in število datotek.
  • Podpora omejitvi prepustnosti z ločenim nastavljanjem omejitev za vhodni in izhodni promet ter omejitvami na število hkratnih povezav.
  • Orodja za razmejevanje dostopa, ki delujejo v navezavi na uporabnika ali imenik (lahko omejite ogled seznama datotek, prepovedujete nalaganje, prenos, prepisovanje, brisanje, preimenovanje ali spreminjanje pravic dostopa, prepovedujete ustvarjanje imenikov ali simboličnih povezav itd.).
  • Za vsakega uporabnika lahko določite individualna omrežna omejitev, na primer, lahko dovolimo dostop samo z določenih IP naslovov ali podomrežij.
  • Podprto je povezovanje filtrov prenesenih vsebin v povezavi z določenimi uporabniki in imeniki (na primer, lahko blokiramo nalaganje datotek z določenimi razširitvami).
  • Možna je vezava obdelovalcev, ki se izvajajo pri različnih operacijah z datoteko (nalaganje, brisanje, preimenovanje itd.). Poleg klica obdelovalcev se tudi pošiljajo obvestila v obliki HTTP zahtev.
  • Samodejno zaključevanje neaktivnih povezav.
  • Atomarna posodobitev konfiguracije brez prekinitev povezav.
  • Zagotavljanje metrik za spremljanje v Prometheus.
  • Podprt je protokol HAProxy PROXY za organizacijo uravnoteženja obremenitve ali posredovanje povezav do SFTP/SCP storitev brez izgube informacij o izvorni IP naslovu uporabnika.
  • REST API za upravljanje uporabnikov in imenikov, ustvarjanje varnostnih kopij in oblikovanje poročil o aktivnih povezavah.
  • Spletni vmesnik (http://127.0.0.1:8080/web) za nastavitev in spremljanje (podprta je tudi nastavitev prek običajnih konfiguracijskih datotek).
  • Možnost določanja nastavitev v formatih JSON, TOML, YAML, HCL in envfile.
  • Podpora povezav po SSH z omejenim dostopom do sistemskih ukazov. Na primer, dovoljeno je zagnati ukaze, potrebne za delovanje Gita (git-receive-pack, git-upload-pack, git-upload-archive) in rsync, pa tudi nekaj vgrajenih ukazov (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy in sftpgo-remove).
  • Način prenosnega za skupno rabo enega skupnega imenika z avtomatskim generiranjem prijavnih podatkov za povezavo, napovedanih preko multicast DNS.
  • Vgrajen sistem profiliranja za analizo zmogljivosti.
  • Poenostavljeno proces migracijo sistemskih uporabniških računov Linux.
  • Хранение dnevnikov v formatu JSON.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster