方案如下:我在Digital Ocean(DO)中有一个VPS(Droplet),我通过putty-ssh连接,但是我必须启用另一个具有root特权和密码访问权限的用户(没有ssh),这是因为当通过putty-ssh出现连接问题时,我必须通过我的DO帐户输入,并使用该用户使用密码来访问Drop Console,以解决问题。这通常在每次重新启动服务器时发生,并且无法从腻子连接任何用户,连接被拒绝。解决方法很简单,重新启动ufw,一切都解决了。
但是,我为黑客打开了一扇门,他们可以轻松地以所有特权破坏此用户密码。想法是允许该用户仅通过我的个人IP连接,但Ubuntu防火墙仅允许IP /端口/应用程序规则,无法引用任何用户。我该如何解决这个问题?
答案 0 :(得分:0)
经过大量的研究和测试以及更多的测试,尤其是使用命令 telnet 和 login ,我发现了一些我不知道的东西。当SSH服务处于活动状态时,仅允许使用私钥进行ssh连接,不允许其他连接,即使使用ssh + password也是如此。我想这是第一个集成到Ubuntu中或由Digital Ocean实现的功能。
考虑到这一点,这个问题没有提出任何问题;除非您拥有私钥,否则没有人可以连接到服务器,并且如果您还仅允许来自特定IP的ssh连接,则安全性非常好。通过以这种简单的方式配置防火墙,就足够了:
ufw status verbose
To Action From
-- ------ ----
8000 ALLOW IN Anywhere
6666/tcp ALLOW IN 15.15.15.15
8000(v6) ALLOW IN Anywhere (v6)
端口8000,用于从HTTP和HTTPS客户端传入的请求(将由django管理),以及除ssh的默认端口22以外的任何端口(用于指定计算机的专用IP),我只能通过计算机与相应的端口进行连接私钥。我们还必须修改ssh配置文件,该文件为 / etc / ssh / sshd_config 文件,替换端口22, PasswordAuthentication no ,并使用 service ssh重新启动服务重新启动。