Я начал работать в компании, которая уволила предыдущего ИТ-специалиста за утечку данных.
Могу сказать только следующее:
Мы используем базу данных Firebird с приложением, написанным другой компанией, Proxmox, для виртуализации Windows Server 2008 R2, SQL Server, маршрутизатора Mikrotik с облачным ядром и некоторых других устройств Mikrotik.
Я не уверен на 100%, но есть ли какой-нибудь быстрый способ проверить, остались ли какие-то бэкдоры, не прерывая внутренние процессы и не переформатируя все?
Этот предыдущий парень был действительно хорош, написав программное обеспечение на C ++ и C #. Я также знаю, что он сделал какой-то ассемблер и взломал несколько программ на ollydbg.
Единственный способ быть абсолютно уверенным - это очистить каждую систему и переустановить ее с нуля. Вам также необходимо будет проверить все локально созданное программное обеспечение и конфигурации, чтобы убедиться, что они не содержат бэкдоров. Это нетривиальная задача, требующая нетривиальных затрат.
Кроме того, вы мало что можете сделать.
Очевидно, пока вы решаете, что делать
но это только царапина на поверхности.
Во-первых, самая важная цель уволенного системного администратора - очистить свое прошлое, особенно если это был уход с плохой репутацией. Если произойдет атака на его предыдущую систему, он ничего не получит (особенно на своей старой работе), но может проиграть. много. Я много раз сталкивался с подобными страхами, но, на мой взгляд, они во многом необоснованны. Я думаю, что более вероятно, что если бы вы задали ему несколько вопросов, он был бы вам очень мил и полезен (о чем вы, в свою очередь, должны упомянуть своему боссу).
А теперь рассмотрим тот очень маловероятный случай, когда он действительно хочет сделать что-то вредное.
Сделайте архив всей вашей сети в какое-нибудь - для него - недоступное место (за брандмауэром вне его ответственности, жесткий диск в запертом шкафу и т. Д.).
Как только вы сделаете резервную копию, он больше не сможет замести следы. В случае несанкционированного нападения он послужит доказательством.
Никогда нельзя быть уверенным на 100% (кроме случая переустановки всей сети). Вы можете пройти через контрольный список, но никогда не можете быть уверены, что проверили все.
Даже в том случае, если вы обнаружите дыру, вы не сможете доказать, что она была помещена туда намеренно. Обратите внимание, такая же проблема существует и для разработчиков программного обеспечения. Плохая работа не является уголовным преступлением, и вы не можете доказать, что он «забыл», например, намеренно изменить пароль администратора базы данных по умолчанию. Или что пользователям, чей пароль был установлен им, «случайно» были предоставлены привилегии, необходимые для подключения к вашим сверхсекретным базам данных.
В большинстве случаев наиболее важной частью вашей системы являются не операционные системы, а данные, которыми они управляют. Это особенно актуально, если эти данные являются личными данными и собственностью ваших клиентов. Он мог украсть их задолго до своего последнего рабочего дня, зашифровать и сохранить в местах, известных только ему. Поэтому не забудьте также проверить наличие следов, которые указывают на то, что он сделал копии ваших данных перед тем, как уйти. Учтите, что если он сделал это «правильно», вы ничего не найдете.
@JonasWielicki сравнил этот вопрос с одним из наших канонических вопросов безопасности (Как мне бороться с взломанным сервером). Я поддерживаю свой ответ на который вопрос, но есть важное различие.
В этом вопросе сервер был известный быть скомпрометированным. Насколько я понимаю этот вопрос, который в данном случае не установлен. Таким образом, я не уверен, что нам нужно взламывать огнемет прямо сейчас.
Люди покидают организацию постоянно, и ничего плохого не происходит, даже если они ушли из-за плохих условий. Простое умение программировать, а это все «доказательства», которые вы показали нам в вопросе OP, не означает, что кто-то является хакером как таковым, или что они, вероятно, нападут на вас сейчас, когда они ушли.
Если вы действительно обеспокоены, я бы посоветовал нанять стороннюю охранную фирму для аудита вашей системы. Мы надеемся, что это не только откроет для вас небольшие сюрпризы, которые, возможно, оставил бывший системный администратор, но и послужит хорошей отправной точкой для всех ваших проблем безопасности и проблем в будущем.
Единственный способ убедиться, что бэкдора точно не существует, - это нанести ядерный удар по системе, как вы сказали.
Если это не совсем возможно,
Вам нужно будет решить, насколько вы хотите быть уверены. Рентабельность никогда не окупится для ядерных бомбардировок с орбиты.
Требуют ли менеджеры заверений или вы просто пытаетесь разумно изучить унаследованные вами системы?
Если это менеджеры, теперь вы узнаете, насколько они разумны. Готовы ли они согласиться на «почти наверняка»? Может быть, ты сможешь последовать за уволенным парнем на его новую работу!
Если вы хотите изучить свои собственные системы, я бы начал с настройки системы мониторинга сети, например snort. Ищите неожиданный трафик, например, «почему система каждый день обращается к этому серверу в России?» или "почему люди делают IRC через мой веб-сервер?" (это случилось со мной).
Я думаю, что предложение @peterh о создании большого архива - действительно хорошая идея. Я также думаю, что его предложение об увольнении парня вполне реально. Подобные проблемы в 90% случаев оказываются глупым менеджментом.
Вам следует провести аудит текущей функциональности и использования, но, честно говоря, вам следует начать с нуля.
Это означает, что не просто «взорвите его с орбиты», а отметьте все основные функции и требования, такие как, например, какие порты могут быть открыты в брандмауэре для коробки, ограничения IP-адреса или имени хоста и прочее » сантехника »вот так.
Затем воссоздайте новую среду на основе того, что вы видели, запустите несколько тестов, чтобы убедиться, что функциональность такая же при переключении, а затем запланируйте обслуживание, чтобы выполнить официальное переключение: это означает копирование данных из старой настройки в новую, а затем либо переключение IP-адресов поле, чтобы перенять старые IP-адреса из старого окна или настроить другие системы, которым необходим доступ, чтобы иметь возможность подключиться к новой настройке.
Но при этом, даже если вы это сделаете, вы, возможно, не сможете доверять данным в базе данных, но, по крайней мере, в таком случае основная система перемещается на что-то более стабильное и «разумное», так что у вас есть более чистый отправная точка.
Также вы упомянули предыдущий I.T. люди умели программировать на ассемблере и C ++. У меня будет вопрос: почему? Так что проведите аудит любого настраиваемого кода, который может существовать, и оцените функциональность. Потому что, пока другие люди мощь были «фантастичны» в своих навыках программирования, кто знает, запрограммировали ли они что-то на C ++, что, например, можно легко воссоздать на Python или в сценарии Bash / Batch. В настоящее время я встречал множество программистов на C ++, которые действительно чрезмерно используют код C ++, когда для достижения эквивалентной функциональности можно использовать более простые инструменты.
Но, в конце концов, восстановление архитектуры с нуля может быть единственным - и самым безопасным - делом.
Во-первых, все меняют свой пароль. Во-вторых, вам необходимо защитить брандмауэр и все, что напрямую к нему подключается. Меняйте ВСЕ пароли везде.
Если он не может пройти через брандмауэр, ему придется полагаться на то, что что-то установит с ним соединение, и вернуться в него будет намного сложнее.
Вам нужно будет узнать все о брандмауэре, правилах и конфигурации и проверить их построчно на предмет ненужных вещей. Даже в этом случае вам может быть лучше приобрести новый маршрутизатор и перенести конфигурацию вручную. Проверка того, что каждое изменение конфигурации является правильным, а не бэкдором, и что оно все еще необходимо. Это идеальное время, чтобы очистить вашу систему от мусора.
Подумайте: он мог установить свой черный ход в загрузочный сектор. В зависимости от того, насколько он хорош и насколько осторожен в создании постоянного бэкдора, вам может понадобиться новый жесткий диск и материнская плата. И в зависимости от того, что именно он сделал, вам, возможно, придется оставить все свои данные. Если бы я принимал решение, что делать, я бы не смотрел на этого человека в поисках подсказок о том, что он мог сделать; Я бы действовал на риск повреждения, который потенциально могут нанести данные, которые вы спрятали в этих базах данных.
Если вам нужен изящный инструмент для классификации рисков, у канадских военных есть для этого довольно изящный метод:
Защищенные данные «A» - данные, которые могут нанести значительный ущерб человеку без риска причинить ущерб другим, использующим ту же систему.
Защищенные "B" - данные, которые могут нанести значительный ущерб более чем одному человеку, но по-прежнему ограничены людьми, данные которых хранятся в той же системе, но без риска нанесения ущерба организации, которая их переносит.
Защищенный «C» - данные, которые, если они попадут в чужие руки, представляют угрозу для национальной безопасности, безопасности всей организации или «корневого» доступа ко всей базе данных, в которой хранятся данные, могут нанести такой же масштабный ущерб.
Итак, если в ваших базах данных хранится личная информация, а ваш сервер принадлежит организации, которая несет юридическую ответственность перед людьми за конфиденциальность этих данных, то я бы выбросил все, что может хранить данные, и начать заново. В большинстве случаев это огромные расходы, но если есть вероятность судебного иска, сначала обратитесь к адвокату, а затем и дальше. Найдите юриста, который специализируется на защите данных. Закон для такого рода вещей может быть очень запутанным, поэтому лучше нанять опытного юриста или просто выбросить оборудование и начать все сначала. Надеюсь, это будет полезно. Желаем удачи и сожалеем о вашем затруднительном положении.