SFTP Sunucusu SFTPGo 2.2.0 Sürümü

SFTP, SCP/SSH, Rsync, HTTP ve WebDav protokollerini kullanarak dosyalara uzaktan erişimi düzenlemenize olanak tanıyan SFTPGo 2.2 sunucusunun sürümü yayınlandı. Diğer şeylerin yanı sıra SFTPGo, SSH protokolünü kullanarak Git depolarına erişim sağlamak için kullanılabilir. Veriler hem yerel dosya sisteminden hem de Amazon S3, Google Cloud Storage ve Azure Blob Storage ile uyumlu harici depolama alanlarından aktarılabilir. Verileri şifrelenmiş biçimde saklamak mümkündür. Kullanıcı veritabanını ve meta verilerini depolamak için PostgreSQL, MySQL, SQLite, CockroachDB veya bbolt gibi SQL veya anahtar/değer formatı desteğine sahip DBMS'ler kullanılır, ancak meta verileri RAM'de depolamak da mümkündür; bu, bir sunucuya bağlanmayı gerektirmez. harici veritabanı. Proje kodu Go'da yazılmıştır ve GPLv3 lisansı altında dağıtılmaktadır.

Yeni sürümde:

  • Zaman sınırlı tek seferlik şifreler (TOTP, RFC 6238) kullanan iki faktörlü kimlik doğrulama desteği eklendi. Authy ve Google Authenticator gibi uygulamalar kimlik doğrulayıcı olarak kullanılabilir.
  • Eklentiler aracılığıyla işlevselliği genişletme yeteneği uygulandı. Halihazırda mevcut olan eklentiler arasında: ek anahtar değişim hizmetleri desteği, Yayınlama/Abone Olma şemasının entegrasyonu, DBMS'deki olaylarla ilgili bilgilerin depolanması ve aranması.
  • REST API, JWT belirteçlerine ek olarak anahtarları kullanarak kimlik doğrulama desteği ekledi ve ayrıca bireysel dizinler ve kullanıcılarla ilişkili olarak veri depolama politikaları (verilerin ömrünü sınırlayan) ayarlama yeteneği sağlar. Varsayılan olarak Swagger UI, harici yardımcı programları kullanmadan API kaynaklarında gezinebilecek şekilde etkinleştirilmiştir.
  • Web arayüzüne yazma işlemleri desteği eklendi (dosya yükleme, dizin oluşturma, yeniden adlandırma ve silme), e-postayla onay ile şifre sıfırlama özelliği uygulandı, bir metin dosyası düzenleyicisi ve PDF belge görüntüleyici entegre edildi. Ayrı bir erişim parolası belirleme, IP adreslerini sınırlama, bağlantı ömrünü ayarlama ve indirme sayısını sınırlama yeteneğiyle birlikte, harici kullanıcılara ayrı dosyalara ve dizinlere erişim sağlamak için HTTP bağlantıları oluşturma yeteneği eklendi.

