Vydanie SFTP servera SFTPGo 1.0

Uskutočnilo sa prvé významné vydanie servera SFTPGo 1.0, ktorý umožňuje organizovať vzdialený prístup k súborom pomocou protokolov SFTP, SCP/SSH a Rsync. SFTPGo je okrem iného možné použiť na poskytovanie prístupu k úložiskám Git pomocou protokolu SSH. Dáta je možné prenášať z lokálneho súborového systému aj z externého úložiska kompatibilného s Amazon S3 a Google Cloud Storage. Na ukladanie užívateľskej databázy a metadát sa používajú DBMS s podporou pre SQL alebo formát kľúč/hodnota, ako napríklad PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x resp. bbolt 1.3.x. Nechýba ani režim ukladania metadát do RAM, ktorý nevyžaduje pripojenie externej databázy. Kód projektu je napísaný v Go a distribuovaný pod licenciou GPLv3.

Hlavné funkcie:

  • Každý účet je chrootovaný, čo obmedzuje prístup k domovskému adresáru používateľa. Je možné vytvárať virtuálne adresáre, ktoré odkazujú na údaje mimo domovského adresára používateľa.
  • Účty sú uložené vo virtuálnej databáze používateľov, ktorá sa neprekrýva s databázou používateľov systému. Na ukladanie užívateľských databáz možno použiť SQLite, MySQL, PostgreSQL, bbolt a úložisko v pamäti. K dispozícii sú zariadenia na mapovanie virtuálnych a systémových účtov – je možné priame alebo náhodné mapovanie (jeden používateľ systému môže byť namapovaný na iného virtuálneho používateľa).
  • Podporovaná je autentifikácia pomocou verejných kľúčov, SSH kľúčov a hesiel (vrátane interaktívnej autentizácie pomocou hesla zadávaného z klávesnice). Pre každého užívateľa je možné naviazať viacero kľúčov, ako aj nastaviť viacfaktorovú a viackrokovú autentifikáciu (napríklad v prípade úspešnej autentifikácie kľúčom môže byť dodatočne vyžadované heslo).
  • Pre každého používateľa je možné nakonfigurovať rôzne metódy autentifikácie, ako aj definovať svoje vlastné metódy, implementované volaním externých autentifikačných programov (napríklad na autentifikáciu cez LDAP) alebo odosielaním požiadaviek cez HTTP API.
  • Je možné pripojiť externé obslužné programy alebo volania HTTP API na dynamickú zmenu parametrov používateľa, ktoré sa volajú pred prihlásením používateľa. Podporované dynamický vytváranie používateľov po pripojení.
  • Podporuje individuálne kvóty pre veľkosť dát a počet súborov.
  • Podpora obmedzenia šírky pásma s oddelenou konfiguráciou obmedzení pre prichádzajúcu a odchádzajúcu prevádzku, ako aj obmedzenia počtu súčasných pripojení.
  • Nástroje na riadenie prístupu, ktoré fungujú vo vzťahu k používateľovi alebo adresáru (môžete obmedziť prezeranie zoznamu súborov, zakázať nahrávanie, sťahovanie, prepisovanie, mazanie, premenovanie alebo zmenu prístupových práv, zakázať vytváranie adresárov alebo symbolických odkazov atď.).
  • Pre každého používateľa môžete definovať individuálne obmedzenia siete, napríklad môžete povoliť prihlásenie len z určitých IP adries alebo podsietí.
  • Podporuje spájanie filtrov sťahovaného obsahu vo vzťahu k jednotlivým používateľom a adresárom (môžete napríklad blokovať sťahovanie súborov s určitou príponou).
  • Je možné viazať handlery, ktoré sa spúšťajú pri rôznych operáciách so súborom (sťahovanie, mazanie, premenovanie atď.). Okrem volania handlerov je podporované posielanie notifikácií vo forme HTTP požiadaviek.
  • Automatické ukončenie neaktívnych spojení.
  • Aktualizácia atómovej konfigurácie bez prerušenia spojenia.
  • Poskytovanie metriky pre monitorovanie v Prometheus.
  • Protokol HAProxy PROXY je podporovaný na organizáciu vyvažovania záťaže alebo proxy pripojení k službám SFTP/SCP bez straty informácií o zdrojovej IP adrese používateľa.
  • REST API na správu používateľov a adresárov, vytváranie záloh a generovanie správ o aktívnych pripojeniach.
  • webové rozhranie (http://127.0.0.1:8080/web) na konfiguráciu a monitorovanie (podporovaná je aj konfigurácia cez bežné konfiguračné súbory).
  • Možnosť definovať nastavenia vo formátoch JSON, TOML, YAML, HCL a envfile.
  • Podpora pripojenia cez SSH s obmedzeným prístupom k systémovým príkazom. Napríklad je povolené spúšťať príkazy potrebné pre Git (git-receive-pack, git-upload-pack, git-upload-archive) a rsync, ako aj niekoľko vstavaných príkazov (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy a sftpgo-remove).
  • režim prenosný na zdieľanie jedného spoločného adresára s automatickým generovaním prihlasovacích údajov na pripojenie inzerovaných prostredníctvom multicast DNS.
  • Vstavaný systém profilovanie pre analýzu výkonu.
  • Zjednodušené proces migrácia systémových účtov Linux.
  • Skladovanie prihlasuje vo formáte JSON.

Zdroj: opennet.ru

Pridať komentár