Вопрос: Как я могу работать с взломанным сервером?


Это Канонический вопрос о безопасности сервера - ответ на события нарушения (взлом)
  Смотрите также:

Каноническая версия
Я подозреваю, что один или несколько моих серверов скомпрометированы хакером, вирусом или другим механизмом:

  • Каковы мои первые шаги? Когда я прихожу на сайт, я должен отключить сервер, сохранить «доказательство», есть ли другие исходные соображения?
  • Как мне обратиться за услугами обратно в Интернет?
  • Как я могу предотвратить одно и то же событие сразу?
  • Существуют ли передовые методы или методики для изучения этого инцидента?
  • Если бы я хотел вместе составить план реагирования на инциденты, с чего бы начать? Должно ли это быть частью моего планирования аварийного восстановления или планирования непрерывности бизнеса?

Оригинальная версия 

2011.01.02 - Я нахожусь в работе в 9.30. в воскресенье, потому что наш сервер был каким-то образом скомпрометирован и в результате    DOS атакуйте нашего провайдера. Доступ к Интернету через Интернет   был закрыт, что означает, что более 5-600 наших сайтов клиентов теперь   вниз. Теперь это может быть взлом FTP или некоторая слабость в коде   где-то. Я не уверен, пока не доберусь туда.

Как я могу отслеживать это быстро? У нас много   если я не верну сервер обратно как можно скорее. Любая помощь   оценили. Мы запускаем Open SUSE 11.0.


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

Мы отключили сервер от сети. Он выполнял (пытается   выполнить) атаку Denial Of Service на другом сервере в Индонезии,   и там была основана и виновная сторона.

Сначала мы попытались определить, где на сервере это происходит,   учитывая, что у нас более 500 сайтов на сервере, мы ожидали, что   подрабатывать в течение некоторого времени. Однако, несмотря на доступ к SSH, мы   команда, чтобы найти все файлы, отредактированные или созданные во время атак   начал. К счастью, оскорбительный файл был создан за зиму   праздники, что означало, что не так много других файлов были созданы на   сервер в это время.

Затем мы смогли идентифицировать файл, который был   загруженных изображений в ZenCart Веб-сайт.

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

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

Работа была выполнена, и я был дома на 2 часа ночи.


Мораль   - Всегда применяйте исправления безопасности для ZenCart или любой другой системы CMS, если на то пошло. Поскольку при выпуске обновлений безопасности   мир осознает эту уязвимость.   - Всегда делайте резервные копии и создавайте резервные копии своих резервных копий.   - Используйте или организуйте для кого-то, кто будет там в такие моменты. Чтобы никто не мог полагаться на сообщение panics на сервере   Неисправность.


572
2018-01-02 21:31


Источник


Я знаю, как вы себя чувствуете - нам очень повезло с «полезными» хакерами на этом сайте, где они рассказывают нам, что они сделали! Я с нетерпением жду ответа на этот вопрос, на всякий случай, когда мы получим «не очень полезных» гостей в будущем. - Jarrod Dixon♦
Позвоните специалисту, чтобы помочь! - marcog
Я не хочу казаться умным или несимпатичным (я не являюсь), и, конечно, я не осведомлен о деталях вашей ситуации, но если вы единственный человек, ответственный за установку сайта 500-600, быть основным недостатком в том, как работает этот сервер. В некоторых компаниях задействован специальный системный администратор, который не делает ничего в течение всего дня, а обслуживает серверы - задача, которая не автоматически в пределах области программирования, хотя это может показаться таким образом. Возможно, это стоит подумать, когда кризис закончился. Во всяком случае, сейчас самое удачное решение проблемы. - Pekka 웃
Не обязательно предполагайте, что у вас есть полный набор корневого ядра и что ваш пароль root скомпрометирован. Возможно, это просто подлый сценарий bash / perl, и его можно очистить без образования, несмотря на то, что здесь есть хор-арфы ... serverfault.com/questions/639699/... - Hayden Thring


Ответы:


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

Не паникуйте

