как узнать 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.
Как узнать IP-адреса площадки?
Иногда бывает необходимо определить IP адреса, по которым отвечает сайт, если, к примеру, зона домена поддерживается на сторонних NS серверах, и в них указана неверная информация. В этом случае при обращении к сайту будет выдаваться страница ошибки с сообщением о том, что указанный виртуальный сервер не существует. Чтобы исправить это, нужно узнать и прописать корректные IP адреса на NS серверах, осуществляющих поддержку зоны.
Виртуальный хостинг masterhost построен по двухуровневой схеме. Каждая площадка обслуживается backend-сервером, на котором непосредственно расположен контент площадки, SSH- и FTP-сервисы, и несколькими frontend-серверами, которые обрабатывают HTTP-запросы к веб-сайтам. В данном случае необходимо узнать IP адреса frontend-серверов.
Проще всего узнать адреса кроссплатформенной утилитой nslookup, в ОС семейства Windows она доступна из сеанса командной строки, в UNIX-подобных ОС доступна через терминал.
Пример использования в Windows:
nslookup domain.tld ns1.masterhost.ru
Ответом будет являться:
Server: ns1.masterhost.ru Address: 217.16.16.30 Name: domain.tld Addresses: 90.156.201.24 90.156.201.43 90.156.201.50 90.156.201.88
Первые две строки (Server и Address) говорят о DNS-сервере от которого получен ответ, третья строка (Name) - имя запрашиваемого домена, последние строки (Addresses) - адреса frontend-серверов, отвечающих за запросы по протоколу HTTP к веб-сайту под нужным доменом. В POSIX-совместимых ОС синтаксис команды аналогичен, ответ будет представлен в похожем виде:
Server: ns1.masterhost.ru Address: 217.16.16.30#53 Name: domain.tld Address: 90.156.201.88 Name: domain.tld Address: 90.156.201.24 Name: domain.tld Address: 90.156.201.43 Name: domain.tld Address: 90.156.201.50
Полученные в ответе IP адреса и будут являться действующими адресами, по которым отвечает ваш сайт. При необходимости их можно указать в качестве А-записей в зоне DNS для вашего домена.
Как узнать IP адрес, используя командную строку Linux
Раньше для просмотра текущих сетевых интерфейсов и их параметров (включая IP-адреса), использовалась команда ifconfig. Но она уже несколько лет как устарела, и в современных дистрибутивах Linux не поддерживается.
Вместо ifconfig рекомендуется использовать команду ip
Определяем IP-адрес командой ip
Чтобы определить IP-адрес вашего сетевого интерфейса можно использовать команду ip address (или эквивалентный вызов ip addr или просто ip a ).
ip address 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp2s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:24:1d:83:da:25 brd ff:ff:ff:ff:ff:ff inet 192.168.2.2/24 brd 192.168.2.255 scope global dynamic noprefixroute enp2s0 valid_lft 76434sec preferred_lft 76434sec inet6 fe80::1f6e:e0e4:27d1:e643/64 scope link noprefixroute valid_lft forever preferred_lft forever
В результате выполнения команды на экран будет выведен список текущих сетевых интерфейсов и их параметры. Первый интерфейс в списке обычно lo — это loopback интерфейс (нас он сейчас не интересует). Нас интересует Ethernet-интерфейс или WiFi-интерфейс (в зависимости от того, какое у вас подключение).
Ethernet интерфейсы обычно имеют имена вида enp2s0 или eth0, а WiFi-интерфейсы имеют имена вида wlp2s0 или wlan0 (цифры в названии могут отличаться).
Найдите интересующий вас интерфейс в списке. Его IP-адрес выводится на строке inet ..
В нашем примере это inet 192.168.2.2/24 . 192.168.2.2 — это IP-адрес. 24 — это маска подсети, соответствующая маске 255.255.255.0.
Определяем IP-адрес командой hostname
Воспользуемся командой hostname , чтобы вывести IP-адрес. Используем ключ -I
hostname -I
Команда выводит все сетевые адреса хоста (системы), кроме loopback интерфейса. Если у вас всего одно сетевое соединение, то, скорее всего, будет выведен один IP-адрес.
Через графическую утилиту
Хотя эта заметка рассматривает способы определения IP-адреса через командную строку, иногда проще посмотреть текущий IP-адрес через графические программы. В Ubuntu Linux это можно сделать в Параметрах системы в разделе Сеть .
Как в ssh узнать ip адрес, с которого установлено текущее соединение?
После того как подключился к ssh, через какую команду можно узнать ip адрес с которого установлено текущее подключение? Т.е. мне нужно узнать, подключился ли я к ssh через VPN и скрыл свой реальный ip или трафик идет напрямую.
Отслеживать
задан 5 дек 2016 в 11:46
31 1 1 серебряный знак 2 2 бронзовых знака
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
согласно man ssh имеется такая переменная окружения:
SSH_CONNECTION Identifies the client and server ends of the connection. The variable contains four space-separated values: client IP address, client port number, server IP address, and server port number.
$ echo $SSH_CONNECTION 192.168.0.123 41412 192.168.0.1 22
первый ip — это и есть адрес клиента (с точки зрения демона sshd , который и добавляет эту переменную в окружение запускаемой в результате подключения программы, обычно — оболочки).
несложной операцией этот адрес можно отделить от остального содержимого переменной. например:
$ echo $SSH_CONNECTION | cut -d ' ' -f 1 192.168.0.123