У меня есть сервер в OVH, который внезапно отключился около 12:10.
Судя по моим логам, хакер зашел с root-пользователем. Это означает, что у него, вероятно, был мой пароль. Я уже сменил этот пароль, но мне все еще интересно, как он вошел.
В sshd_config говорится PermitRootLogin no
поэтому обычно они не могли войти через SSH. Таким образом, единственный способ войти как root напрямую - через KVM, и я единственный, кто имеет к нему доступ.
Это журнал того времени, когда он упал. Я мог решить это простым перезапуском. Но как я вижу журналы до этого, кто-то несколько раз заходил в рут. И я почти уверен, что это был не я. Также в тех же журналах говорится, что кто-то входит как root.
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
Мой вопрос. Как я могу полностью отключить root-логин. Под этим я подразумеваю только физический логин. cronjobs, запущенные от имени root и sudo (а также sudo -i), должны работать.
На моем сервере работает CentOS 7 (обновления устанавливаются через cronjobs)
Спасибо заранее
Jeroen
РЕДАКТИРОВАТЬ:
Я обнаружил, что вход в систему root осуществляется каждые 10 минут, и я думал, что это должно быть запланировано. Итак, я заглянул в crontab, и похоже, что это делает spamassassin. Поскольку я этим больше не пользуюсь (я использую Norton IS для фильтрации спама), я решил удалить его.
Поскольку у меня нет никаких доказательств того, что меня взломали, я просто думаю о невезении (возможно, Kernel Panic).
Однако я все еще хочу знать свой вопрос о том, как отключить физический rootlogin.
ты можешь использовать 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 !).
Вход в систему на физической консоли контролируется через /etc/securetty
файл. Чтобы предотвратить вход пользователя root с помощью любой консоли, используйте что-то вроде echo > /etc/securetty
чтобы очистить файл (вы можете сначала создать резервную копию).
Если вы хотите закрыть только определенные пути, например, логины с помощью последовательной консоли просто удалите их из /etc/securetty
файл.
После того, как вы это сделаете, вы все равно можете войти, используя ssh и обычную учетную запись пользователя, а затем используйте судо стать root.
У вас есть 2 варианта:
Решите проблему с помощью файла / etc / securetty, как упоминалось в предыдущем ответе.
Удалите пароль root из / etc / shadow - таким образом никто не сможет войти в систему как root, в то время как cron jobs и sudo будут работать.
Второй вариант используется в конфигурации Ubuntu по умолчанию, так как он не нарушает совместимость со старым программным обеспечением из возраста KDE 1/2, которое использовало вспомогательные диалоги для получения пароля root и получения привилегий root.