Во-первых, во-первых, нет «быстрых исправлений», кроме восстановления вашей системы из резервной копии, сделанной до вторжения, и это имеет как минимум две проблемы.

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

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

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

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

Вы только что узнали, что ваш сервер (ы) взломан. Что теперь?

Без паники. Абсолютно не спешите, и абсолютно не пытайтесь притворяться, что никогда не происходило и не действовало вообще.

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

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

Остановите проблему от ухудшения, чем она уже есть:

  1. Первое, что вам нужно сделать, это отключить затронутые системы из Интернета. Каковы бы ни были другие проблемы, если система, подключенная к сети, позволит продолжить атаку. Я имею в виду это буквально; заставить кого-то физически посещать сервер и отключать сетевые кабели, если это то, что требуется, но отключите жертву от своих грабителей, прежде чем пытаться сделать что-нибудь еще.
  2. Измените все свои пароли для всех учетных записей на всех компьютерах, находящихся в той же сети, что и скомпрометированные системы. Нет. Все счета. Все компьютеры. Да, вы правы, это может быть излишним; с другой стороны, это может и не быть. Вы не знаете в любом случае, не так ли?
  3. Проверьте другие системы. Уделите особое внимание другим службам, обращенным к Интернету, и тем, у кого есть финансовые или другие коммерчески чувствительные данные.
  4. Если в системе хранятся личные данные человека, немедленно сообщите об этом лицу, ответственному за защиту данных (если это не так), и НАПРЯЖИТЕ полное раскрытие. Я знаю, что это сложно. Я знаю, что это будет больно. Я знаю, что многие компании хотят охватить эту проблему под ковром, но бизнес должен будет справиться с этим - и это нужно делать с учетом любых и всех соответствующих законов о конфиденциальности.

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

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

Полностью понять проблему:

  1. НЕ помещайте затронутые системы обратно в сеть до тех пор, пока этот этап не будет полностью завершен, если вы не хотите быть тем человеком, чей пост стал решающим моментом для меня, фактически решая написать эту статью. Я не собираюсь ссылаться на этот пост, чтобы люди могли смеяться дешево, но настоящая трагедия - это когда люди не могут учиться на своих ошибках.
  2. Изучите «атакуемые» системы, чтобы понять, как атаки удались скомпрометировать вашу безопасность. Приложите все усилия, чтобы узнать, откуда происходят атаки », чтобы вы поняли, какие проблемы у вас есть, и вам нужно обратиться, чтобы сделать вашу систему безопасной в будущем.
  3. Изучите «атакуемые» системы еще раз, на этот раз, чтобы понять, куда пошли атаки, чтобы вы поняли, какие системы были скомпрометированы в атаке. Убедитесь, что вы следите за указателями, которые предполагают, что скомпрометированные системы могут стать трамплином для дальнейшей атаки на ваши системы.
  4. Убедитесь, что «шлюзы», используемые при любых атаках, полностью понятны, чтобы вы могли начать их правильно закрывать. (например, если ваши системы были скомпрометированы атакой SQL-инъекции, то вам не только нужно закрыть конкретную ошибочную строку кода, в которую они вошли, вы бы хотели проверить весь свой код, чтобы узнать, не ошибся ли тот же тип ошибки был сделан в другом месте).
  5. Поймите, что атаки могут быть успешными из-за нескольких ошибок. Часто атакам удается не найти одну серьезную ошибку в системе, а навязать несколько проблем (иногда незначительных и тривиальных сами по себе), чтобы скомпрометировать систему. Например, при использовании SQL-инъекций для отправки команд на сервер базы данных обнаружение атакующего веб-сайта / приложения выполняется в контексте административного пользователя и использование прав этой учетной записи в качестве шага для компрометации других частей система. Или как хакеры любят называть это: «Еще один день в офисе, пользуясь распространенными ошибками, которые делают люди».

Почему бы не просто «восстановить» обнаруженный эксплойт или руткит и вернуть систему обратно в сеть?

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

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

Сделайте план восстановления и верните свой веб-сайт онлайн и придерживайтесь его:

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

