SFTPGo 2.2.0 SFTP servera laidiens

Publicēts SFTPGo 2.2 servera izlaidums, kas ļauj organizēt attālo piekļuvi failiem, izmantojot SFTP, SCP/SSH, Rsync, HTTP un WebDav protokolus. Cita starpā SFTPGo var izmantot, lai nodroÅ”inātu piekļuvi Git krātuvēm, izmantojot SSH protokolu. Datus var pārsÅ«tÄ«t gan no vietējās failu sistēmas, gan no ārējām krātuvēm, kas ir saderÄ«gas ar Amazon S3, Google Cloud Storage un Azure Blob Storage. Ir iespējams uzglabāt datus Å”ifrētā veidā. Lietotāju datu bāzes un metadatu glabāŔanai tiek izmantotas DBVS ar atbalstu SQL vai atslēgas/vērtÄ«bas formātam, piemēram, PostgreSQL, MySQL, SQLite, CockroachDB vai bbolt, taču ir iespējams arÄ« saglabāt metadatus RAM, kas neprasa pieslēgÅ”anu ārējā datu bāze. Projekta kods ir rakstÄ«ts programmā Go un izplatÄ«ts saskaņā ar GPLv3 licenci.

Jaunajā versijā:

  • Pievienots atbalsts divu faktoru autentifikācijai, izmantojot laika ierobežotas vienreizējās paroles (TOTP, RFC 6238). Kā autentifikatorus var izmantot tādas lietojumprogrammas kā Authy un Google Authenticator.
  • Ir ieviesta iespēja paplaÅ”ināt funkcionalitāti, izmantojot spraudņus. Starp jau pieejamajiem spraudņiem: atbalsts papildu atslēgu apmaiņas pakalpojumiem, Publish/Abone shēmas integrācija, informācijas par notikumiem uzglabāŔana un meklÄ“Å”ana DBVS.
  • REST API ir pievienojis atbalstu autentifikācijai, izmantojot atslēgas, papildus JWT marÄ·ieriem, kā arÄ« nodroÅ”ina iespēju iestatÄ«t datu uzglabāŔanas politikas (ierobežojot datu kalpoÅ”anas laiku) attiecÄ«bā uz atseviŔķiem direktorijiem un lietotājiem. Pēc noklusējuma Swagger lietotāja saskarne ir iespējota, lai pārvietotos pa API resursiem, neizmantojot ārējās utilÄ«tas.
  • TÄ«mekļa saskarnei ir pievienots rakstÄ«Å”anas operāciju atbalsts (failu augÅ”upielāde, direktoriju izveide, pārdēvÄ“Å”ana un dzÄ“Å”ana), ir ieviesta iespēja atiestatÄ«t paroli ar apstiprinājumu pa e-pastu, ir integrēts teksta failu redaktors un PDF dokumentu skatÄ«tājs. Pievienota iespēja izveidot HTTP saites, lai ārējiem lietotājiem nodroÅ”inātu piekļuvi atseviŔķiem failiem un direktorijiem, ar iespēju iestatÄ«t atseviŔķu piekļuves paroli, ierobežot IP adreses, iestatÄ«t saites kalpoÅ”anas laiku un ierobežot lejupielāžu skaitu.

