LINUX.ORG.RU
ФорумAdmin

Как понять, что к серверу подключились извне по ssh (и еще вопросы внутри)?

 


0

1

Есть auth.log – он может помочь?

Про мониторинг Линукс-серверов я слышал.

Но, допустим, что я просто захожу на сервер Линукс. Передо мной консоль.

Как я могу:

  1. Определить, что кто-то еще кроме меня залогинен на машине и паралелльно «работает»?

netstat -tulpan | grep ssh – так, что ли? Сомневаюсь, что это 100% способ увидеть кого-то еще. Ведь по ssh могут и службы коннектится. Правда, у служб юзер может быть другой…

  1. Как посмотреть, что какая-то программа или скрипт отсылает трафик наружу? То есть, посмотреть сетевую активность, которая происходит на сервере за моей спиной.

Или книги нормальные посоветуйте, плиз.

tcpdump ?

Если да, то как ей пользоваться? Я tcpdump пинги смотрел – пингую сервер извне, и вижу, что сервер пингуют. Остальное как смотреть, чтоб удобно было?

  1. Какие логи перво-наперво заслуживают мониторинга, если Линуксовая машина – это веб-сервер, на котором nginx, mySql, nodejs? Мониторинг логов на проникновение извне – для этого.

В интернете, в книгах – я не нахожу нормальной информации. Есть копипаста про cd, ls, ... А именно нормальных приемов по работе с Линуксом я не вижу.

Вот пример информации про Докер, которую я считаю ценной: https://www.youtube.com/watch?v=t4PEoHAvf1A&ab_channel=%D0%B4%D0%B5%D0%B2%D0%BE%D0%BF%D1%81%D0%B8%D0%BC%D0%BF%D0%BE%D1%82%D0%B8%D1%85%D0%BE%D0%BD%D1%8C%D0%BA%D1%83

Это именно «Докер под капотом», а не, как справедливо говорит автор в видео «Копипаста про docker run».

Перемещено hobbit из general



Последнее исправление: truebin (всего исправлений: 2)
Ответ на: комментарий от slowpony

Не, а может получится, что другой сервер периодически коннектится по ssh?

Что это не человек, а сервер.

И я про активность на сервере интересуюсь: что кто-то подключается по ssh, и свободно делает дела.

Так вопрос: как увидеть эти дела?

truebin
() автор топика
Ответ на: комментарий от pavel_l

Почему я залогинился на сервер, и по команде w вижу три записи, а не одну?

 09:09:29 up 16:50,  4 users,  load average: 0.05, 0.04, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU  WHAT
chlen             <external_ip>    09:09   16:25m  0.00s  0.03s sshd: chlen [priv]
chlen             <external_ip>    09:09   16:25m  0.00s  0.02s sshd: chlen [priv]
chlen             <external_ip-2>    05:54   16:25m  0.00s  0.02s sshd: chlen [priv]

Че, 3 Члена в сервере? А почему не 1 Член? Три смыка дерут сервак…

Как интерпретировать этот вывод?

truebin
() автор топика
Последнее исправление: truebin (всего исправлений: 1)
Ответ на: комментарий от truebin

Не, а может получится, что другой сервер периодически коннектится по ssh?

Может, но флага «Человек» в ssh не предусмотрено не было, когда я в последний раз проверял. Терминал может аллоцировать кто угодно, (также кто угодно может его не аллоцировать), по ключу может ходить кто угодно, баннер может послать кто угодно какой угодно. Видимо надо уточнить термин «человек» и танцевать отсюда?

slowpony ★★★★★
()
Ответ на: комментарий от slowpony

Хорошо.

Как мониторить события на сервере? Что произошли изменения в файлах. Заббикс умеет делать такое?

И про трафик с/на сервер – как понимать, что кто-то чужой юзает сеть?

truebin
() автор топика

посмотри какие ключи прописаны в authorized_keys.
если надо никого лишнего пускать на сервер под ssh - удали все ключи кроме твоего.
фсё… профит.

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

pfg ★★★★★
()
Ответ на: комментарий от truebin

Как мониторить события на сервере? Что произошли изменения в файлах

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


И про трафик с/на сервер – как понимать, что кто-то чужой юзает сеть?

Начать с определния того что для тебя «чужой». Или хотя бы «свой». Без этого не получится.

slowpony ★★★★★
()
Ответ на: комментарий от slowpony

Хорошо.

Как мониторить события на сервере? Что произошли изменения в файлах. Заббикс умеет делать такое?

И про трафик с/на сервер – как понимать, что кто-то чужой юзает сеть?

Или вот еще случай. Докер запущен на сервере. 2 сетевые на сервере – для локальной сети и для интернета.

Порт нжиникса, который запущен в контейнере, прокинут в локалхост.

Так я делаю на локалхосте (к сетевой карте)

telnet 192.168.3.102 80
Connecting ...

И не подключаюсь.