Однако не поддавайтесь соблазну слишком быстро вернуться в Интернет. Вместо этого переместите как можно быстрее, чтобы понять, что вызвало проблему, и решить ее до того, как вы вернетесь в Интернет, иначе вы почти наверняка снова станете жертвой вторжения, и помните: «Чтобы получить взломанный один раз, можно классифицировать как несчастье; чтобы снова взломать сразу после этого выглядит как небрежность »(с извинениями перед Оскаром Уайльдом).

  1. Я предполагаю, что вы поняли все проблемы, которые привели к успешному вторжению в первую очередь, прежде чем вы начнете этот раздел. Я не хочу преувеличивать случай, но если вы этого не сделали, тогда вам действительно нужно. Сожалею.
  2. Никогда не платите деньги за шантаж / защиту. Это признак легкой метки, и вы не хотите, чтобы эта фраза когда-либо использовалась для описания вас.
  3. Не поддавайтесь соблазну вернуть один и тот же сервер (ы) в онлайн без полной перестройки. Скорее всего, нужно будет создать новую коробку или «вывести сервер с орбиты и выполнить чистую установку» на старом оборудовании, чем было бы проверять каждый угол старой системы, чтобы убедиться, что она чиста, прежде чем вернуть ее обратно онлайн снова. Если вы не согласны с этим, вы, вероятно, не знаете, что на самом деле означает, чтобы система была полностью очищена, или процедуры развертывания вашего сайта являются нечестивым беспорядком. Предположительно, у вас есть резервные копии и тестовые развертывания вашего сайта, которые вы можете использовать только для создания сайта в реальном времени, а если вы этого не сделаете, это не ваша самая большая проблема.
  4. Будьте очень осторожны с повторным использованием данных, которые были «живы» в системе во время взлома. Я не буду говорить «никогда не делай этого», потому что ты просто проигноришь меня, но, честно говоря, я думаю, что вам нужно учитывать последствия хранения данных, когда вы знаете, что не можете гарантировать его целостность. В идеале вы должны восстановить это из резервной копии, сделанной до вторжения. Если вы не можете или не будете этого делать, вы должны быть очень осторожны с этими данными, потому что это испорчено. Особенно вам следует знать о последствиях для других, если эти данные принадлежат клиентам или посетителям сайта, а не напрямую вам.
  5. Внимательно следите за системой (системами). Вы должны решить сделать это как непрерывный процесс в будущем (подробнее см. Ниже), но примите дополнительные усилия, чтобы быть бдительными в течение периода, сразу после вашего сайта, возвращающегося в Интернете. Злоумышленники почти наверняка вернутся, и если вы обнаружите, что они пытаются пробиться снова, вы, несомненно, сможете быстро увидеть, действительно ли вы закрыли все отверстия, которые они использовали, плюс все, что они сделали для себя, и вы можете собрать полезные информацию, которую вы можете передать своим местным правоохранительным органам.

Снижение риска в будущем.

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

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

Какие шаги вы можете предпринять, чтобы уменьшить вероятность успешной атаки?