SFTPGo'nun ana özellikleri:

  • Her hesap, kullanıcının ana dizinine erişimi kısıtlayacak şekilde köklenmiştir. Kullanıcının ana dizini dışındaki verilere atıfta bulunan sanal dizinler oluşturmak mümkündür.
  • Hesaplar, sistem kullanıcı veritabanıyla kesişmeyen bir sanal kullanıcı veritabanında saklanır. Kullanıcı veritabanlarını depolamak için SQLite, MySQL, PostgreSQL, bbolt ve bellek içi depolama kullanılabilir. Sanal ve sistem hesaplarını eşlemek için araçlar sağlanmıştır - doğrudan veya isteğe bağlı eşleme mümkündür (bir sistem kullanıcısı başka bir sanal kullanıcıyla eşlenebilir).
  • Genel anahtar, SSH anahtarı ve parola kimlik doğrulaması desteklenir (klavye parola girişiyle etkileşimli kimlik doğrulama dahil). Her kullanıcı için birkaç anahtar bağlamak ve ayrıca çok faktörlü ve çok aşamalı kimlik doğrulaması ayarlamak mümkündür (örneğin, başarılı anahtar kimlik doğrulaması durumunda ek olarak bir parola istenebilir).
  • Her kullanıcı için farklı kimlik doğrulama yöntemleri yapılandırmak ve harici kimlik doğrulayıcı programları çağırarak (örneğin, LDAP aracılığıyla kimlik doğrulama için) veya HTTP API aracılığıyla istekler göndererek uygulanan kendi yöntemlerini tanımlamak mümkündür.
  • Kullanıcı oturum açmadan önce çağrılan kullanıcı ayarlarını dinamik olarak değiştirmek için harici işleyicileri veya HTTP API çağrılarını bağlamak mümkündür. Bağlantıda kullanıcıların dinamik olarak oluşturulması desteklenir.
  • Veri boyutu ve dosya sayısı için bireysel kota desteği.
  • Gelen ve giden trafiğin sınırları için ayrı ayarlar ve aynı zamanda eşzamanlı bağlantı sayısı için sınırlar ile bant genişliği sınırlama desteği.
  • Bir kullanıcı veya dizinle ilgili olarak hareket eden erişim kontrol araçları (dosya listesinin görüntülenmesini kısıtlayabilir, yüklemeyi, indirmeyi, üzerine yazmayı, silmeyi, yeniden adlandırmayı veya erişim haklarını değiştirmeyi, dizinlerin veya sembolik bağlantıların oluşturulmasını yasaklamayı vb.) yasaklayabilirsiniz.
  • Her kullanıcı için ayrı ağ kısıtlamaları tanımlayabilirsiniz, örneğin yalnızca belirli IP'lerden veya alt ağlardan erişime izin verebilirsiniz.
  • Bireysel kullanıcılar ve dizinlerle ilgili olarak indirilebilir içerik için filtrelerin bağlantısını destekler (örneğin, belirli bir uzantıya sahip dosyaların indirilmesini engelleyebilirsiniz).
  • Çeşitli işlemler sırasında başlatılan işleyicileri dosyayla (yükleme, silme, yeniden adlandırma vb.) bağlayabilirsiniz. Arama işleyicilerine ek olarak, HTTP istekleri biçiminde bildirimlerin gönderilmesi desteklenir.
  • Etkin olmayan bağlantıların otomatik olarak sonlandırılması.
  • Bağlantıları kesmeden atomik yapılandırma güncellemesi.
  • Prometheus'ta izleme için ölçümler sağlama.
  • HAProxy PROXY protokolü, kullanıcının kaynak IP adresi bilgisini kaybetmeden SFTP/SCP hizmetlerine yük dengeleme veya proxy bağlantıları düzenlemek için desteklenir.
  • Kullanıcıları ve dizinleri yönetmek, yedek oluşturmak ve aktif bağlantılar hakkında raporlama yapmak için REST API.
  • Yapılandırma ve izleme için web arayüzü (http://127.0.0.1:8080/web) (normal yapılandırma dosyaları aracılığıyla yapılandırma da desteklenir).
  • JSON, TOML, YAML, HCL ve envfile formatlarında ayarları tanımlayabilme.
  • Sistem komutlarına sınırlı erişimle SSH üzerinden bağlanma desteği. Örneğin, Git (git-receive-pack, git-upload-pack, git-upload-archive) ve rsync için gerekli komutların yanı sıra çeşitli yerleşik komutların (scp, md5sum, sha*sum, cd, pwd, sftpgo-kopyala ve sftpgo-kaldır).
  • Çok noktaya yayın DNS aracılığıyla tanıtılan bağlantı kimlik bilgilerinin otomatik olarak oluşturulmasıyla paylaşılan bir dizini paylaşmak için taşınabilir mod.
  • Performans analizi için yerleşik profil oluşturma sistemi.
  • Basitleştirilmiş Linux sistem hesabı taşıma işlemi.
  • Günlükleri JSON formatında saklamak.
  • Sanal dizinler için destek (örneğin, belirli bir dizinin içeriği yerel dosya sisteminden değil, harici bulut depolama alanından verilebilir).
  • Dosya sistemine kaydederken anında verileri şeffaf bir şekilde şifrelemek ve yüklerken şifresini çözmek için cryptfs desteği.
  • Bağlantıları diğer SFTP sunucularına yönlendirme desteği.
  • SFTPGo'yu OpenSSH için bir SFTP alt sistemi olarak kullanabilme.
  • Vault, GCP KMS, AWS KMS gibi KMS sunucularını (Anahtar Yönetim Hizmetleri) kullanarak kimlik bilgilerini ve gizli verileri şifrelenmiş biçimde saklama yeteneği.

Kaynak: opennet.ru

Yorum ekle