Galvenās SFTPGo funkcijas:

  • Katrs konts ir hroots, ierobežojot piekļuvi lietotāja mājas direktorijam. Ir iespējams izveidot virtuālos direktorijus, kas atsaucas uz datiem ārpus lietotāja mājas direktorija.
  • Konti tiek glabāti virtuālā lietotāju datu bāzē, kas nepārklājas ar sistēmas lietotāju datu bāzi. Lietotāju datu bāzu glabāŔanai var izmantot SQLite, MySQL, PostgreSQL, bbolt un atmiņas krātuvi. Ir nodroÅ”inātas iespējas virtuālo un sistēmas kontu kartÄ“Å”anai - iespējama tieŔā vai nejauŔā kartÄ“Å”ana (vienu sistēmas lietotāju var kartēt ar citu virtuālo lietotāju).
  • Tiek atbalstÄ«ta autentifikācija, izmantojot publiskās atslēgas, SSH atslēgas un paroles (ieskaitot interaktÄ«vo autentifikāciju ar paroli, kas ievadÄ«ta no tastatÅ«ras). Katram lietotājam iespējams piesaistÄ«t vairākas atslēgas, kā arÄ« iestatÄ«t daudzfaktoru un daudzpakāpju autentifikāciju (piemēram, veiksmÄ«gas atslēgas autentifikācijas gadÄ«jumā var papildus pieprasÄ«t paroli).
  • Katram lietotājam ir iespējams konfigurēt dažādas autentifikācijas metodes, kā arÄ« definēt savas metodes, kuras tiek ieviestas, izsaucot ārējās autentifikācijas programmas (piemēram, autentifikācijai caur LDAP) vai nosÅ«tot pieprasÄ«jumus caur HTTP API.
  • Ir iespējams savienot ārējos apdarinātājus vai HTTP API zvanus, lai dinamiski mainÄ«tu lietotāja parametrus, kas tiek izsaukti pirms lietotāja pieteikÅ”anās. Tiek atbalstÄ«ta dinamiska lietotāju izveide savienojuma laikā.
  • Atbalsta atseviŔķas kvotas datu izmēram un failu skaitam.
  • Atbalsts joslas platuma ierobežoÅ”anai ar atseviŔķu ienākoŔās un izejoŔās trafika ierobežojumu konfigurāciju, kā arÄ« vienlaicÄ«gu savienojumu skaita ierobežojumiem.
  • Piekļuves kontroles rÄ«ki, kas darbojas saistÄ«bā ar lietotāju vai direktoriju (varat ierobežot failu saraksta skatÄ«Å”anu, aizliegt augÅ”upielādi, lejupielādi, pārrakstÄ«t, dzēst, pārdēvēt vai mainÄ«t piekļuves tiesÄ«bas, aizliegt izveidot direktorijus vai simboliskas saites utt.).
  • Katram lietotājam varat definēt atseviŔķus tÄ«kla ierobežojumus, piemēram, varat atļaut pieteikÅ”anos tikai no noteiktiem IP vai apakÅ”tÄ«kliem.
  • Tā atbalsta filtru savienoÅ”anu lejupielādētajam saturam attiecÄ«bā uz atseviŔķiem lietotājiem un direktorijiem (piemēram, varat bloķēt failu lejupielādi ar noteiktu paplaÅ”inājumu).
  • Ar failu iespējams saistÄ«t apdarinātājus, kas tiek palaisti dažādu darbÄ«bu laikā (lejupielādēt, dzēst, pārdēvēt utt.). Papildus zvanÄ«Å”anas apstrādātājiem tiek atbalstÄ«ta paziņojumu sÅ«tÄ«Å”ana HTTP pieprasÄ«jumu veidā.
  • Automātiska neaktÄ«vo savienojumu pārtraukÅ”ana.
  • Atomu konfigurācijas atjaunināŔana, nepārtraucot savienojumus.
  • Metrikas nodroÅ”ināŔana uzraudzÄ«bai programmā Prometheus.
  • HAProxy PROXY protokols tiek atbalstÄ«ts, lai organizētu slodzes lÄ«dzsvaroÅ”anu vai starpniekservera savienojumus ar SFTP/SCP pakalpojumiem, nezaudējot informāciju par lietotāja avota IP adresi.
  • REST API lietotāju un direktoriju pārvaldÄ«bai, dublējumkopiju izveidei un pārskatu Ä£enerÄ“Å”anai par aktÄ«viem savienojumiem.
  • TÄ«mekļa saskarne (http://127.0.0.1:8080/web) konfigurÄ“Å”anai un uzraudzÄ«bai (tiek atbalstÄ«ta arÄ« konfigurācija, izmantojot parastos konfigurācijas failus).
  • Iespēja definēt iestatÄ«jumus JSON, TOML, YAML, HCL un envfile formātos.
  • Atbalsts savienojuma izveidei, izmantojot SSH, ar ierobežotu piekļuvi sistēmas komandām. Piemēram, ir atļauts palaist komandas, kas nepiecieÅ”amas Git (git-receive-pack, git-upload-pack, git-upload-archive) un rsync, kā arÄ« vairākas iebÅ«vētās komandas (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy un sftpgo-remove).
  • Pārnēsājams režīms viena kopÄ«ga direktorija koplietoÅ”anai ar automātisku savienojuma akreditācijas datu Ä£enerÄ“Å”anu, kas tiek reklamēta, izmantojot multiraides DNS.
  • IebÅ«vēta profilÄ“Å”anas sistēma veiktspējas analÄ«zei.
  • VienkārÅ”ots process Linux sistēmas kontu migrÄ“Å”anai.
  • Žurnālu glabāŔana JSON formātā.
  • Atbalsts virtuālajiem direktorijiem (piemēram, noteikta direktorija saturu var apkalpot nevis no vietējā FS, bet gan no ārējās mākoņkrātuves).
  • Cryptfs atbalsta caurspÄ«dÄ«gu datu Å”ifrÄ“Å”anu lidojumā, kad tie tiek saglabāti FS, un atÅ”ifrÄ“Å”anu atgriežoties.
  • Atbalsts savienojumu pārsÅ«tÄ«Å”anai uz citiem SFTP serveriem.
  • Iespēja izmantot SFTPGo kā OpenSSH SFTP apakÅ”sistēmu.
  • Iespēja saglabāt akreditācijas datus un konfidenciālus datus Å”ifrētā veidā, izmantojot KMS serverus (Key Management Services), piemēram, Vault, GCP KMS, AWS KMS.

Avots: opennet.ru

Pievieno komentāru