Например:

  1. Был ли недостаток, который позволил людям проникнуть на ваш сайт, известную ошибку в коде поставщика, для которой был доступен патч? Если да, вам нужно пересмотреть свой подход к тому, как вы устанавливаете приложения на своих серверах, обращенных к Интернету?
  2. Был ли недостаток, который позволил людям проникнуть на ваш сайт неизвестной ошибкой в ​​коде поставщика, для которого патч не был доступен? Я, безусловно, не выступаю за изменение поставщиков, когда что-то вроде этого укусит вас, потому что у всех есть свои проблемы, и вы преодолеете платформы в течение года максимум, если вы примете такой подход. Однако, если система постоянно позволяет вам спуститься, вы должны либо перейти на нечто более надежное или, по крайней мере, перестроить свою систему, чтобы уязвимые компоненты оставались завернутыми в вату и как можно дальше от враждебных глаз.
  3. Был ли недостаток ошибкой в ​​коде, разработанном вами (или подрядчиком, работающим на вас)? Если да, вам нужно пересмотреть свой подход к тому, как вы одобряете код для развертывания на своем сайте? Может ли ошибка быть поймана с улучшенной тестовой системой или с изменениями в вашем стандарте кодирования (например, в то время как технология не является панацеей, вы можете уменьшить вероятность успешной атаки SQL-инъекций, используя хорошо документированные методы кодирования ).
  4. Был ли недостаток из-за проблемы с развертыванием сервера или прикладного программного обеспечения? Если да, используете ли вы автоматические процедуры для сборки и развертывания серверов, где это возможно? Это отличная помощь в поддержании согласованного «базового» состояния на всех ваших серверах, что сводит к минимуму количество пользовательской работы, которая должна выполняться на каждом из них, и, следовательно, мы надеемся, минимизируем возможность ошибки. То же самое происходит с развертыванием кода - если вам требуется что-то «специальное» для развертывания последней версии вашего веб-приложения, тогда постарайтесь его автоматизировать и убедиться, что это всегда выполняется согласованным образом.
  5. Может ли вторжение было обнаружено ранее с лучшим мониторингом ваших систем? Разумеется, 24-часовой мониторинг или система «по вызову» для вашего персонала могут оказаться неэффективными с точки зрения затрат, но есть компании, которые могут отслеживать ваши услуги в Интернете для вас и предупреждать вас в случае возникновения проблемы. Вы можете решить, что не можете позволить себе это или не нуждаетесь в нем, и это просто прекрасно ... просто учтите это.
  6. Используйте инструменты, такие как tripwire и nessus, где это необходимо, но не используйте их вслепую, потому что я так сказал. Потратьте время, чтобы узнать, как использовать несколько хороших инструментов безопасности, подходящих для вашей среды, регулярно обновлять эти инструменты и регулярно их использовать.
  7. Подумайте о том, чтобы нанимать экспертов в области безопасности для регулярной проверки безопасности вашего веб-сайта. Опять же, вы можете решить, что не можете позволить себе это или не нуждаетесь в нем, и это просто прекрасно ... просто учтите это.

Какие шаги вы можете предпринять, чтобы уменьшить последствия успешной атаки?

Если вы решите, что «риск» нижнего этажа вашего домашнего наводнения высок, но недостаточно высок, чтобы гарантировать перемещение, вы должны по крайней мере переместить незаменимые семейные реликвии наверху. Правильно?

  1. Можете ли вы уменьшить количество услуг, напрямую связанных с Интернетом? Можете ли вы сохранить какой-то разрыв между вашими внутренними услугами и услугами, связанными с Интернетом? Это гарантирует, что даже если ваши внешние системы будут скомпрометированы, вероятность использования этого в качестве трамплина для атаки на ваши внутренние системы ограничена.
  2. Вы храните информацию, которую вам не нужно хранить? Вы храните такую ​​информацию «в Интернете», когда ее можно архивировать где-то в другом месте. В этой части есть два момента; очевидным является то, что люди не могут украсть у вас информацию, которую у вас нет, и, во-вторых, чем меньше вы храните, тем меньше вам нужно поддерживать и кодировать, и поэтому шансов на ошибку ваш дизайн кода или систем.
  3. Используете ли вы принципы «наименьшего доступа» для своего веб-приложения? Если пользователям нужно только читать из базы данных, то убедитесь, что учетная запись, которую использует веб-приложение для обслуживания, имеет только доступ на чтение, не разрешает доступ на запись и, конечно, не доступ к системному уровню.
  4. Если вы не очень разбираетесь в чем-то, и это не важно для вашего бизнеса, подумайте об аутсорсинге. Другими словами, если вы запустите небольшой веб-сайт, рассказывающий о написании кода настольного приложения, и решите начать продажу небольших настольных приложений с сайта, тогда рассмотрите «аутсорсинг» вашей системы заказа кредитных карт кому-то вроде Paypal.
  5. Если это вообще возможно, сделайте практику восстановления системы скомпрометированных систем частью плана аварийного восстановления. Это, возможно, просто еще один «сценарий бедствия», с которым вы могли столкнуться, просто один с собственным набором проблем и проблем, которые отличаются от обычной «серверной комнаты, загоревшейся» / «был захвачен гигантским сервером, который ест кожуры».

