Я настроил сервер Ubuntu с помощью openssh, чтобы подключаться к нему и выполнять команды из удаленной системы, такой как телефон или ноутбук. Проблема в том ... Я, наверное, не единственный.
Есть ли способ узнать все попытки входа в систему, которые были сделаны на сервер?
Ответы:
На серверах Ubuntu вы можете найти, кто вошел в систему, когда (и откуда) в файле
/var/log/auth.log
. Там вы найдете записи вроде:источник
lastb
команда в Ubuntu ?/var/log/auth.log
В дистрибутивах Red Hat, таких как Fedora / CentOS / RHEL, вы можете проверить, вошли ли пользователи в файл
/var/log/secure
.Если вам нужна дополнительная информация, прочтите этот раздел вопросов и ответов SuperUser под названием: Как я могу регистрировать попытки доступа SSH и отслеживать, что в конечном итоге пользователи SSH делают на моем сервере? ,
источник
/var/log/secure
на одной из моих систем Ubuntu./var/log/auth
в моих системах. Вот почему перед публикацией ответа я проверил, есть ли/var/log/secure
в моей системе, которая также является сервером Ubuntu :)/var/log/secure
./var/log/secure
такое Fedora / CentOS / RHEL ism.В Ubuntu вы можете войти через SSH и использовать хвостовую команду Linux, чтобы отобразить последние x строк в вашем
/var/log/auth.log
файле. Когда вы вошли в систему через SSH, используйте следующую команду, чтобы просмотреть 100 последних строк вашего журнала SSH:или даже чище
источник
Обратите внимание, что конфигурация по умолчанию в Ubuntu - НЕ регистрировать логины ssh в
/var/log/auth
файле. ЭтоINFO
уровень ведения журнала.Если вы хотите, чтобы он включал попытки входа в систему в файле журнала, вам нужно отредактировать
/etc/ssh/sshd_config
файл (как root или с помощью sudo) и изменить значениеLogLevel
сINFO
на наVERBOSE
.После этого перезапустите демон sshd с помощью
После этого попытки входа по ssh будут зарегистрированы в
/var/log/auth.log
файле.источник
Я рекомендую использовать AuditD . Это ведение журнала с использованием подсистемы аудита ядра Linux и, на мой взгляд, правильный способ сделать это, если вы серьезно. И учитывая природу вопроса, связанного с безопасностью, вы также должны использовать PAM . На уровне по умолчанию, в котором установлены только audd и PAM , вы должны автоматически получать все успешные и неудачные попытки SSH, зарегистрированные в вашем файле audit.log. Таким образом, вам действительно не нужно ничего настраивать, просто установите audd и PAM . Я знаю это из первых рук для SLES. И поспорим, что RHEL и любая другая корпоративная версия linux будут работать аналогично.
http://manpages.ubuntu.com/manpages/precise/man8/auditd.8.html
в необработанном журнале аудита, сгенерированном Auditd, вы можете использовать что-то вроде
aureport
фильтрации, описанное на страницах руководства audd , написать собственный анализатор текста или просто использовать VI и искать ключевые слова.Вот исключение моего
/var/log/audit/audit.log
файла со мной на моем сервере Linux.date --date @1480622612.317
что приводитThu Dec 1 15:03:32 EST 2016
и когда я ssh'd на моем сервере.Когда
res=failed
вы хотите исследовать эти ip-адреса и имена хостов, чтобы увидеть, какие системы пытались подключиться и под каким именем пользователя. И, очевидно, успешный ssh пытается понять, что происходит в вашей системе - например, ваш коллега Боб, который ежедневно сидит за одним столом с hostname = bobscomputer и ip address = 192.168.5.5; если вы видите вчера успешную попытку ssh в 2 часа ночи под его именем пользователя с ip-адреса 10.10.5.6, то, возможно, в ваших интересах поговорить с Бобом, чтобы выяснить это. Возможна ли попытка взлома кем-то еще? И вскоре после этого su пытается получить root-права в журнале аудита из учетной записи Боба?когда вы видите повторяющиеся
res=failed
иauid=0
иacct=root
затем , что кто - то пытается SSH в ваш ящик в корневой учетной записи, и при изменении/etc/hosts.deny
с этим IP - адресом для SSHD.источник
Я знаю, что это старый, но я написал что-то для мониторинга успешных и неудачных соединений / попыток ssh. А также забаненные IP-адреса, если вы используете sshguard. Программное обеспечение написано на Python. Он отправит вам электронное письмо, когда кто-то успешно подключится через ssh, когда кто-то неправильно введет пароль ssh или кто-то забанен из-за множества неудачных попыток. Надеемся, что это поможет кому-то в будущем, кто ищет эту проблему и находит мой код!
Для скрипта на python я написал скрипт bash для мониторинга процесса. Он проверяет, работает ли он каждую минуту с помощью задачи root cron. Если он не запущен, запускается другой процесс. Который вызывается задачей root cron каждую минуту.
источник
Лучшее, что я когда-либо сталкивался при ведении журнала команд SSH, это то, что этот инструмент позволяет администратору получать каждую команду от каждой сессии с широким уровнем ведения журнала.
Я написал скрипт для установки и настройки ROOTSH в Ubuntu и CentOS / RHEL
скачать с github вот ссылка
источник