我正在使用 Digital Ocean droplet(Ubuntu 14.04.3)创建一个临时 ftp 服务器来获取一些数据(它不需要安全性)。我已经设置了 vsftpd,以便向系统上的常规 chrooted 用户授予访问权限。我还使用该命令创建了一个常规用户(ftpuser)adduser
。
问题是我可以使用 ftpuser 进行 ftp 操作,没有任何问题,但在 24 小时内,用户密码发生了变化,然后我就无法再登录了。如果以 root 身份通过 ssh 进入系统,并执行 a 操作,passwd ftpuser
将密码更改为我之前使用的密码 - 然后它在接下来的 24 小时内可以正常工作,但再次出现这种情况 - 它不再起作用。
这让我彻底疯了,因为它毫无意义。
以下是配置的详细信息:
vsftpd.conf:
listen=YES
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
#pam_service_name=vsftpd
pam_service_name=ftp
我还用最新的安全补丁更新了 Ubuntu。
答案1
简单的答案是,您需要重新初始化该 ubuntu 实例。假设它是您从列表中选择的基本版本,这应该会很快完成。重新配置可能很麻烦,但从安全漏洞中恢复则更加麻烦。密码不会自行更改。我使用过的 Linux 发行版不会自动更改密码。它需要与 passwd 程序或脚本过程进行交互才能更改密码。Ubuntu 没有可以更改用户密码的开箱即用功能。
更复杂的答案在于两种可能的方法。1. 您的托管服务提供商几乎总是有一个具有 sudo 或 root 访问权限的用户。可以运行一个例程,根据彩虹表(定义的不安全密码哈希字典)检查哈希,如果发现弱密码,则将其设置为随机生成的密码。我目前不记得了,但我认为此功能在 cpanel 中作为一个选项存在。
- 代理(用户或第三方)正在重置密码,但不会与您沟通。通常不能使用文件传输协议更改密码,除非他们可以写入密码文件,而这不是默认行为。
如果您重新初始化实例/droplet - 请查明是否可以安装一些入侵检测。https://www.sans.org/security-resources/idfaq/what_is_hips.php这将告诉您是否发生了某些违法行为。
一般来说,FTP 并不安全,即使你运行的是 SFTP。scp/ssh 是一个更好的解决方案,但设置起来更复杂。我从各种 HIDS 检查的大量结果显示 FTP (21) 是探测目标。
谨致问候,文森特