Vydanie SFTP servera SFTPGo 1.0

Prezentoval 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 sa môže používať aj na poskytovanie prístupu k Git-repozitárom pomocou protokolu SSH. Dáta môžu byť poskytované z lokálneho súborového systému alebo z externých úložísk kompatibilných s Amazon S3 a Google Cloud Storage. Na ukladanie používateľskej databázy a metadát sa používajú SDB s podporou SQL alebo formátu kľúč/hodnota, ako sú PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x alebo bbolt 1.3.x. Existuje tiež režim ukladania metadát v operačnej pamäti, ktorý nevyžaduje pripojenie externého DB. Kód projektu je napísaný v jazyku Go a distribuovaný je pod licenciou GPLv3.

Hlavné vlastnosti:

  • Pre každé používateľské konto sa aplikuje chroot izolácia, ktorá obmedzuje prístup k domovskému adresáru používateľa. Je možné vytvárať virtuálne adresáre, ktoré odkazujú na dáta mimo používateľského domovského adresára.
  • Účty sú uložené vo virtuálnej databáze používateľov, ktorá sa neprekrýva so systémovou DB používateľov. Na ukladanie databázy používateľov môžu byť použité SQLite, MySQL, PostgreSQL, bbolt a ukladanie do pamäte. Poskytujú sa prostriedky na zmapovanie virtuálnych a systémových účtov - je možné priame alebo ľubovoľné mapovanie (jeden systémový používateľ môže byť mapovaný na iného virtuálneho používateľa).
  • Podporuje sa autentifikácia pomocou verejných kľúčov, SSH kľúčov a hesiel (vrátane interaktívnej autentifikácie s vložením hesla z klávesnice). Je možné priradiť viacero kľúčov pre každého používateľa, ako aj nastaviť multifaktorovú a viaczložkovú autentifikáciu (napríklad v prípade úspešnej autentifikácie pomocou kľúča môže byť dodatočne požadované heslo).
  • Pre každého používateľa je možné nastaviť rôzne metódy autentifikácie a definovať vlastné metódy, realizované prostredníctvom volania externých autentifikačných programov (napríklad na autentifikáciu cez LDAP) alebo zasielaním požiadaviek cez HTTP API.
  • Možné je pripojenie externých spracovateľov alebo volanie HTTP API na dynamickú zmenu používateľských parametrov, ktoré sa vyžadujú pred prihlásením používateľa. Podporuje sa dynamické vytváranie používateľov pri pripojení.
  • Podpora individuálnych kvót na veľkosť dát a počet súborov.
  • Podpora obmedzenia priepustnosti s oddeleným nastavením obmedzení pre prichádzajúcu a odchádzajúcu prevádzku, ako aj obmedzení na počet súčasných pripojení.
  • Prostriedky na obmedzenie prístupu, ktoré fungujú v súvislosti s používateľom alebo adresárom (možno obmedziť zobrazenie zoznamu súborov, zakázať nahrávanie, sťahovanie, prepísanie, odstraňovanie, 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 je možné nastaviť individuálne sieťové obmedzenia, napríklad povoliť prístup len z určitých IP adries alebo podsietí.
  • Podporuje sa pripojenie filtrov sťahovaného obsahu viazaných na jednotlivých používateľov a adresáre (napríklad je možné blokovať sťahovanie súborov s určitou príponou).
  • Je možné pripojiť spracovateľov, ktoré sa spúšťajú pri rôznych operáciách so súborom (nahrávanie, mazanie, premenovanie atď.). Okrem volania spracovateľov sa podporuje aj odosielanie oznámení vo forme HTTP požiadaviek.
  • Automatické ukončenie neaktívnych pripojení.
  • Atonomné aktualizácie konfigurácie bez prerušenia pripojení.
  • Poskytovanie metriky na monitorovanie v Prometheus.
  • Podporuje sa protokol HAProxy PROXY na organizovanie vyrovnávania záťaže alebo proxy pripojení k službám SFTP/SCP bez straty údajov o pôvodnej 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 nastavenie a monitorovanie (podporovaná je aj konfigurácia pomocou bežných konfiguračných súborov).
  • Možnosť definovať nastavenia v 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, spúšťanie príkazov potrebných na prácu s Git (git-receive-pack, git-upload-pack, git-upload-archive) a rsync, ako aj niekoľkých vstavaných príkazov (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy a sftpgo-remove) je povolené.
  • Režim prenosné na spoločné zdieľanie jedného spoločného adresára s automatickým generovaním prihlasovacích údajov na pripojenie, ktoré sú ohlásené cez multicast DNS.
  • Integrovaný systém profilovania na analýzu výkonnosti.
  • Jednoduchý proces migrácie systémových účet Linux.
  • Ukladanie logov vo formáte JSON.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster