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

  

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

     

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

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

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

  

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 на сервере   Неисправность.

573 голоса | спросил gunwin 3 Jam1000000amMon, 03 Jan 2011 00:31:27 +030011 2011, 00:31:27

13 ответов


983

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

Не паникуйте

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

  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. Если это вообще возможно, сделайте практику восстановления системы скомпрометированных систем частью плана аварийного восстановления. Это, возможно, просто еще один «сценарий бедствия», с которым вы могли столкнуться, просто один с собственным набором проблем и проблем, которые отличаются от обычной «серверной комнаты, загоревшейся» /«был захвачен гигантским сервером, который ест кожуры».

... И, наконец,

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

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

ответил Rob Moir 3 Jam1000000amMon, 03 Jan 2011 00:46:51 +030011 2011, 00:46:51
197

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

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

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

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

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

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

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

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

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

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

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

ответил blueben 3 Jam1000000amMon, 03 Jan 2011 01:16:15 +030011 2011, 01:16:15
104

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

Краткое описание основных этапов.

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

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

  

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

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

ответил Zoredache 8 Maypm09 2009, 13:02:22
64
  1. Определите проблему. Прочитайте журналы.
  2. Содержат . Вы отключили сервер, так что это сделано.
  3. Искоренить . Скорее всего, установите уязвимую систему. Не стирайте жесткий диск взломанного, но используйте новый. Это безопаснее, и вам может понадобиться старый, чтобы восстановить уродливые хаки, которые не были скопированы, и сделать экспертизу, чтобы узнать, что произошло.
  4. Восстановить . Установите все необходимое и восстановите резервные копии, чтобы получить доступ к вашим клиентам в Интернете.
  5. Последующий . Выясните, в чем была проблема, и не позволяйте повторять это.
ответил Jakob Borg 3 Jam1000000amMon, 03 Jan 2011 00:49:46 +030011 2011, 00:49:46
49

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

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

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

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

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

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

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

ответил Matthew Bloch 3 Jpm1000000pmMon, 03 Jan 2011 16:48:27 +030011 2011, 16:48:27
38

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

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

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

ответил Filip Ekberg 8 Maypm09 2009, 12:02:09
34

ПРИМЕЧАНИЕ: Это не рекомендация. Мой конкретный протокол реагирования на инциденты , вероятно, не будет не применять немодифицированный случай с делом Гранта.

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

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

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

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

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

ответил Filip Ekberg 8 Maypm09 2009, 12:02:09
28

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

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

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

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

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

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

ответил sysadmin1138 19 Mayam09 2009, 02:36:14
28

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

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

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

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

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

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

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

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

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

ответил Zachary Hanna 3 Jpm1000000pmMon, 03 Jan 2011 17:31:09 +030011 2011, 17:31:09
24

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

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

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

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

ответил gunwin 4 Jam1000000amTue, 04 Jan 2011 05:21:28 +030011 2011, 05:21:28
15

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

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

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

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

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

ответил HBruijn 5 FriEurope/Moscow2014-12-05T15:52:09+03:00Europe/Moscow12bEurope/MoscowFri, 05 Dec 2014 15:52:09 +0300 2014, 15:52:09
14

Я думаю, все это сводится к следующему:

Если вы цените свою работу, вам лучше иметь план и регулярно пересматривать его.

Неспособность планировать - это неудача, и это неправда нигде, кроме системной безопасности. Когда <redacted> попадает в вентилятор, вы должны быть готовы к этому.

Есть еще одно (несколько клише), в котором говорится: Профилактика лучше, чем лечение .

Здесь было несколько рекомендаций, чтобы привлечь экспертов для аудита ваших существующих систем. Я думаю, что это задает вопрос в неподходящее время. Этот вопрос должен был быть задан, когда система была внедрена, и ответы были задокументированы. Кроме того, вопрос не должен быть «Как мы можем остановить людей от взлома?» Это должно быть: «Почему люди могут вообще ворваться?» Аудит для пучка отверстий в вашей сети будет работать только до тех пор, пока не будут найдены и не обнаружены новые дыры. С другой стороны, сети, которые разработаны с самого начала, чтобы лишь определенным образом реагировать на определенные системы в танцевальном танце с хореографией, вообще не будут получать аудит, и средства будут отходами.

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

Это было сделано - есть (или была) установка интернет-банкинга где-то, у которой есть прокси-сервер с балансировкой нагрузки, стоящий перед Интернетом, который они собирались использовать для векторных атак вдали от своего пула серверов. Эксперт по безопасности Маркус Ранум убедил их придерживаться противоположного подхода: используя обратный прокси-сервер, чтобы разрешить только известные действительные URL-адреса и отправить все остальное на сервер 404 . Он отлично провел испытание временем.

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

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

ответил Aaron Mason 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 11 Sep 2013 10:50:07 +0400 2013, 10:50:07
13

Хороший onliner помог мне недавно узнать, как злоумышленник может скомпрометировать систему. Некоторые крекеры пытаются скрыть свои следы, создавая время модификации файлов. Изменяя время модификации, время изменения обновляется (ctime). вы можете увидеть ctime со статусом.

В этом одном линейке перечислены все файлы, отсортированные по ctime:

find / -type f -print0 | xargs -0 stat --format '%Z :%z %n' | sort -nr > /root/all_files.txt

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


ответил ah83 29 52013vEurope/Moscow11bEurope/MoscowFri, 29 Nov 2013 16:34:21 +0400 2013, 16:34:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132