... И наконец

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

Прежде всего: не паникуйте. Думай прежде чем сделать. Действуйте твердо после того, как вы приняли решение, и оставьте комментарий ниже, если вам есть что добавить в мой список шагов.


982
2018-01-02 21:46



+1 для отличной почты, чтобы иметь под рукой, чтобы люди начали двигаться в направлении. Я знаю, насколько распространено это для админов любительского сервера, чтобы попасть в этот режим паники, когда они впервые совершают «хак». Это огромный ошибка быть в этом месте, но это происходит. Надежда была бы в том, что это не произойдет с одним и тем же человеком дважды. - Andrew Barber
+1 "... но сейчас не время позволять вашему эго мешать тому, что вам нужно делать". Это важно для понимания администраторами Sys. Независимо от того, насколько вы осведомлены, всегда есть те (иногда злонамеренные), которые более осведомлены или умны, чем вы. - Grahamux
Отличный ответ. Я не уверен, почему все относятся к шагу «принудительное исполнение законов» как необязательное. Если вы отвечаете за данные других людей (и беспокоитесь о судебных разбирательствах), это должно быть одной из первых вещей в вашем списке вещей. - wds
Очень хорошая запись, только одна из них - «сделайте полное и откровенное раскрытие любому потенциально затронутому сразу». Почетный, но не всегда правильный. Отвечая на компромисс, вам может потребоваться сократить некоторые углы управления, и ваша компания, как правило, сократит вас, но ... раскрытие или нет, особенно когда есть последствия для защиты данных, вполне может быть вопросом выше вашего уровня оплаты и могут иметь юридические последствия. Возможно, вам лучше предложить немедленно сообщить лицу, ответственному за защиту данных (если это не так), и НАПРЯЖАТЬ полное раскрытие. - TheoJones
Виртуальные хосты @GilesRoberts обычно имеют панель управления, которая позволяет вам управлять настройками своих гостей и даже дистанционно управлять ими, не используя RDP или SSH, чтобы фактически войти в гостевую систему. Вы должны быть в состоянии изолировать гостя с помощью элементов управления хоста, чтобы сделать это, а затем использовать свои инструменты удаленного просмотра, чтобы исследовать гостя на досуге. - Rob Moir


Похоже, это немного над головой; ничего страшного. Позвоните своему начальнику и начните переговоры о бюджете ответа на чрезвычайные ситуации. 10 000 долларов США могут стать хорошим местом для начала. Затем вам нужно привлечь кого-то (PFY, коллега, менеджер), чтобы начать звонить компаниям, специализирующимся на реагировании на инциденты безопасности. Многие могут ответить в течение 24 часов, а иногда и быстрее, если у них есть офис в вашем городе.

Вы также нуждаетесь в ком-то, чтобы сортировать клиентов; Несомненно, кто-то уже есть. Кто-то должен быть с ними по телефону, чтобы объяснить, что происходит, что делается для того, чтобы справиться с ситуацией, и ответить на их вопросы.

Затем вам нужно ...

  1. Успокойся. Если вы отвечаете за ответ на инцидент, то вы должны сейчас продемонстрировать максимальный профессионализм и лидерство. Документируйте все, что вы делаете, и держите своего менеджера и исполнительную команду в курсе основных действий, которые вы предпринимаете; это включает в себя работу с группой реагирования, отключение серверов, резервное копирование данных и повторное подключение к сети. Им не нужны подробные сведения, но они должны слышать от вас каждые 30 минут или около того.

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

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

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

  5. Затем вам нужно удалить атакующего и закрыть отверстие (я). Предположительно, у атакующего больше нет интерактивного доступа, потому что вы вытащили сеть. Теперь вам нужно идентифицировать, документировать (с резервными копиями, скриншотами и вашими личными наблюдательными примечаниями или, желательно, даже путем удаления дисков с затронутых серверов и создания полной копии образа диска), а затем удалить любой код и процессы, которые он оставил после , Эта следующая часть будет сосать, если у вас нет резервных копий; Вы можете попытаться распутать атакующего из системы вручную, но вы никогда не будете уверены, что у вас есть все, что он оставил. Руткиты порочны, и не все их можно обнаружить. Лучшим ответом будет выявление уязвимости, с которой он столкнулся, сделать копии изображений затронутых дисков, а затем уничтожить затронутые системы и перезагрузить их из известной хорошей резервной копии. Не слепо доверяйте своей резервной копии; проверьте это! Отремонтируйте или закройте уязвимость перед тем, как новый хост снова появится в сети, а затем включите его.

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

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

