Как определить IP-адрес того, кто зарегистрировался в Root?

Есть несколько человек с корневым доступом к определенной виртуальной машине, которой я занимаюсь. Я хотел бы узнать, какой IP-адрес использовался для входа в root.

  • Последствия безопасности использования неанализированных данных в арифметической оценке оболочки
  • Требование пароля для всех файлов с указанным расширением
  • Как вы можете регистрировать каждую введенную команду
  • Запись на произвольные адреса памяти
  • Как узнать, заражен ли мой компьютер вирусом макроса?
  • Мониторинг файлов для предварительного взлома хакера
  • Конфигурация Linux VPS
  • Как вы переименовываете корень?
  • Почему перезагрузка PATH в команде sudo?
  • Существует ли способ, которым злоумышленник может использовать mkdir для компрометации системы?
  • Настройка ключей SSH для производства и DR-сервера
  • Почему не следует использовать пароли в командной строке?
  • 5 Solutions collect form web for “Как определить IP-адрес того, кто зарегистрировался в Root?”

    Это зависит от вашего дистрибутива или ОС. sshd будет регистрировать каждый логин где-нибудь и будет включать соответствующий IP-адрес в формате входа в систему следующим образом:

     Aug 20 15:56:53 machine sshd[2728]: Accepted publickey for root from 192.168.1.2 port 49297 

    Эта часть последовательна, но как вы ее там можете изменить. В системах, основанных на systemd , используйте параметр journalctl :

     journalctl /usr/bin/sshd 

    чтобы просмотреть все сообщения журнала из исполняемого файла sshd . Вы можете использовать это для корневого входа или других критериев и ограничить его по дате с помощью --since и --until (см. man journalctl ).

    Альтернативно и исторически сообщения будут регистрироваться (обычно) где-нибудь в /var/log . Обычно сообщения sshd в /var/log/auth.log , но точный файл может существенно различаться. Какой бы он ни был:

     grep sshd /var/log/auth.log 

    даст вам в целом эквивалентную информацию для версии journalctl .

    Вы можете использовать last команду для получения этой информации

     # last|head phemmer ssh 192.168.0.24 Wed Aug 20 21:08 - 21:08 (00:00) phemmer pts/13 192.168.0.2 Wed Aug 20 14:00 - 18:43 (04:43) phemmer ssh 192.168.0.2 Wed Aug 20 14:00 - 18:43 (04:43) phemmer ssh ::1 Wed Aug 13 23:08 - 23:08 (00:00) phemmer ssh ::1 Wed Aug 13 23:08 - 23:08 (00:00) phemmer ssh ::1 Wed Aug 13 23:07 - 23:07 (00:00) phemmer pts/15 192.168.0.20 Thu Aug 7 19:00 - 19:00 (00:00) phemmer ssh 192.168.0.20 Thu Aug 7 19:00 - 19:00 (00:00) phemmer :0 Wed Jul 30 20:06 still logged in reboot system boot 3.13.2-gentoo Wed Jul 30 20:05 still running 

    Как вы, без сомнения, видите, третий столбец покажет удаленный IP-адрес в случае входа SSH.

    last использует файл /var/log/wtmp , поэтому этот метод похож на ответ G-Man (просто немного проще, так как вам не нужно указывать путь к файлу).

    Вы не должны позволять людям использовать ssh , войдя в систему напрямую с правами root (используя пароль root или сертификат в /root/.ssh/authorized_keys ), если вы хотите провести аудит, кто зарегистрирован в качестве пользователя root. Вместо этого используйте одну учетную запись для каждого человека и позвольте им использовать sudo для получения прав root. Таким образом, вы найдете в соответствующем журнале (позиция файла журнала зависит от того, какой у вас дистрибутив, вы даже можете настроить демона журнала для отправки сообщений на другой компьютер), user john ran the command 'sudo rm -rf /' сообщения user john ran the command 'sudo rm -rf /' . Ну, может быть, вы не найдете легко одной команды в журналах.

    Команда

     who /var/log/wtmp 

    должен показать информацию, как то who что показывает, но вернуться во времени.

    Из краткого описания, которое вы указали, кажется, было бы лучше, если бы вы создали систему мониторинга журналов. Это поможет вам следить за входами, создавать оповещения, сравнивать данные за несколько дней и давать все графики курса.

    Но если вам нужно временно контролировать его, вы можете использовать last команду.

     last | grep root | grep -v tty | awk '{print $3}' 

    Это даст вам список IPs или Hostnames откуда пользователь root выполнил вход в систему.

    Linux и Unix - лучшая ОС в мире.