Что делает этот сервер?

13

У меня есть куча виртуальных серверов Linux, оставшихся от предыдущего ИТ-отдела. У них есть названия, такие как «магия» или «вещи». Я не совсем уверен, что они делают ... или если они мне нужны ...

Как бы вы, ребята, пошли узнать о назначении этих машин? (кроме того, чтобы выключить их и посмотреть, что ломается)

blsub6
источник
2
У вас есть учетные данные для входа на эти машины?
Skyhawk
У меня есть полномочия, чтобы делать то, что мне нужно для машин
blsub6
9
Абсолютно бесполезный комментарий, но название этого вопроса сделало бы отличное игровое шоу.
Мэтт Симмонс

Ответы:

20

Пара мест для начала:

  • Слушающие сервисы ( netstat) - это должно, вообще говоря, дать вам хорошее представление о том, что происходит с системой.
  • /root/.bash_history (или других пользователей, если они не использовали root) - все, что происходит на консоли, в идеале будет связано с назначением системы.
  • /var/log - взгляните на стандартные журналы и найдите что-нибудь связанное с приложением.
  • Установленные пакеты - это относится к дистрибутиву linux, на котором они работают, но если есть логи, посмотрите. /var/log/dpkg.log, /var/log/yum.logИ т.д.
Шейн Мэдден
источник
2
Другие вещи , чтобы посмотреть на это хрон рабочих мест (как система /etc/crontabи /etc/cron.*и для каждого пользователя рабочих мест)
DerfK
1
а как насчет ps uaxwили top, чтобы увидеть, что происходит? :)
KARASZI István
12

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

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

Chopper3
источник
4
+1 - Единственный способ узнать, какие сервисы запущены, это отключить. У моей последней работы был «сервер печати» Windows NT4, который работал спустя годы после его смерти. В тот день, когда он был выключен, сломалась целая куча вещей, о которых никто не подозревал.
voretaq7
1
Задержи их и подожди. И после того, как прошло два месяца, и какой-то случайный пользователь жалуется, что общий ресурс, ярлык или что-то еще не работает (но это сработало!), Включите их.
Адамо
5
@adamo ... на мгновение перенести данные / функциональные возможности на распознанную поддерживаемую машину / виртуальную машину, а затем снова отключить.
Chopper3
7

Я был удивлен, увидев, что первый предложенный ответ не был ps -ef, поэтому я добавлю его: если вы хотите знать, что система делает прямо сейчас , прочитайте список процессов, уделив особое внимание тому, что такое root, и существуют ли процессы, принадлежащие явно названным пользователям (mysql, named и т. д.).

Затем я сравнил бы мой список процессов с lsofзапуском от имени пользователя root, чтобы увидеть, какие процессы прослушивают в сети, а какие хранят открытые файлы. Как правило, это дает вам довольно хорошее представление о длительных процессах на блоке, которые обычно являются его основной функцией.

Заметные исключения включают в себя почту - смотрите локальный системный журнал и mailqподробности о том, что обрабатывает sendmail - и сервисы запуска по требованию inted-типа, для которых /etc/xinetd.confэто хорошая ставка, по крайней мере, для самых последних Linux-систем на базе Redhat.

Надеюсь, это поможет; дайте нам знать, если вы столкнетесь с чем-то конкретным, мы можем помочь определить!

Джефф Альберт
источник
+1 за lsof. lsof -iможет быть вашим лучшим другом в этих ситуациях.
Брайан
1

Я бы начал с того, чтобы посмотреть, какие службы запущены ... Затем попытаться сопоставить их с тем, что они предоставляют. Ни при каких обстоятельствах НЕ отключайте то, о чем вы даже не подозреваете, потому что вы можете сломать то, что он выполняет, если его критическая задача (если это путь, по которому вы умираете, остановите их) ... Вы также должны проверить посмотрите, есть ли какая-либо документация.

Иаков
источник
1

О, дорогой, это весело.

Ты хоть представляешь, для чего они используются? Можете ли вы сузить это до «они были использованы для сетевых служб», или это действительно может быть что-то вообще?

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

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

Вы можете получить подсказки, запросив известные сетевые службы - EG, DNS, LDAP и т. Д. Вы сможете найти список всех DNS-серверов для конкретной зоны, покопавшись в записях NS. Имейте в виду, что у вас может быть более длинный список записей NS, чем на самом деле активных DNS-серверов, но это даст вам отправную точку.

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

Удачи!

Джереми
источник
+1 за первое предложение, и я уверен, что мы все думаем, читая вопрос. :)
Джон Гарденье
0

Сканирование портов выявит любые доступные сети услуги

С сервера локально: nmap 127.0.0.1

Или вы можете сказать Nmap сканировать определенную подсеть / маску

sreimer
источник
2
Или даже просто netstat.
Джон Гарденье
0

Еще один аспект - посмотреть, что настроено для подключения к серверам. Если foozle.example.com настроен в почтовом клиенте генерального директора, это, вероятно, почтовый сервер. FTP-клиенты, вероятно, указывают на какой-либо веб-сервер. И т. Д.

Уайетт Барнетт
источник
Хотя это сработает, проблема заключается в том, что нужно проверять каждую другую машину и, возможно, даже каждую учетную запись пользователя на этих машинах, а не только целевые машины.
Джон Гарденье
Не совсем - если это на самом деле серверы, проверка образца должна сказать вам, какова основная часть ящиков. Или, по крайней мере, общедоступный. Меня поражает, что вы также можете взглянуть на правила брандмауэра, чтобы охватить внешние доступные сервисы.
Уайетт Барнетт
0

ps -ef для процессов, netstat -a для прослушивания служб и tcpdump, чтобы увидеть, какой трафик идет туда-сюда, - отличные предложения. Кроме того, поскольку это Linux, есть хороший шанс, что запущен брандмауэр - проверьте правила, установленные для него, он должен дать вам хорошее представление о том, какие службы предполагается использовать на этом хосте и на удаленных хостах, к которым этот хост подключается. , например, iptables --list Конечно, что такое брандмауэр, есть еще одна вещь, которую нужно проверить, попробуйте lsmod для поиска модулей брандмауэра и проверьте / var / log

Боб Т
источник