如果我通过 SSH 连接到远程服务器,该计算机的管理员是否可以使用我的 SSH 会话将数据发送回连接并对我的本地 PC 执行某些操作?我使用 DSA 密钥,不允许使用密码登录我的 SSH 服务器,并且不允许 root 访问。如果尽管采取了这些预防措施,但仍然有可能,您能否解释一下它是如何使用代码/链接完成的,以便我能够理解?
我担心的另一件事是,如果我连接到远程服务器,管理员可能能够劫持我的 pts 会话并只需键入exit
即可访问我的电脑。再次,请告诉我这是否可能,如果可以,请提供代码/链接
我已经做了一些谷歌搜索,到目前为止什么也没发现。
答案1
他们不可能仅仅因为您使用 SSH 连接到他们的远程服务器就劫持您的连接并接管您的 PC。但是,您在该远程服务器上所做的一切肯定都会受到监控。您通过远程 SSH 连接输入的任何密码都可以被捕获,但这是因为您正在向他们发送该数据,而不是因为他们正在监视您的家庭计算机。如果他们劫持了您的 PTS 会话,他们将无法做任何事情,就像您在他们自己的远程服务器上所做的那样。这对他们没有任何好处,因为他们已经对自己的服务器拥有如此大的权力。如果他们输入 exit,他们将结束您的远程 shell,您将被启动,但他们不会获得对您的计算机的任何控制权。该 PTS 会话位于远程计算机上,与您家庭计算机上可能拥有的任何 PTS 会话无关。您的 SSH 客户端中总是有可能存在安全漏洞,使他们能够访问您的计算机,但如果您将软件保持在合理的最新状态,则这种情况极不可能发生,我不会担心。
话虽如此,有一些方法可以让您的计算机更容易受到 SSH 的攻击。如果您启用某种类型的转发,他们可能会利用它来对付您。默认情况下所有转发均处于关闭状态。如果您启用了代理转发,他们可以使用您在家庭计算机上的代理中加载的任何私钥,但仅限于建立 SSH 连接时。代理不允许任何人窃取密钥,但只要您将密钥转发到他们的服务器,他们就可以使用它们。您绝对不应该启用代理转发到不受信任的计算机。 X11 转发可以让他们启动应用程序,甚至控制您的 X 会话。默认情况下,OpenSSH 在转发时会对 X11 协议进行一些过滤(除非您启用了 ForwardX11Trusted),因此它们无法接管完全控制,但它们仍然可以在您的 X 会话上加载窗口。再次强调,X11转发需要谨慎使用。
答案2
无论如何,我很清楚我将如何进行实际的 ssh 闯入,但我的问题是:如果我确实获得了对远程服务器的访问权限,这台机器的管理员是否可以使用我的 ssh会话将数据发送回连接并感染我的本地电脑?
这取决于您使用的客户端。
可能的?是的,例如:http://archive.cert.uni-stuttgart.de/bugtraq/2002/12/msg00261.html
可能吗?不。
我担心的另一件事是,如果我获得对远程服务器的访问权限,管理员可能能够劫持我的 pts 会话并只需键入 exit 即可访问我的电脑。
这不会发生。如果他们“劫持”你的 shell 并且他们键入exit
它将终止 shell,仅此而已。
一般来说,闯入另一个系统是个坏主意。有法律禁止这样做,这简直就是犯罪。
如果您不知道自己在做什么,那么闯入系统就更糟糕了。你的问题表明情况确实如此。
简单的建议:将 IP 列入黑名单即可。
答案3
您意识到,在大多数司法管辖区,您想做的事情都是非法的,可能会导致您被罚款或监禁。
说真的——不要这样做!
将他们屏蔽或列入黑名单,不要报复。
(不过,在实际回答你的问题时 - 不,除非你的 SSH 客户端容易受到另一端的攻击,否则他们无法直接执行任何操作。如果你从他们的一端下载文件,那会让你处于不同的位置 - 在那里那里可能有恶意软件)
答案4
要提高安全性并消除日志中的混乱,请尝试fail2ban
.在 debian/ubuntu 中,您所需要的只是apt-get install fail2ban
(iirc,现在无法检查)默认设置在 4 次尝试后阻止 IP 半小时。它还具有其他服务的示例配置。
另一种选择是更改侦听端口,大多数入侵尝试都是由机器人进行的,仅攻击端口 22。
或者更好的是,将这两个选项结合起来,如果您可以阻止除少数 IP 之外的所有内容,也可以这样做。
侵入他人的系统是非法的,浪费时间,而且只会给你带来麻烦。