web-dev-qa-db-ja.com

私のVPSで実行されている奇妙な「agetty」プロセス。

最近、マルウェアのために、VPSサーバーの1つを(再度)再インストールする必要がありました。私は、かなり良いセキュリティ対策を講じました。 rootアカウントもロックし、Sudoも使用しています。しかし、1日後、ログインして、プログラム '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? manページを読んだり、オンラインで見つけたものから何が起こっているのかを完全に理解することができませんでした。誰かが私のサーバーにログインコンソールを取得でき、シェルを取得するためにブルートフォース攻撃を試みている可能性はありますか? auth.logとsyslogを確認したところ、そのようなアクティビティを示すものは見つかりませんでした。

私はこのプロセスが何であるかを理解しようとしていると思います、そしてそれが悪意のある場合、どうすればそれを殺すことができますか?マシンを再起動しても動作しませんでした...ヒントをいただければ幸いです。

5
nemister

これらは、デフォルトのLinux「コンソール」または仮想端末(VT)、Alt + F1-F6です。デフォルトでインストールされていないシステムを見た覚えはありません。

それらをinit/systemd/upstart/whateverスクリプトから削除することで無効にします。 Linuxディストリビューションのドキュメントには、おそらくそれが記載されています。

7
domen

ps -Aコマンドを入力するとsystemdPID 1とともに表示される場合、システムはsystemdを使用します)

オペレーティングシステムが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):

2つのVTは自動生成ロジックによって特別に処理されます。最初にtty1は特別な扱いを受けます。グラフィカルモードで起動すると、ディスプレイマネージャーがこのVTを取得します。マルチユーザー(テキスト)モードで起動すると、その上でgettyが開始されます-無条件で、オンデマンドロジックなし[2]。

[2] VT1はデフォルトでアクティブなVTであるため、VT1のgettyがオンデマンドで開始されるかどうかにほとんど違いがないことに注意してください。


その他の場合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
2
nuiun