
OVH にサーバーがあるのですが、午後 12 時 10 分頃に突然オフラインになりました。
私のログによると、ハッカーはルートユーザーで侵入しました。つまり、彼はおそらく私のパスワードを入手したということです。私はすでにこのパスワードを変更しましたが、彼がどうやって侵入したのかまだわかりません。
sshd_config にはPermitRootLogin no
、通常は SSH 経由ではログインできないと書かれています。そのため、root として直接ログインする唯一の方法は KVM 経由であり、それにアクセスできるのは私だけです。
これはダウンしたときのログです。再起動するだけで解決できました。しかし、この前のログを見ると、誰かがルートとして数回ログインしています。そして、それは私ではないことはほぼ確実です。また、同じログには、誰かがルートとしてログインしていることが続いています。
Jun 11 12:10:01 vps115965 systemd: Starting Session c3450 of user root.
Jun 11 12:10:01 vps115965 systemd: Started Session c3450 of user root.
Jun 11 21:31:02 vps115965 xinetd[2703]: START: gopher pid=22775 from=::ffff:46.182.107.117
質問です。ルートログインを完全に無効にするにはどうすればいいでしょうか。ここでは物理的なログインのみを意味します。ルートおよび sudo (および sudo -i) として実行される cronjobs は引き続き動作するはずです。
私のサーバーは CentOS 7 を実行しています (アップデートは cronjobs 経由でインストールされます)
よろしくお願いします
ジェローン
編集:
ルートログインが 10 分ごとに実行されていることを発見しました。これはスケジュール設定する必要があると思いました。そこで crontab を調べたところ、spamassassin がこれを実行していることがわかりました。私はこれをもう使用していないので (スパムフィルタリングには Norton IS を使用しています)、削除することにしました。
ハッキングされたという証拠がもうないので、ただ運が悪かっただけだと思います(カーネルパニックかもしれません)。
しかし、物理的なルートログインを無効にする方法についてはまだ質問があります。
答え1
これの説明を見るとわかりますが、passwd -l root
ここから使用できます。man passwd
-l This option is used to lock the specified account and it is available to root only. The locking is performed by rendering the encrypted pass-
word into an invalid string (by prefixing the encrypted string with an !).
答え2
2 つのオプションがあります:
前の回答で述べたように、/etc/securetty ファイルに対処します。
/etc/shadow から root パスワードを削除します。これにより、誰も root としてログインできなくなりますが、cron ジョブと sudo は機能します。
2 番目のオプションは、ヘルパー ダイアログを使用してルート パスワードを取得し、ルート権限を取得する KDE 1/2 時代の古いソフトウェアとの互換性を損なわないため、Ubuntu のデフォルト設定で使用されます。
答え3
物理コンソールのログインは/etc/securetty
ファイルによって制御されます。root ユーザーがどのコンソールを使用してもログインできないようにするには、echo > /etc/securetty
ファイルを空にするなどの方法を使用します (最初にバックアップを作成することをお勧めします)。
シリアル コンソールを使用したログインなど、特定のパスだけを閉じたい場合は、/etc/securetty
ファイルからこれらのパスを削除するだけです。
これを実行した後でも、ssh通常のユーザーアカウントを作成してから須藤ルートになる。