Узнать кто подключался по ssh
Перейти к содержимому

Узнать кто подключался по ssh

  • автор:

Форум русскоязычного сообщества Ubuntu

Страница сгенерирована за 0.165 секунд. Запросов: 26.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Как посмотреть текущие SSH подключения?

хотя показаны две строки, но, фактически, это одно соединение к локальному компьютеру ( 10.0.0.1 , порт 22 ( ssh )) с удалённого ( 10.0.0.2 , порт 59964). просто процесс sshd, выполняющийся от имени root, создал дочерний процесс, но уже от имени alice.

пояснения (см. $ man lsof ):

  • -n — не пытаться преобразовывать ip-адреса в доменные имена (может значительно ускорить работу)
  • -a — применить логическую операцию «и» («and»)
  • -itcp — показать tcp-сокеты
  • -stcp:established — показать tcp-сокеты, находящиеся в состоянии «established»
  • -c sshd — показать процессы, запущенные из бинарных файлов, имена которых начинаются строкой sshd

почему два фильтры -itcp и -c sshd вместо одного -itcp:22 ?

потому что в этом случае в вывод попадут и процессы ssh, запущенные локально и подключившиеся к 22-ым портам каких-нибудь машин. к тому же, в случае, если ваш sshd слушает и/или порт(ы), отличный(е) от 22-го, то такие соединения просто не попадут в вывод.

как узнать ip входившего по ssh?

где в системе он мог засветиться? где-то сохраняются ип адреса входивших по ssh?

amalincom
06.05.15 19:28:32 MSK

# last 
cat /var/log/auth.log 

ktk ★★★★
( 06.05.15 19:30:19 MSK )
Ответ на: комментарий от ktk 06.05.15 19:30:19 MSK

Если у злоумышленника уже есть рут, то это не поможет. Единственный вариант это ставить систему с нуля

at ★★
( 06.05.15 19:36:25 MSK )

обычно логи пишутся в /var/log/auth.log

Harald ★★★★★
( 06.05.15 19:40:09 MSK )
Ответ на: комментарий от ktk 06.05.15 19:30:19 MSK

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

pavel38 ★
( 06.05.15 19:40:27 MSK )

добавлю пять копеек про смс по логину, очень удобно.

conalex ★★★
( 06.05.15 21:25:26 MSK )
Ответ на: комментарий от conalex 06.05.15 21:25:26 MSK

а как именно? просто в .bashrc прописать скрипт, шлющий письмо/смс?

amalincom
( 06.05.15 22:09:23 MSK ) автор топика
Ответ на: комментарий от amalincom 06.05.15 22:09:23 MSK
conalex ★★★
( 06.05.15 22:15:38 MSK )
Ответ на: комментарий от at 06.05.15 19:36:25 MSK

Если у злоумышленника уже есть рут, то это не поможет. Единственный вариант это ставить систему с нуля

ну это само собой что не поможет. а вот про — «с нуля» не согласен категорически, достаточно контрольные суммы проверить и восстановить измененные файлы ну и слегка упороться по восстановлению картины проишедшего.

ktk ★★★★
( 06.05.15 22:21:38 MSK )
Ответ на: комментарий от ktk 06.05.15 22:21:38 MSK

проверка контрольных сумм покажет изменения в кротабе и исполняемые файлы в /tmp?

anonymous
( 06.05.15 22:28:21 MSK )
Ответ на: комментарий от anonymous 06.05.15 22:28:21 MSK

etc как и все конфиги по уму нужно в mercurial/git и т.д хранить.

/tmp, /var/tmp и т.д. вычищать, на остальные не связанные с бинарниками каталоги делать noexec.

ktk ★★★★
( 06.05.15 22:45:00 MSK )
Ответ на: комментарий от ktk 06.05.15 22:21:38 MSK

Мне проще переставить систему, чем считать контрольные суммы и т.д. Конфиги готовые, надо просто поставить пакеты из заранее известного списка

at ★★
( 07.05.15 20:27:29 MSK )
Ответ на: комментарий от at 07.05.15 20:27:29 MSK

Мне проще переставить систему, чем считать контрольные суммы и т.д. Конфиги готовые, надо просто поставить пакеты из заранее известного списка

ну да. случаи бывают разные, твой вариант тоже имеет право на жизнь.

ktk ★★★★
( 07.05.15 21:02:51 MSK )
14 июля 2015 г.

Файл /var/log/wtmp хранит информацию по сеансам, если его не поправил злоумышленник.

Прочитать его можно например таким скриптом:

#!/bin/bash perl -we ' @type=("Empty","Run Lvl","Boot","New Time","Old Time","Init","Login","Normal","Term","Account"); $recs = ""; while (<>) ; foreach (split(/(.)/s,$recs)) )(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)/s; if (defined $line && $line =~ /\w/) >print"\n" ' < /var/log/wtmp 

Актуально запретить вход по ssh от имени root, а команды запускать используя sudo.

Как проверить историю входа в Linux