Файрволл полностью отключен.

А так работает

telnet 127.0.0.1 80
;)
Press ^] for goto nah

И страница нжиникса так же открывается на другом ПК из локальной сети.

Почему телнет 1) не работает?

  1. Какой лог можно в таком случае посмотреть? – этот вопрос особенно меня интересует.
truebin
() автор топика
Последнее исправление: truebin (всего исправлений: 2)

Определить, что кто-то еще кроме меня залогинен на машине и паралелльно «работает»?

Штатно - w. Можно systemd покопать, там есть механизм сессий, наверняка можно его поспрашивать.

Как посмотреть, что какая-то программа или скрипт отсылает трафик наружу? То есть, посмотреть сетевую активность, которая происходит на сервере за моей спиной.

Надёжно - только на роутере, через который твой компьютер подключён к интернету. А так - tcpdump, конечно, если считать, что машина не скомпрометирована. Но там будет много всего, чтобы это разобрать и отфильтровать, придётся потратить какое-то время. Это без привязки к pid. Если тебе именно по pid надо - можешь попробовать strace, вроде там что-то подобное было.

Если да, то как ей пользоваться?

man tcpdump?

Какие логи перво-наперво заслуживают мониторинга, если Линуксовая машина – это веб-сервер, на котором nginx, mySql, nodejs? Мониторинг логов на проникновение извне – для этого.

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

Какого-то простого способа нет. Если «хакер» заходит по ssh, то будет запись в /var/log/wtmp вроде бы, есть utmpdump для его парсинга.

Но если твой сервер взломали через удаленное выполнение кода, никаких записей нигде не будет. Такое определяется только по косвенным признакам, по необычной активности. И для этого нужны специальные системы, в которых кто-то уже вбил тысячи фильтров для выявления этой необычной активности.

Такие специальные системы, если что, называются Intrusion Detection System (IDS), стоят много денег и вообще это отдельная большая индустрия. А ещё более актуальны Intrusion Prevention System, это как IDS, только предполагается, что она срабатывает чуть раньше, чем тебя взломали и предотвращает взлом.

В интернете, в книгах – я не нахожу нормальной информации. Есть копипаста про cd, ls, … А именно нормальных приемов по работе с Линуксом я не вижу.

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

Можешь почитать документацию по fortigate, например.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)

/var/log/auth.log там строчки типа

xxxxxx:xxx xx xx:xx:xx xxx sshd[xxxxxx]: Accepted password for xxx from xxx.xxx.xxx.xxx port xxxx ssh2

Хотя сейчас всё уже могло поменяться, у меня он пуст, доступ к пекарне по ссх выкл

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от slowpony

О, кстати, про Битрикс я вспомнил.

Накидали (походу боты) php-скриптов в папку сайта на Биртиксе, а на порно-сайты редиректится сайт.

Вот как они могли накидать скриптов? Через какую дыру кидали?

Я против порно ничего не имею, но всему свое место.

truebin
() автор топика
Ответ на: комментарий от truebin

какую дырку оставил - такую и нашли.
мамкиных хаккиров, ищущих по сети известные дырки стандартными средствами чуть больше чем до пупа. ну и ссылки на порно тому подтверждение. проффесионалы клиента бот-сети бы поставили и дальше бы пошли :)

pfg ★★★★★
()
Ответ на: комментарий от pfg

Может ты знаешь ответ на этот вопрос?

Как понять, что к серверу подключились извне по ssh (и еще вопросы внутри)? (комментарий)

Про телнет.

truebin
() автор топика
Последнее исправление: truebin (всего исправлений: 1)
Ответ на: комментарий от truebin

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

предположу в самом сервере телнета стоит ограничение по IP входящих соединений. т.е. входящие от диапазона 127.0.0.0/8 (а это localhost) допускаются, как подключение от своего же компутера. остальные адреса сам же telnet и откидывает.

если хочешь узнать как через php вскрывают сайты, то погугли - статей море :) какая-то из кучи дырок вполне возможно оказалась в твоем php-движке.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 3)
Ответ на: комментарий от truebin

В битриксе периодически находят дыры. Если так не повезло и есть важный сайт на нём, надо подписаться на security рассылку хотя бы хостера, им это невыгодно зафакапленные виртуалки у себя долго держать, в спамлист попасть сложно, вылезти сложнее.

Dimez ★★★★★
()
Ответ на: комментарий от truebin

Как мониторить события на сервере? Что произошли изменения в файлах.

https://packages.altlinux.org/ru/sisyphus/srpms/osec/

И про трафик с/на сервер – как понимать, что кто-то чужой юзает сеть?

ipt_netflow + nfdump наверное.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от pfg

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

там вопрос про веб-сервер (nginx). ТС на 80 порт через telnet клиент подключается (Как понять, что к серверу подключились извне по ssh (и еще вопросы внутри)? (комментарий))

MirandaUser2
()