Вытащить сеть или питание? (для создания корневого сервера)

Когда сервер становится рутированным (например, в такой ситуации), одна из первых вещей, которые вы можете решить сделать, - это локализация. Некоторые специалисты по безопасности советуют не вводить исправление немедленно и держать сервер в оперативном режиме до завершения криминалистической экспертизы. Эти советы обычно для APT. Другое дело, если у вас есть случайные нарушения в сценарии, так что вы можете решить исправить (исправить вещи) рано. Одним из шагов в исправлении является ограничение сервера. Цитата из ответа Роберта Моира - "отключить жертву от грабителей".

Сервер можно сдержать, потянув сетевой кабель или кабель питания.

Какой метод лучше?

Принимая во внимание необходимость:

  1. Защита жертв от дальнейшего ущерба
  2. Выполнение успешной экспертизы
  3. (Возможно) Защита ценных данных на сервере

Изменить: 5 предположений

Предполагая, что:

  1. Вы обнаружили рано: 24 часа.
  2. Вы хотите восстановить рано: 3 дня 1 системного администратора на работе (криминалистика и восстановление).
  3. Сервер не является виртуальной машиной или контейнером, способным сделать снимок, фиксирующий содержимое памяти сервера.
  4. Вы решили не пытаться преследовать по суду.
  5. Вы подозреваете, что злоумышленник может использовать какое-либо программное обеспечение (возможно, сложное), и это программное обеспечение все еще работает на сервере.

10 ответов

Решение

Если вы сталкиваетесь с APT, то лучше всего настроить honeypot и тщательно исследовать весь трафик, который поступает в него и из него, в дополнение к мониторингу сервера.

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

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

Следовательно:

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

Если вы не проводите анализ памяти, то лучше всего отключить шнур питания - отключение Ethernet (или использование команды выключения) только предупредит программное обеспечение злоумышленника, что иногда имеет значение.

Так:

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

Экспертиза ОЗУ (например, /dev/shm) может быть полезна.

Но я предпочитаю отключать кабель питания (но попробуйте войти и rsync /proc прямо перед этим).

Причины перехода на кабель питания:

  1. Когда вы проводите судебную экспертизу в взломанной системе, вы "переступаете через все место преступления"
  2. Корневой комплект продолжает работать - для злоумышленника не так сложно выполнить что-либо (например, очистку системы) в случае события Network Link Down.

Кайл Ранкин выступил с прекрасным вступлением к судебной экспертизе - там он рекомендует тянуть кабель питания.

Отключить сеть. Злоумышленник не может получить дополнительную информацию, если нет сетевого подключения. Очень сложно (читай: невозможно) без судебной экспертизы.

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

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

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

Это не или / или ситуация. Как правило, вы хотите сделать и то и другое - вы хотите выполнить определенную экспертизу (дамп запущенных процессов, сокеты прослушивания, файлы в /tmp и т. Д.) В системе, которая была удалена из сети, а затем выполнить оставшуюся диагностику из безопасного окружение (т.е. живой CD). Однако существуют ситуации, когда ни один из подходов не является правильным, и вам нужно подумать и понять, что это может быть за ваша организация.

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

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

Ответ во многом зависит от того, что вы подразумеваете под "укоренившимся". Выделение сетевого лидера обычно является хорошей идеей, особенно если вы считаете, что это был активный злоумышленник, который ищет секретную информацию.

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

В целом, это зависит от того, имеете ли вы дело со злонамеренным кодом, недовольным персоналом или кем-то с определенной целью.

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

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

Мой ответ был до редактирования с 5 предположениями.
Я предположил, что если ваш сервер получил root, вы имеете дело с искушенным, целенаправленным злоумышленником, и у вас нет возможности узнать, когда и откуда произошла атака. (Так как машина была рутирована, очевидно, вы не можете доверять тому, что она говорит вам. Однако вы можете иметь некоторую нестандартную информацию, например, IDS...)
Я также предположил, что вы заинтересованы в том, чтобы иметь дело со своим нападающим, а не просто отмахиваться от него, как надоедливая муха. Если предполагаемый злоумышленник является сценаристом, это было бы иначе. Я также предположил, что, поскольку злоумышленник нацелен и искушен, вполне вероятно, что на вашем компьютере запущено специальное программное обеспечение, которое может реагировать на ваши действия на нем...


Ни.
Проверьте https://security.stackexchange.com/q/181/33, в любом случае это плохая идея.
Это все равно, что дать пару повязок черному рыцарю... слишком мало, слишком поздно, это не сильно поможет.


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

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

Что вам лучше делать:

  • Оставьте сервер включенным и работающим...
  • Изолируйте его от остальной части вашей внутренней сети, других серверов и т. Д., Но лучше всего подключить какую-то симуляцию, чтобы она выглядела подключенной.
  • Спокойно запускайте анализ в реальном времени / сеть, выполняйте трассировку и т. Д.
  • Попробуйте выяснить степень и длину ущерба (очевидно, он другой, если он произошел 2 часа назад или 2 месяца назад).
  • Продолжайте оттуда... Только после уменьшения фактического ущерба, продолжайте и уберите это.
  • Конечно, не забывайте исследовать коренные причины и применять любые средства контроля, чтобы избежать повторения...

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

Затем восстановите систему с последней резервной копии, которая не была загрязнена. Проверьте это контрольными суммами, если это возможно. Также можно переустановить программное обеспечение с установочного носителя и перенастроить. Изменение конфигурации должно быть автоматическим, если вы использовали Puppet или cfEngine для настройки вашего сервера.

Перезагрузите пользовательские данные и сканируйте компоненты корневого набора. Убедитесь, что в каталогах данных нет программ setuid или setgid.

Определите и закройте метод доступа, используемый для заражения системы. Этап реактивации сервера, позволяющий проверить работоспособность приложений, как ожидалось. Тщательно следить за новыми попытками заражения.

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

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

Другие вопросы по тегам