Как проверить историю входа в Linux

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

Даже если у вас нет нескольких пользователей, кто-то, вероятно, пытался получить доступ к вашему серверу Linux. Поверьте нам, это может звучать странно, но в наши дни боты пытаются получить доступ к вашим серверам Linux. Не верите нам? Просто проверьте неудачные попытки входа на ваш сервер, чтобы увидеть, пытался ли кто-нибудь войти в вашу систему.

Позвольте нам показать вам, как просмотреть историю входа в Linux, чтобы вы знали, кто и откуда обращается к вашей системе.

Просмотр истории входа в Linux

Linux очень хорошо ведет журналы всего, что происходит в вашей системе. Вполне естественно, что он также хранит журналы о входе и попытках входа. Информация для входа хранится в трех местах:

  • /var/log/wtmp — Логи последних сеансов входа
  • /var/run/utmp — Журналы текущих сеансов входа
  • /var/log/btmp — Журналы неудачных попыток входа

Давайте посмотрим на эти вещи немного подробнее.

1. Просмотр истории всех зарегистрированных пользователей

Чтобы просмотреть историю всех успешных входов в систему, просто используйте команду last.

last

Вывод должен выглядеть следующим образом. Как видите, в нем перечислены пользователи, IP-адрес, с которого пользователь получил доступ к системе, дата и время входа в систему. pts/0 означает доступ к серверу через SSH.

alex pts/0 123.34.87.122 Wed Mar 14 15:32 still logged in root pts/0 123.34.87.122 Wed Mar 14 14:45 - 15:45 (01:00) servesha pts/0 125.20.97.117 Tue Mar 13 21:55 - 23:45 (01:50) admin pts/0 209.20.189.152 Tue Mar 12 10:11 - 14:27 (04:16) root pts/0 123.34.87.114 Mon Mar 10 17:23 - 19:34 (02:11) wtmp begins Mon Mar 5 23:22:10 2019

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

У вас может быть огромная история сеансов входа в систему, поэтому лучше передать вывод с помощью команды less.

2. Просмотр истории входа определенного пользователя

Если вы просто хотите просмотреть историю входа определенного пользователя, вы можете указать имя пользователя с помощью последней команды.

last

Вы увидите информацию для входа только выбранного пользователя:

last mustdie mustdie pts/0 125.20.97.117 Tue Mar 14 13:07 - 15:25 (02:17) mustdie pts/0 209.20.189.152 Tue Mar 13 13:32 - 13:38 (00:06) wtmp begins Mon Mar 5 23:22:10 2019

3. Отображать IP-адреса в истории входа вместо имени хоста

Вы не могли видеть это в предыдущем выводе, но по умолчанию последняя команда показывает имя хоста вместо IP-адреса пользователя. Если вы находитесь в подсети, вы, вероятно, увидите только имена хостов.

Вы можете принудительно отобразить IP-адреса ранее зарегистрированных пользователей с помощью опции -i.

last -i

4. Отображать только последние N логинов

Если у вашей системы хорошее время работы, возможно, ваша история входа будет огромной. Как мы упоминали ранее, вы можете использовать команду less или другие команды просмотра файлов, такие как head или tail.

Последняя команда дает вам возможность отображать только определенное количество истории входа.

last -N

Просто замените N на номер, который вы хотите. Вы также можете комбинировать его с именем пользователя.

5. Просмотр всех неудачных попыток входа на ваш сервер Linux

Теперь важная часть: проверка неудачных попыток входа на ваш сервер.

Вы можете сделать это двумя способами. Вы можете использовать последнюю команду с файлом журнала btmp:

last -f /var/log/btmp

или вы можете использовать команду lastb:

lastb

Обе эти команды дадут одинаковый результат. Lastb на самом деле является ссылкой на последнюю команду с указанным файлом.

root ssh:notty 92.63.104.221 Sat Mar 2 13:44 - 13:44 (00:00) root ssh:notty 188.120.252.89 Sat Mar 2 13:43 - 13:43 (00:00) root ssh:notty 188.120.252.89 Sat Mar 2 13:43 - 13:43 (00:00) root ssh:notty 188.120.252.89 Sat Mar 2 13:42 - 13:42 (00:00) bublick7 ssh:notty 188.120.252.89 Sat Mar 2 13:42 - 13:42 (00:00)

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

Вы должны проанализировать здесь и посмотреть, узнаете ли вы IP-адреса в журнале. Если было слишком много попыток входа в систему с определенного IP-адреса с пользователем root, возможно, кто-то пытается атаковать вашу систему с помощью брутфорса.

Вы должны развернуть Fail2Ban для защиты вашего сервера в таких случаях. Fail2Ban забанит такие IP-адреса с вашего сервера и тем самым предоставит вашему серверу дополнительный уровень защиты.

Заключение

Мы надеемся, что эта статья научит вас просматривать историю входа в Linux, и теперь вы можете использовать эти знания для лучшего управления и защиты вашей системы Linux.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *