7分钟

任务3 安全加固

任务目的

对搭建完成的 FTP 服务器进行安全加固。按照上述步骤搭建完成的 FTP 服务器存在安全隐患,容易被黑客攻击。为了减小服务器被攻击的风险,需要再对服务器进行配置。

任务步骤

1.对 Windows 系统自带的 FTP 服务进行安全加固。

将用户添加进入来宾组。用户进入来宾组,将只具有访客相关权限,降低该用户操作对系统的风险。

在服务器管理界面,选择【工具】>【计算机管理】进入计算机管理界面。

选择【计算机管理(本地)】>【本地用户和组】>【用户】,在右侧找到之前新建的“ftpuser”用户,双击该用户,在弹出框中选择【隶属于】。

更改用户组1

点击【添加】按钮,在弹出框输入“Guests”然后点击【检查名称】,无异常出现点击【确定】。

更改用户组2

回到隶属于界面,选中“Users”然后点击【删除】按钮,再点击【确定】保存。

设置密码策略,让密码具有复杂性难以破解,让密码有最长使用期限限制最低更换密码的频率。回到服务器管理界面,选择【工具】>【本地安全策略】,进入本地安全策略界面,再选择【安全设置】>【账户策略】>【密码策略】,鼠标移至右侧界面,双击需要改动项,在弹出框依照提示修改后点击【确定】按钮保存即可。此处作为示例,将【密码长度最小值】设为 8 个字符,【密码最短使用期限】设为 7 天,【密码最长使用期限】设为 30 天。

密码策略

启用账户锁定策略可以有效防止暴力破解攻击事件。在左侧列表选择【账户锁定策略】,双击【账户锁定阈值】,在弹出框设置为 5 次,【账户锁定时间】和【重置账户锁定计数器】可以根据需要调整,这里选择默认的 30 分钟。

账户锁定策略

接下来启用 SSL 加密传输功能。进入服务器管理器界面,选择【工具】>【Internet Information Services (IIS)管理器】进入 IIS 管理器界面。选择【服务器主页】,在右侧点击【服务器证书】。

服务器证书

在服务器证书页面,点击右侧的【创建自签名证书】,在弹出框填入证书的名字,此处填写的是“ftp”,创建自己的服务器证书。

创建自签名证书

回到主页,点击右侧的【FTP SSL 设置】。

SSL设置1

【SSL 证书】选择上面创建的证书,选择【允许 SSL 连接】,勾选【将 128 位加密用于 SSL 连接】,然后点击右侧【应用】。

SSL设置2

将所有端口暴露在公网上会增大被攻击的风险,应该只开放必须开放的端口。再次回到主页,点击【FTP 防火墙支持】,在【数据通道端口范围】填入“5000-5100”,限定 FTP 服务被动模式下开启端口的范围。【防火墙的外部 IP 地址】填入腾讯云 Windows 实例的公网 IP,然后点击右侧【应用】,保存设置后重启 Windows 实例,让配置生效。

设置端口范围

2.对 FileZilla Server 进行安全加固。

打开软件主界面,选择【Edit】>【Settings】,进入设置界面。

在 Banner 信息里屏蔽版本信息显示,加大恶意攻击的时间成本。选择【General settings】>【Welcome message】,将【Custom welcome message】改为普通字符串,勾选【Hide welcome message in log】。

欢迎信息

开启指定范围的端口,减少暴露在外的端口数目。点击左侧【Passive mode settings】,勾选【Use custom port range】,在输入框填入“60000”和“60100”,限定 FTP 被动模式下开启端口的范围。

设置端口范围

点击【Logging】,在右侧界面勾选【Enable logging to file】启用日志,选中【Use a different logfile each day】让每天的日志记录到不同的文件,避免日志文件过大。

设置日志大小

设置账户锁定策略避免暴力破解。选择【Autoban】,在右侧界面勾选【Enable automatic bans】在多次登录失败后阻止登录行为。第一个输入框为允许登录失败次数,默认 10 次,第二个输入框为禁用登录时间,默认 1 小时。

启用阻止登录

接下来开启 FTP over TLS 功能,加密数据传输。点击【FTP over TLS settings】,在右侧勾选【Enable FTP over TLS support(FTPS)】。然后点击【Generate new certificate】。

启用TLS加密

在弹出框选择【1280bit】,点击【Browse】选择文件保存位置,其它输入框填入普通字符串即可。点击【Generate certificate】生成密钥。

生成密钥

在【Key password】填入密码“123456”。如果勾选【Disallow plain unencrypted FTP】,未加密的 FTP 将不可用,本示例不勾选。点击【OK】保存设置。

设置密码

3.开启 Windows 防火墙,配置入站规则。

在服务器管理器界面,选择【工具】>【高级安全 Windows 防火墙】,进入高级安全 Windows 防火墙界面,点击【Windows 防火墙属性】,在弹出框中将【域配置文件】、【专用配置文件】、【公用配置文件】的【防火墙状态】都设置为【启用(推荐)】。

开启防火墙

点击左侧列表的【入站规则】,然后点击右侧的【新建规则】。

入站规则

【规则类型】选择【端口】,【协议和端口】页面选择【TCP】和【特定本地端口(S)】,输入框中填入需要放通的端口,本示例中是“3000,5000-5100,60000-60100”。【操作】选择【允许连接】,【配置文件】全部勾选,【名称】填入自定义名称。最后点击【完成】。

新建规则