在我的 VPS 上运行的奇怪的 'agetty' 进程。

信息安全 网络 攻击
2021-08-21 20:48:13

最近,由于恶意软件,我不得不(再次)重新安装我的 VPS 服务器之一。我采取了我认为非常好的安全预防措施。我还锁定了 root 帐户,并且也在使用 sudo。但一天后,我登录并注意到程序 'agetty' 正在几个 TTY 上运行:

root       382  0.0  0.0  12600   292 tty3     Ss+  Jun21   0:00 /sbin/agetty --noclear tty3 linux
root       383  0.0  0.0  12600   292 tty2     Ss+  Jun21   0:00 /sbin/agetty --noclear tty2 linux
root       384  0.0  0.0  12600   292 tty5     Ss+  Jun21   0:00 /sbin/agetty --noclear tty5 linux
root       385  0.0  0.0  12600   292 tty6     Ss+  Jun21   0:00 /sbin/agetty --noclear tty6 linux
root       386  0.0  0.0  12600   292 tty4     Ss+  Jun21   0:00 /sbin/agetty --noclear tty4 linux
root       387  0.0  0.0  12600   296 tty1     Ss+  Jun21   0:00 /sbin/agetty --noclear --keep-baud console 115200 38400 9600 vt102

显然,agetty 是一个“备用 getty”,用于通过串行控制台访问系统,或者至少这是我的理解。因此,这些进程似乎没有正当理由在我的服务器上运行。我给我的提供商发了电子邮件,他们说除非我配置了这个,否则它不应该运行,并且与他们的系统无关。这让我认为有人试图(再次)入侵我的服务器。

我有几个问题。首先,我看到这些过程有什么正当理由吗?其次,这些选项是什么意思:--keep-baud console 115200 38400 9600 vt102通过阅读手册页或我在网上找到的任何内容,我无法完全理解发生了什么。是否有人设法获得了我的服务器的登录控制台并试图强行进入以获得外壳?我检查了 auth.log 和 syslog,没有发现任何表明此类活动的内容。

我想我只是想弄清楚这个过程是什么,如果它是恶意的,我该如何杀死它?重新启动机器不起作用......任何提示将不胜感激。

2个回答

这些是默认的 Linux“控制台”或虚拟终端 (VT),Alt+F1-F6。我不记得看到默认情况下没有安装它们的系统。

您可以通过从您的 init/systemd/upstart/whatever 脚本中删除它们来禁用它们。您的 Linux 发行版的文档可能会提到这一点。

systemd如果输入的ps -A命令显示为systemd您的系统使用PID 1

如果您的操作系统使用systemd

tty1由命令实例化

/sbin/agetty --noclear --keep-baud console 115200 38400 9600 vt102

正如你的ps -A摘录所示。 tty1总是在启动时启动。为什么?请参阅 Lennart Poettering 的帖子“ systemd for Administrators, Part XVI: Gettys on Serial Consoles (and Elsewhere) ”,其中他写了解释(VT 表示虚拟终端;Lennart Poettering 是 的开发者之一systemd):

自动生成逻辑专门处理两个 VT:首先 tty1 得到特殊处理:如果我们启动到图形模式,则显示管理器将拥有这个 VT。如果我们启动到多用户(文本)模式,则会在其上启动一个 getty——无条件地,没有任何按需逻辑[2]。

[2] 请注意,VT1 上的 getty 是否按需启动几乎没有什么区别,因为 VT1 无论如何都是默认的活动 VT,所以无论如何在启动时都有需求。


对于其他tty<N>:您可以通过输入以下命令检查是否配置了 tty 服务:

systemctl is-enabled getty@tty<N>.service

其中<N>应替换为 tty 标识号(例如tty2)。

如果打印了上述检查Failed to get unit file state for getty@tty<N>.service: No such file or directory,则服务未启用。如果上面的检查打印了消息enabled,您可以通过输入以下内容来停用 tty 服务:

systemctl disable getty@tty<N>.service

您可以通过以下方式再次启用它:

systemctl enable getty@tty<N>.service