У вас есть мои утешения для вашей ситуации. Удачи.


197
2018-01-02 22:16



+1 Отличный ответ. Похоже, что у ОП нет предопределенного «экстренного ответа», и ваш пост, среди других хороших вещей, должен указывать на то, чтобы настроить это. - Rob Moir


CERT имеет документ Шаги для восстановления из системы UNIX или NT Компромисс это хорошо. Специфические технические детали этого документа несколько устарели, но многие общие рекомендации по-прежнему применяются непосредственно.

Это краткое изложение основных шагов.

  • Проконсультируйтесь с вашей политикой безопасности или руководством.
  • Получить контроль (взять компьютер в автономном режиме)
  • Проанализируйте вторжение, получите журналы, запишите, что пошло не так
  • Ремонтные материалы
    • Установите чистую версию вашей операционной системы !!! Если система была скомпрометирована, вы не можете доверять ей, период.
  • Обновите системы, чтобы это не повторилось
  • Возобновить операции
  • Обновите свою политику в отношении будущего и документа

Я хотел бы конкретно указать вам раздел E.1.

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

Если у вас нет системы уже на месте, такой как tripwire, у вас нет возможного способа быть на 100% уверенным, что вы очистили систему.


104
2018-05-08 09:02



Даже тогда tripwire можно обмануть с помощью модулей ядра и т. Д. Переустановка. - reconbot
Связанный с этим вопрос как реагировать в кризисе также могут быть полезны здесь. - Zoredache


  1. отождествлять проблема. Прочитайте журналы.
  2. содержать, Вы отключили сервер, так что все.
  3. искоренять, Скорее всего, установите уязвимую систему. Не стирайте жесткий диск взломанного, но используйте новый. Это безопаснее, и вам может понадобиться старый, чтобы восстановить уродливые хаки, которые не были скопированы, и сделать судебную экспертизу, чтобы узнать, что произошло.
  4. оправляться, Установите все необходимое и восстановите резервные копии, чтобы получить доступ к вашим клиентам в Интернете.
  5. Следовать за, Выясните, в чем проблема, и не позволяйте повторять это снова.

64
2018-01-02 21:49





Ответ Роберта «горькая таблетка» - это пятно, но полностью общее (ну, как и ваш вопрос). Это похоже на то, что у вас проблемы с управлением и крайне необходимы системный администратор, если у вас один сервер и 600 клиентов, но это вам сейчас не помогает.

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

Тем не менее, вы почти наверняка являетесь жертвой сценария kiddy, который хотел создать стартовую площадку для DoS-атак или IRC-вышибалов или что-то совершенно не связанное с сайтами и данными ваших клиентов. Поэтому, в качестве временной меры при восстановлении, вы можете подумать о том, чтобы на вашем ящике был установлен тяжелый исходящий брандмауэр. Если вы можете заблокировать все исходящие UDP и TCP-соединения, которые не являются абсолютно необходимыми для функционирования ваших сайтов, вы можете легко сделать свой взломанный ящик бесполезным для того, кто заимствует его у вас, и смягчить влияние на сеть вашего провайдера на нуль.

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

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

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

Но в долгосрочной перспективе вам следует запланировать перестройку системы на основе публикации Роберта и аудита каждого сайта и его настройки. Если вы не можете добавить к своей команде системный администратор, найдите управляемый хостинг сделку, в которой вы платите своему интернет-провайдеру за системную помощь и 24-часовой ответ для такого рода вещей. Удачи :)


49
2018-01-03 13:48





