如何允许用户仅通过特定IP连接?

时间:2018-08-18 22:35:44

标签: authentication vps ubuntu-18.04

方案如下:我在Digital Ocean(DO)中有一个VPS(Droplet),我通过putty-ssh连接,但是我必须启用另一个具有root特权和密码访问权限的用户(没有ssh),这是因为当通过putty-ssh出现连接问题时,我必须通过我的DO帐户输入,并使用该用户使用密码来访问Drop Console,以解决问题。这通常在每次重新启动服务器时发生,并且无法从腻子连接任何用户,连接被拒绝。解决方法很简单,重新启动ufw,一切都解决了。

但是,我为黑客打开了一扇门,他们可以轻松地以所有特权破坏此用户密码。想法是允许该用户仅通过我的个人IP连接,但Ubuntu防火墙仅允许IP /端口/应用程序规则,无法引用任何用户。我该如何解决这个问题?

1 个答案:

答案 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重新启动服务重新启动