Phát hành Máy chủ SFTP SFTPGo 1.0

Việc phát hành quan trọng đầu tiên của máy chủ đã diễn ra SFTPGo 1.0, cho phép bạn tổ chức truy cập từ xa vào các tệp bằng giao thức SFTP, SCP/SSH và Rsync. Trong số những thứ khác, SFTPGo có thể được sử dụng để cung cấp quyền truy cập vào kho Git bằng giao thức SSH. Dữ liệu có thể được truyền cả từ hệ thống tệp cục bộ và từ bộ nhớ ngoài tương thích với Amazon S3 và Google Cloud Storage. Để lưu trữ cơ sở dữ liệu và siêu dữ liệu người dùng, DBMS có hỗ trợ SQL hoặc định dạng khóa/giá trị được sử dụng, chẳng hạn như PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x hoặc bbolt 1.3.x. Ngoài ra còn có chế độ lưu trữ siêu dữ liệu trong RAM mà không yêu cầu kết nối cơ sở dữ liệu bên ngoài. Mã dự án được viết bằng Go và phân phối bởi được cấp phép theo GPLv3.

Các tính năng chính:

  • Mỗi tài khoản đều được chroot, hạn chế quyền truy cập vào thư mục chính của người dùng. Có thể tạo các thư mục ảo tham chiếu dữ liệu bên ngoài thư mục chính của người dùng.
  • Tài khoản được lưu trữ trong cơ sở dữ liệu người dùng ảo không trùng lặp với cơ sở dữ liệu người dùng hệ thống. SQLite, MySQL, PostgreSQL, bbolt và lưu trữ trong bộ nhớ có thể được sử dụng để lưu trữ cơ sở dữ liệu người dùng. Các phương tiện được cung cấp để ánh xạ các tài khoản ảo và hệ thống - có thể ánh xạ trực tiếp hoặc ngẫu nhiên (một người dùng hệ thống có thể được ánh xạ tới một người dùng ảo khác).
  • Hỗ trợ xác thực bằng khóa chung, khóa SSH và mật khẩu (bao gồm xác thực tương tác bằng mật khẩu được nhập từ bàn phím). Có thể liên kết nhiều khóa cho mỗi người dùng, cũng như thiết lập xác thực đa yếu tố và nhiều bước (ví dụ: trong trường hợp xác thực khóa thành công, mật khẩu có thể được yêu cầu bổ sung).
  • Đối với mỗi người dùng, có thể định cấu hình các phương thức xác thực khác nhau, cũng như xác định các phương thức của riêng bạn, được triển khai bằng cách gọi các chương trình xác thực bên ngoài (ví dụ: để xác thực qua LDAP) hoặc gửi yêu cầu qua API HTTP.
  • Có thể kết nối các trình xử lý bên ngoài hoặc các lệnh gọi API HTTP để tự động thay đổi các tham số của người dùng, được gọi trước khi người dùng đăng nhập. Được hỗ trợ năng động tạo người dùng khi kết nối.
  • Hỗ trợ hạn ngạch riêng cho kích thước dữ liệu và số lượng tệp.
  • Hỗ trợ giới hạn băng thông với cấu hình hạn chế riêng biệt cho lưu lượng đến và đi, cũng như hạn chế về số lượng kết nối đồng thời.
  • Các công cụ kiểm soát truy cập hoạt động liên quan đến người dùng hoặc thư mục (bạn có thể hạn chế xem danh sách tệp, cấm tải lên, tải xuống, ghi đè, xóa, đổi tên hoặc thay đổi quyền truy cập, cấm tạo thư mục hoặc liên kết tượng trưng, ​​v.v.).
  • Đối với mỗi người dùng, bạn có thể xác định các hạn chế mạng riêng lẻ, ví dụ: bạn chỉ có thể cho phép đăng nhập từ một số IP hoặc mạng con nhất định.
  • Nó hỗ trợ kết nối các bộ lọc cho nội dung đã tải xuống liên quan đến từng người dùng và thư mục (ví dụ: bạn có thể chặn tải xuống các tệp có phần mở rộng nhất định).
  • Có thể liên kết các trình xử lý được khởi chạy trong các hoạt động khác nhau bằng một tệp (tải xuống, xóa, đổi tên, v.v.). Ngoài trình xử lý cuộc gọi, việc gửi thông báo dưới dạng yêu cầu HTTP cũng được hỗ trợ.
  • Tự động chấm dứt các kết nối không hoạt động.
  • Cập nhật cấu hình nguyên tử mà không ngắt kết nối.
  • Cung cấp số liệu để theo dõi trong Prometheus.
  • Giao thức HAProxy PROXY được hỗ trợ để tổ chức cân bằng tải hoặc kết nối proxy tới các dịch vụ SFTP/SCP mà không làm mất thông tin về địa chỉ IP nguồn của người dùng.
  • REST API để quản lý người dùng và thư mục, tạo bản sao lưu và tạo báo cáo về các kết nối đang hoạt động.
  • giao diện web (http://127.0.0.1:8080/web) để cấu hình và giám sát (cấu hình thông qua các tệp cấu hình thông thường cũng được hỗ trợ).
  • Khả năng xác định cài đặt ở các định dạng JSON, TOML, YAML, HCL và envfile.
  • Hỗ trợ kết nối qua SSH với quyền truy cập hạn chế vào các lệnh hệ thống. Ví dụ: được phép chạy các lệnh cần thiết cho Git (git-receive-pack, git-upload-pack, git-upload-archive) và rsync, cũng như một số lệnh tích hợp (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy và sftpgo-remove).
  • chế độ di động để chia sẻ một thư mục chung với việc tạo thông tin xác thực kết nối tự động được quảng cáo qua DNS đa hướng.
  • Hệ thống nhúng lập hồ sơ để phân tích hiệu suất.
  • giản thể quá trình di chuyển các tài khoản hệ thống Linux.
  • Lưu trữ nhật ký ở định dạng JSON.

Nguồn: opennet.ru

Thêm một lời nhận xét