SFTP-palvelimen SFTPGo 1.0 julkaisu

Palvelimen ensimmäinen merkittävä julkaisu tapahtui SFTPGo 1.0, jonka avulla voit järjestää tiedostojen etäkäytön SFTP-, SCP/SSH- ja Rsync-protokollien avulla. SFTPGo:n avulla voidaan muun muassa tarjota pääsy Git-tietovarastoihin SSH-protokollan avulla. Tietoja voidaan siirtää sekä paikallisesta tiedostojärjestelmästä että ulkoisesta tallennustilasta, joka on yhteensopiva Amazon S3:n ja Google Cloud Storagen kanssa. Käyttäjätietokannan ja metatietojen tallentamiseen käytetään SQL:ää tai avain/arvomuotoa tukevia DBMS-järjestelmiä, kuten PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x tai bbolt 1.3.x. On myös tila metatietojen tallentamiseen RAM-muistiin, mikä ei vaadi ulkoisen tietokannan yhdistämistä. Projektikoodi on kirjoitettu Go ja jakelija lisensoitu GPLv3:lla.

Tärkeimmät ominaisuudet:

  • Jokainen tili on rootattu, mikä rajoittaa pääsyä käyttäjän kotihakemistoon. On mahdollista luoda virtuaalisia hakemistoja, jotka viittaavat käyttäjän kotihakemiston ulkopuolelle.
  • Tilit tallennetaan virtuaaliseen käyttäjätietokantaan, joka ei ole päällekkäinen järjestelmän käyttäjätietokannan kanssa. Käyttäjätietokantojen tallentamiseen voidaan käyttää SQLite-, MySQL-, PostgreSQL-, bbolt- ja in-memory storage. Virtuaali- ja järjestelmätilien kartoitukseen tarjotaan tilat - joko suora tai satunnainen kartoitus on mahdollista (yksi järjestelmän käyttäjä voidaan yhdistää toiselle virtuaalikäyttäjälle).
  • Todennus julkisilla avaimilla, SSH-avaimilla ja salasanoilla on tuettu (mukaan lukien interaktiivinen todennus näppäimistöltä syötetyllä salasanalla). On mahdollista sitoa useita avaimia kullekin käyttäjälle sekä asettaa monitekijäinen ja monivaiheinen todennus (esimerkiksi onnistuneen avaintunnistuksen yhteydessä voidaan pyytää lisäksi salasanaa).
  • Kullekin käyttäjälle on mahdollista konfiguroida erilaisia ​​todennusmenetelmiä sekä määritellä omia menetelmiä, jotka toteutetaan kutsumalla ulkoisia autentikointiohjelmia (esim. LDAP-autentikointiin) tai lähettämällä pyyntöjä HTTP API:n kautta.
  • On mahdollista yhdistää ulkoisia käsittelijöitä tai HTTP API -kutsuja muuttaaksesi dynaamisesti käyttäjän parametreja, joita kutsutaan ennen käyttäjän kirjautumista. Tuettu dynaaminen luoda käyttäjiä yhteyden yhteydessä.
  • Tukee yksittäisiä kiintiöitä tietokoon ja tiedostojen lukumäärälle.
  • Tuki kaistanleveyden rajoitukselle erillisillä rajoituksilla saapuvalle ja lähtevälle liikenteelle sekä rajoituksilla samanaikaisten yhteyksien määrälle.
  • Kulunvalvontatyökalut, jotka toimivat suhteessa käyttäjään tai hakemistoon (voit rajoittaa tiedostoluettelon katselua, kieltää lataamisen, lataamisen, ylikirjoituksen, poistamisen, uudelleennimeämisen tai käyttöoikeuksien muuttamisen, kieltää hakemistojen tai symbolisten linkkien luomisen jne.).
  • Voit määrittää kullekin käyttäjälle yksittäisiä verkkorajoituksia, esimerkiksi sallia kirjautumiset vain tietyistä IP-osoitteista tai aliverkoista.
  • Se tukee suodattimien yhdistämistä ladatulle sisällölle suhteessa yksittäisiin käyttäjiin ja hakemistoihin (voit esimerkiksi estää tiedostojen lataamisen tietyllä tunnisteella).
  • Eri toimintojen aikana käynnistyviä käsittelijöitä on mahdollista sitoa tiedostoon (lataa, poista, nimeä uudelleen jne.). Käsittelijöiden soittamisen lisäksi tuetaan ilmoitusten lähettämistä HTTP-pyyntöjen muodossa.
  • Ei-aktiivisten yhteyksien automaattinen katkaisu.
  • Atomic-konfiguraatiopäivitys katkaisematta yhteyksiä.
  • Tarjoaminen mittareita seurantaa varten Prometheuksessa.
  • HAProxy PROXY -protokollaa tuetaan kuormituksen tasapainottamisen tai välityspalvelinyhteyksien järjestämiseen SFTP/SCP-palveluihin menettämättä tietoja käyttäjän IP-lähteen osoitteesta.
  • REST API hallita käyttäjiä ja hakemistoja, luoda varmuuskopioita ja raportteja aktiivisista yhteyksistä.
  • Web-käyttöliittymä (http://127.0.0.1:8080/web) konfigurointia ja valvontaa varten (tuetaan myös määritystä tavallisten määritystiedostojen kautta).
  • Mahdollisuus määrittää asetuksia JSON-, TOML-, YAML-, HCL- ja envfile-muodoissa.
  • Tukea SSH:n kautta rajoitettu pääsy järjestelmäkomentoihin. Esimerkiksi Gitille (git-receive-pack, git-upload-pack, git-upload-archive) ja rsyncille tarvittavia komentoja sekä useita sisäänrakennettuja komentoja (scp, md5sum, sha*sum) saa suorittaa. , cd, pwd, sftpgo-copy ja sftpgo-remove).
  • järjestelmä kannettava jakaa yksi yhteinen hakemisto monilähetys DNS:n kautta mainostettujen yhteystietojen automaattisen luomisen kanssa.
  • Upotettu järjestelmä profilointi suorituskykyanalyysiä varten.
  • Yksinkertaistettu prosessi Linux-järjestelmätilien siirto.
  • Varastointi lokit JSON-muodossa.

Lähde: opennet.ru

Lisää kommentti