在网上随便搜,几乎没有关于Serv-U HA高可用、Serv-U Gateway设置的相关文章,只能去官网找,只找到一个Serv-U_Distributed_Architecture_Guide的PDF文件,全英文,且加密。本着互联网的共享精神,我费了点周折,先把内容复制了出来,然后又做了一遍汉化,希望能帮助到需要的朋友。内容可能会存在一些瑕疵讹误,如果有发现的话可以联系我,我来改正。
参考:https://documentation.solarwinds.com/en/success_center/servu/content/servu_documentation.htm
介绍
Serv-U是一款用于Windows和Linux的高性能安全文件传输服务端。它支持FTP,FTPS(SSL / TLS),SFTP(SSH),HTTP和HTTPS连接,并包括针对Web浏览器和移动设备(例如iPad,iPhone,BlackBerry,Android,Microsoft Windows Mobile和Kindle Fire)的优化界面。
为了支持严格的冗余、安全性和性能要求,Serv-U 同时支持多层和高可用性架构。本文档介绍了 Serv-U 对这些分布式架构的支持及其优势和劣势。
文件管理传输的“DMZ中没有数据”
多层Serv-U/Serv-U Gateway部署可以您满足常见的文件管理传输要求:“切勿在DMZ中存储静态数据”。
Serv-U Gateway安全地代理从互联网到您的Serv-U服务器的传入连接,而无需打开从互联网或DMZ网段到您受信任网络的任何连接。
Serv-U 的File Sharing功能当前不支持高可用性环境,高可用性专为文件传输而设计。
通过水平扩展实现高可用性
核心的Serv-U服务器和Serv-U Gateway都可以以“N+1”的配置进行部署, 从而通过横向扩展实现高可用性,实现避免单点故障或纵向扩展扩大规模以满足您的需求。
硬件要求
本节包含需要满足的最低硬件要求,以便可以通过不同的协议处理给定数量的同时传输。
所提供的数据是指单实例Serv-U的安装。例如,单实例安装可以使用给定硬件通过 FTP 同时处理 500 次传输。如果您希望同时进行1000次传输,建议您安装2个Serv-U实例,每个实例都满足处理500个同时传输的要求。
如果给定配置的负载高于预期,Serv-U 仍可正常工作,但传输速率将降低,并且用户界面的响应速度会降低。
每协议同时传输次数 | FTP (未压缩**),HTTP | 已加密(HTTPS,SFTP) |
10 | 内存:512MB 硬盘:7200 RPM CPU*:2核 | 内存:1GB 硬盘:7200 RPM CPU*:4核 |
25 | 内存:1GB 硬盘:7200 RPM CPU*:2核 | 内存:2GB 硬盘:7200 RPM CPU*:4核 |
50 | 内存:2 GB 硬盘:10000 RPM CPU*:4核 | 内存:4GB 硬盘:10000 RPM CPU:4+核* |
100 | 内存:4 GB 硬盘:2 个 10000 RPM(RAID) CPU*:4核 | Serv-U 的多个实例 (2x) |
200 | 内存:4+ GB 硬盘:固态硬盘或 2 个 10000 RPM CPU*:4+核 | 多个 Serv-U 实例 (4x) |
500 | 内存:8+GB 硬盘:固态硬盘或 2 个 15000(RAID) CPU*:8+核 | 请联系 SolarWinds 以定义您的环境要求。 |
1000 | Serv-U 的多个实例 (2x) | 请联系 SolarWinds 以定义您的环境要求。 |
* 与增加 CPU 内核数相比,使用每内核性能更高的 CPU 对性能的影响明显更大 ,因此建议您使用主频较高的 CPU。
** 这些建议适用于禁用了数据压缩的FTP传输。如果启用了数据压缩,则CPU要求会明显更高。为获得最佳效果,建议使用每个内核具有尽可能高性能的 CPU。
可伸缩性提示和最佳实践
一个Serv-U Gateway能够正常处理至少2个Serv-U服务器实例。
在管理控制台中打开用户列表是一项高度占用CPU的操作。为了获得更好的性能,建议您将用户划分为多个集合,并避免在负载过重时管理用户列表。
还建议您避免在高负载期间打开及浏览管理控制台,尤其是在显示日志且间隔较短的页面上。
为获得最佳性能,请使用具有高IOPS速率的HDD或SSD。高IOPS速率可提高50 次以上同时传输的性能。
对于所有类型的文件传输,建议的网络速度为1000+ Mbit/s。
基本部署
当Serv-U部署为独立服务器时,它通常由单个防火墙保护免受Internet的影响。 它可以连接到远程存储或远程身份验证源。
所有版本的 Serv-U 都可以部署在此体系结构中,但只有Serv-U MFT 版本可以使用外部身份验证源,例如AD或数据库。
防火墙配置
主防火墙支持FTP、FTPS (SSL/TLS)、SFTP (SSH)、HTTP 和/或 HTTPS 从互联网到Serv-U的入站连接。此防火墙还可以配置为允许出站连接以支持FTP/S 主动模式数据连接,或者可以开启“FTP aware(感知)”功能动态打开 FTP 数据通道。
变化
如果Serv-U访问远程存储(例如,NAS 或文件共享),则 Serv-U 必须能够与这些资源建立CIFS(Windows 网络)连接。
如果Serv-U访问符合ODBC的数据库进行远程身份验证,则Serv-U必须能够与该数据库建立适合数据库的连接。例如,SQL Server 连接通常是通过TCP端口1433建立连接。
如果Serv-U通过活动目录Active Directory (“AD”) 进行远程身份验证,则您的Serv-U服务器必须是AD域的一部分,并且必须位于同一网段上。
优势
设置最简单的配置(在对 Serv-U 软件进行功能评估期间,建议使用此配置)。
劣势
没有活动冗余,存在 Serv-U 服务器单点故障风险。
许多行业安全策略都不允许从 Serv-U 到内部存储、内部数据库或 Active Directory 域控制器的直接连接。
基本多层 (MFT) 部署
通过Serv-U Gateway,您可以将Serv-U部署在一个多层架构中,满足或超过大多数文件管理传输 (“MFT”) 的安全要求,此体系结构允许您:
- 终止位于DMZ网段中的加固服务器上的所有传入传输连接
- 确保在您的DMZ网段中不会存储任何数据
- 避免打开从DMZ网段到内部网络的任何入站连接
Serv-U FTP Server* 和 Serv-U MFT Server 均可以部署在此体系结构中,但如果您需要 SFTP (SSH)或HTTPS传输或使用外部的身份验证源,则只能使用 Serv-U MFT 版本。
* Serv-U FTP Server 不支持 SFTP 或 HTTPS。
防火墙配置
互联网和 DMZ 网段之间的防火墙需支持FTP、FTPS (SSL/TLS)、SFTP (SSH)、HTTP 和/或 HTTPS 从互联网到 Serv-U 的入站连接。此防火墙还需配置为允许出站连接支持 FTP/S主动模式数据连接,或者可以开启“FTP aware(感知)”功能动态打开 FTP 数据通道。
DMZ 网段和内部网络之间的防火墙只需要允许通过 TCP 端口 1180 从 Serv-U 到 Serv-U Gateway的出站连接。
变化
- 如果Serv-U 访问远程存储(例如,NAS 或文件共享),那 Serv-U 必须能够与这些资源建立 CIFS(Windows 网络)连接。
- 如果Serv-U访问符合ODBC的数据库进行远程身份验证,则Serv-U必须能够与该数据库建立适合数据库的连接。例如,SQL Server 连接通常是通过TCP端口1433建立连接。
- 如果Serv-U通过活动目录Active Directory (“AD”) 进行远程身份验证,则您的Serv-U服务器必须是AD域的一部分,并且必须位于同一网段上。
- 图中所示的两个防火墙实际上通常是单个防火墙的“两条腿”,用于控制多个网段之间的访问。
- Serv-U Gateway和Serv-U可以部署在不同的操作系统上,例如,即使您已经在 Windows上部署了Serv-U服务器,面向 Internet的Serv-U Gateway也可以部署在 Linux 上。
优势
- 仍然易于设置(安装 Serv-U Gateway,定义 Serv-U Gateway,定义 Serv-U 监听器,然后开始。)
- 完全满足文件管理传输要求,即DMZ中不存在任何静态数据。
- 通过确保仅在受信任的内部网络上的计算机之间建立与内部存储、内部数据库或 Active Directory 域控制器的直接连接,满足大多数安全策略要求。
- 任何 CIFS、AD 或 DB 连接都不会通过防火墙。
劣势
无主动冗余,意味着 Serv-U 服务器和 Serv-U Gateway存在单点故障的隐患。
基本高可用性 (N+1) 部署
Serv-U可以部署为应用程序服务器的Web场,通过横向扩展(也称为“N+1”)提供高可用性 (“HA”) 服务。
Serv-U MFT 是唯一支持 HA 部署的 Serv-U 版本,因为Serv-U的HA配置需要使用外部身份验证源,此配置中目前(2022年2月)最多允许使用五台Serv-U实例服务器。
防火墙配置
主防火墙支持 FTP、FTPS (SSL/TLS)、SFTP (SSH)、HTTP 和/或 HTTPS 从 互联网到 Serv-U 的入站连接。此防火墙还需要配置为允许出站连接支持 FTP/S 主动模式数据连接,或者可以开启“FTP aware(感知)”功能动态打开 FTP 数据通道。
负载均衡器
必须使用网络负载均衡设备将传入连接分发到每台Serv-U服务器上。
如果要使用Serv-U的IP锁定保护,则应将负载均衡器配置为保留原始IP地址。负载均衡器还应使用“sticky sessions(粘性会话)”,将来自特定IP地址的所有传入连接锁定到特定的Serv-U服务器上,从而确保FTP和FTPS连接正常工作。
远程存储
所有用户的主文件夹、虚拟文件夹和其他 Serv-U 文件夹都必须配置为使用远程存储( 例如,NAS或文件共享)而不是本地硬盘驱动器,Serv-U 必须能够与这些资源建立CIFS(Windows 网络)连接。
远程身份验证
所有Serv-U域都必须使用由符合 ODBC 的数据库或 Microsoft Active Directory (AD) 所提供的远程身份验证。
如果Serv-U访问符合 ODBC 的数据库进行远程身份验证,则 Serv-U 必须能够与该数据库建立适合数据库的连接。例如,SQL Server 连接通常是 通过 TCP 端口 1433 建立的。
如果 Serv-U 访问 Active Directory (“AD”) 进行远程身份验证,则您的 Serv-U 服务器必须是 AD 域的一部分 ,并且必须位于同一网段上。
变化
在 Windows Server 上,可以使用内置的 Windows Network Load Balancer 服务来代替负载均衡的物理设备。
优势
主动冗余,消除了 Serv-U 应用程序服务器单点故障隐患。
劣势
比单实例系统更难设置,必须在每个应用程序服务器上安装Serv-U,并指向相同的共享资源。
许多行业安全策略都不允许从Serv-U到内部存储、内部数据库或Active Directory的直接连接。
对于同时登录到多个服务器的个人用户来说,实时用户统计信息可能是不可靠的。对于那些通过负载均衡上的“sticky sessions(粘性会话)”从单个 IP 登录的终端用户来说,这一点可以部分缓解,而不是群组统计信息。
标准高可用的多层 (MFT) 部署
Serv-U 可以部署为应用程序服务器的Web场,通过横向扩展(也称为“N+1”)提供高可用性 (“HA”) 服务。可以部署在满足或超过大多数文件管理传输安全要求的多层体系结构中。总之,这种复杂的架构使您能够:
终止位于 DMZ 网段中的加固服务器上的所有传入传输连接
确保在您的 DMZ 网段中不会存储任何数据
避免打开从 DMZ 网段到内部网络的任何入站连接
避免单点故障
扩大或缩小规模以满足实际需求
Serv-U MFT 是唯一支持HA多层部署的Serv-U版本,因为Serv-U的HA配置需要使用外部身份验证源。此配置中最多允许五个Serv-U实例服务器和三个Serv-U Gateway。
防火墙配置
主防火墙支持 FTP、FTPS (SSL/TLS)、SFTP (SSH)、HTTP 和/或 HTTPS从互联网到Serv-U的入站连接。此防火墙还可以配置为允许出站连接支持FTP/S主动模式数据连接,或者可以具有足够的“FTP aware(感知)”以动态打开FTP数据通道。
DMZ网段和内部网络之间的防火墙只需要允许从每个Serv-U服务器到每个Serv-U Gateway的TCP端口1180的出站连接。
负载均衡器
必须使用负载均衡设备将传入连接分发到每个Serv-U Gateway上。
如果要使用Serv-U的IP锁定保护,则应将负载均衡器配置为保留原始IP地址。负载均衡器还应使用“sticky sessions(粘性会话)”,将来自特定IP地址的所有传入连接锁定到特定的Serv-U服务器上,从而确保FTP和FTPS连接正常工作。
在 Serv-U Gateway层和 Serv-U 服务器层之间不需要负载均衡。
远程存储
所有用户的主文件夹、虚拟文件夹和其他 Serv-U 文件夹都必须配置为使用远程存储( 例如,NAS或文件共享)而不是本地硬盘驱动器,Serv-U 必须能够与这些资源建立CIFS(Windows 网络)连接。
远程身份验证
所有Serv-U域都必须使用由符合 ODBC 的数据库或 Microsoft Active Directory (AD) 所提供的远程身份验证。
如果Serv-U访问符合 ODBC 的数据库进行远程身份验证,则 Serv-U 必须能够与该数据库建立适合数据库的连接。例如,SQL Server 连接通常是 通过 TCP 端口 1433 建立的。
如果 Serv-U 访问 Active Directory (“AD”) 进行远程身份验证,则您的 Serv-U 服务器必须是 AD 域的一部分 ,并且必须位于同一网段上。
变化
在 Windows Server 上,可以使用内置的 Windows Network Load Balancer 服务代替负载均衡的物理设备来为Serv-U Gateway提供负载均衡服务。
图中所示的两个防火墙实际上通常是单个防火墙的“两条腿”,用于控制多个网段之间的访问。
Serv-U Gateway和Serv-U可以部署在不同的操作系统上。例如,即使您已经在 Windows 上部署了Serv-U服务器,也可以在Linux上部署面向Internet的Serv-U Gateway。但是,所有Serv-U Gateway都应使用相同的操作系统,并且所有Serv-U 服务器应尽可能使用相同的操作系统。
优势
- 主动冗余,消除了 Serv-U 应用程序服务器单点故障隐患。
- 完全满足 MFT 要求,即 DMZ 中不存在任何静态数据。
- 通过确保仅在受信任的内部网络上的计算机之间建立与内部存储、内部数据库或 Active Directory域控制器的直接连接,满足大多数行业安全策略要求。
- 任何CIFS、AD或DB连接都不会跨越防火墙。
劣势
比单节点或单层系统更难设置。必须在每个应用程序服务器上安装Serv-U,并指向相同的共享资源。您还必须部署一台负载均衡设备,并在两台Serv-U服务器上配置Serv-U Gateway。
对于同时登录到多个服务器的个人用户来说,实时用户统计信息可能是不可靠的。对于每次从单个 IP 登录的终端用户,可以通过负载均衡上的“sticky sessions(粘性会话)”来部分缓解此问题。
Gateway通信详详情
Serv-U Gateway能够作为一个安全的“反向代理”,避免从互联网或DMZ直接连接到内部网络。在后台,所有入站连接都由 Serv-U Gateway提供服务,方法是将它们绑定到来自基于内部的 Serv-U 服务器的出站连接,Serv-U Gateway才能够履行其职责,而无需从 DMZ 网段到受信任网络建立入站连接。
假设
防火墙保护从 Internet 到 DMZ 网段的访问配置为允许标准文件传输服务(例如,FTP/S、SFTP via SSH、HTTPS 等)到 Serv-U Gateway。
防火墙保护从 DMZ 网段到受信任的内部网络的访问,不允许 从 DMZ 到内部网络的任何连接。
Serv-U Gateway已启动,并侦听 DMZ 网段中的连接。
Serv-U 安装在受信任的内部网络中。
通信演练
1. 当Serv-U服务器启动时,它会尝试连接到其所有已配置的Serv-U Gateway。当Serv-U连接到每个Gateway时,它向每个Serv-U Gateway提供有关它应用于从Internet提供连接的协议、IP地址和端口的特定指令。根据需要打开并重新建立Serv-U用于提供此信息的连接 ,以便Serv-U Gateway可以将消息发送回Serv-U,这种连接称为“Gateway Control Channel控制通道”或“GCC”。
2. 当文件传输客户端(例如,Web浏览器、iPad 或FTP客户端)打开与 Serv-U Gateway的连接时 ,Serv-U Gateway将询问通过现有GCC的连接。Serv-U对其自己的数据库或内部资源执行任何必要的 IP 检查和身份验证。
3. 如果Serv-U批准传入连接,Serv-U将建立从Serv-U到Serv-U Gateway的新出站连接。第二个连接可以被认为是“Gateway Data Channel数据通道”或“GDC”。如果 Serv-U 拒绝传入连接,Serv-U 会告诉 Serv-U Gateway拒绝通过 GCC 的连接, Serv-U Gateway会终止请求客户端的连接。
4. Serv-U Gateway将原始客户端连接和为批准的连接创建的 GDC 拼接在一起。从那时起,客户端和Serv-U之间将进行数据传输,直到任何一方终止会话。
安全
当客户端连接到Serv-U Gateway时,建议使用加密传输中数据的协议(例如,通过SSH和HTTPS的FTPS、SFTP)。
如果客户端使用加密协议进行连接,则Serv-U和Serv-U Gateway之间的通信信道仅 对两个系统之间的流量进行加密。对于端到端的安全传输,建议客户端应使用加密协议进行连接。
l DMZ 中不会存储任何静态数据或身份验证信息。
其他参考资料
《Serv-U 管理员指南》介绍了如何设置域、组、用户和文件夹以支持 Serv-U HA 部署。以下为各节相关内容:
将主文件夹和虚拟文件夹映射到 Windows 共享
- 虚拟路径 – 物理路径
- 用户信息 – 主目录
- 目录访问规则 – 以 Windows 用户身份访问
使用公用共享处理 SSH 密钥、SSL 证书、服务器欢迎消息、FTP 消息文件、 事件命令可执行文件和日志文件
- 用户信息 – SSH 公钥路径
- 加密 – 为 FTPS 和 HTTPS 配置 SSL
- 加密 – SFTP(通过 SSH2 进行安全文件传输)
- FTP 设置 – 服务器欢迎消息
- FTP 设置 – 消息文件
- Serv-U 事件 – 执行命令操作
- 配置域日志 – 日志文件路径
使用外部身份验证
- 域设置,用于设置基于数据库的身份验证或活动目录身份验证
- 用于基于数据库的身份验证的 Serv-U 数据库集成指南
- 基于 Active Directory 身份验证的 Serv-U Windows Groups
Serv-U 数据库集成指南包含有关设置身份验证 数据库以支持 Serv-U Web 场的详细信息和说明。支持的数据库包括 SQL Server、Oracle Database、MySQL、PostgreSQL 和其他几个符合 ODBC 的关系数据库。
打赏作者