Вам нужно переустановить. Сохраните то, что вам действительно нужно. Но имейте в виду, что все ваши загружаемые файлы могут быть заражены и изменены. Я написал следующее в python: http://frw.se/monty.py который создает MD5-суки всех ваших файлов в заданном каталоге, и при следующем запуске он проверяет, было ли что-то изменено, а затем выводит, какие файлы были изменены и что изменилось в файлах.

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

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


38
2018-05-08 08:02



Итак ... вы внедрили tripwire. - womble♦
Да, что-то не так с этим? - Filip Ekberg
+1 для отключения, анализа (попросите кого-нибудь сделать настоящую судебную экспертизу) и вытереть - Oskar Duveborn
Учитывая выбор между анонимным скриптом Python и документированным (в некоторой степени) поддерживаемым, хорошо понятным стандартным решением, вы надеетесь, что они выберут первое? - tripleee


ЗАМЕТКА: Это не рекомендация. Мой конкретный Ответ на инцидент протокол вероятно, не будет не применяется без изменений к делу Гранта Неоина.

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

Первые шаги в нашей Когда сервер получает компромиссный протокол является:

  1. Определите, что злоумышленник смог получить root (повышенные привилегии)
  2. Отключите поврежденный сервер (ы). Сеть или власть? Пожалуйста, посмотри отдельное обсуждение,
  3. Проверьте все другие системы
  4. Загрузите затронутый сервер (ы) из live cd
  5. (необязательный) Возьмите изображения всех системных дисков с помощью dd
  6. Начните делать посмертную судебную экспертизу. Посмотрите на журналы, выясните время атаки, найдите файлы, которые были изменены в это время. Попробуйте ответить Как? вопрос.

    • Параллельно планируйте и выполняйте восстановление.
    • Сбросьте все корневые и пользовательские пароли до возобновления службы

Даже если «все бэкдоры и руткиты очищены», не верьте этой системе - переустановите с нуля.


34
2018-05-18 22:36



-1 Отключите сервер от питания? Вы только что потеряли половину ваших судебных данных! - Josh Brower
@ Josh, я скорректировал свой ответ - теперь это нейтрально в вопросе «Что отключить». - Aleksandr Levchuk
Охрана оперативной памяти (например, / dev / shm) может быть полезна. Я предпочитаю отключать кабель питания (но попробуйте войти в систему и rsync / proc прямо до этого). Мы также можем вводить частые снимки VM, чтобы можно было провести экспертизу оперативной памяти. Причины для подключения силового кабеля: (1) Когда вы делаете судебную экспертизу в взломанной системе, вы «ступаете по всему месту преступления»; (2) Корневой набор продолжает работать - не так сложно для злонамеренного выполнить что-либо (например, уничтожить систему) на Сетевое соединение вниз мероприятие. Кайла Ранкина в своем приятном разговоре с Intro to Forensics (goo.gl/g21Ok) рекомендуется потянуть кабель питания. - Aleksandr Levchuk
Нет ни одного размера, который бы соответствовал всем IR-протоколам. Некоторым организаторам, возможно, потребуется некоторое время удерживать взломанную систему в сети, по какой-либо причине. (RAM и temp log криминалистика, взаимодействие с злоумышленниками и т. Д.) Я хочу сказать, что было бы лучше рекомендовать общий IR-протокол (например, Jakob Borgs выше), а не тот, который начинается с «Потяните вилку питания взломанного сервера. " - Josh Brower


В моем ограниченном опыте системные компрометации в Linux, как правило, более «всеобъемлющие», чем в Windows. Корневые наборы гораздо чаще включают замену системных двоичных файлов на индивидуальный код, чтобы скрыть вредоносное ПО, а барьер для горячего исправления ядра немного ниже. Кроме того, это домашняя ОС для многих авторов вредоносных программ. Общее руководство всегда заключается в том, чтобы восстановить поврежденный сервер с нуля, и это общее руководство по какой-либо причине.

Отформатируйте этого щенка.

Но, если вы не можете перестроить (или the-powers-that-be не позволит вам перестроить его против вашей напряженной настойчивости, чтобы он этого требовал), что вы ищете?

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

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

В противном случае возьмите dd-копию системных разделов и установите их в другой блок. Начните сравнивать содержимое с сервером на том же уровне патча, что и скомпрометированный. Это должно помочь вам определить, что выглядит иначе (те md5sums снова), и может указывать на пропущенные области на взломанном сервере. Это МНОГО просеивания через каталоги и двоичные файлы, и они будут довольно трудоемкими. Это может быть даже более трудоемким, чем переформатирование / перестройка, и, возможно, еще одна проблема - попасть в TPTB, фактически сделав переформатирование, которое действительно нужно.


28
2018-01-03 14:31



«Отформатируй этого щенка». - +1, совет мудреца. Смотрите также: «Нук с орбиты, это единственный способ быть уверенным». - Avery Payne


Я бы сказал, что @Robert Moir, @Aleksandr Levchuk, @blueben и @Matthew Bloch все очень популярны в своих ответах.

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

Я бы предпочел разделить это на несколько отдельных частей 1) Triage, AKA Как бороться с клиентами и юридическими последствиями, а также определять, куда идти оттуда (очень хорошо перечислены Robert and @blueben 2) Смягчение воздействия 3) Ответ на инцидент 4) Посмертная криминалистика 5) Элементы исправления и изменения архитектуры

(Вставьте шаблонный ответный ответ SANS GSC здесь) Основываясь на прошлом опыте, я бы сказал следующее:

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

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

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

Возможно, им нужно нанять специализированный SA на месте. Может быть, им нужен охранник. Или, может быть, им нужно полностью управляемое решение, такое как Firehost или Rackspace Managed, Softlayer, ServePath и т. Д.

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


28
2018-01-04 02:21



Да, это зависит, мы знаем. Сказать, что это действительно не помогает. - DOK


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

Все файлы с нарушениями, похоже, находились в папке / images / на некоторых наших старых сайтах zencart. Кажется, что была уязвимость безопасности, которая позволяла (используя curl) любого идиота загружать ненужные изображения в раздел загрузки изображений в разделе администратора. Мы удалили оскорбительные .php-файлы и исправили сценарии загрузки, чтобы раскрыть любые загрузки файлов, которые не являются изображениями.

В ретроспективе это было довольно просто, и я поднял этот вопрос на своем iPhone по дороге в работу. Спасибо вам за помощь.

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


24
2017-12-05 12:52



Грант, я рад, что это получилось очень гладко для вас. Это было нечто второстепенное - гораздо менее серьезное, чем предполагали многие из нас. Эта дискуссия научила меня урок об общении, дал много хороших советов и пищи для размышлений о неприличных ответах. - Aleksandr Levchuk
Спасибо, что вернулись и сообщили нам, как вы поживаете. Как видите, ваш вопрос вызвал довольно много дискуссий. Я рад, что вы, похоже, не слишком сильно пострадали от этого, и ваше решение было довольно простым в конце. - Rob Moir
Это должен быть комментарий (или включаемый как текст в ваш вопрос), а не ответ на ваш вопрос. - Techboy
@Techboy: Кажется, он еще не связал свои счета SO и SF, поэтому он не может редактировать свой вопрос. @Grant: вы можете связать свои учетные записи с помощью панели «Учетные записи» на странице пользователя. - Hippo
без базовой настройки, как вы знаете, не работает руткит? - The Unix Janitor


Я не могу внести свой вклад в обширные технические ответы, но, пожалуйста, также обратите внимание на некоторые из них:

Нетехнические действия:

  • Сообщите об этом внутренне.
    Если у вас еще нет плана реагирования на инциденты, который может появиться в методе CYA, но ИТ-отдел не является единственным и часто даже не лучшим местом для определения влияние на бизнес взломанного сервера.
    Бизнес-требования могут превзойти ваши технические проблемы. Не говорите «Я так вам сказал» и что приоритет бизнес-проблем является причиной того, что у вас есть этот скомпрометированный сервер в первую очередь. (»Оставьте это для отчета о последующих действиях.«)

  • Сокрытие инцидента с безопасностью не является вариантом.

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


15
2017-09-11 06:50