В случае, если сервер Linux был открыт в Интернете с крайне низкой политикой безопасности (r / w анонимные папки Samba, сервер базы данных Firebird с паролем администратора по умолчанию, без брандмауэра и т. Д.) В течение недели, тогда как мне убедиться, что система работает? не скомпрометирован без полного форматирования и переустановки, имея доступ только удаленно через SSH?
Обычно я предлагаю локальную проверку с помощью такого инструмента, как chkrootkit но если единственный способ запустить проверку - сделать это удаленно, я бы порекомендовал вам попробовать Руткит-охотник вместо.
Rookit Hunter проверяет наличие руткитов и других подобных действий, выполняя следующие тесты (см. Информационный проект Больше подробностей):
Я хочу добавить, что, как говорили другие, единственный надежный способ убедиться, что ваш сервис не был подделан, - это восстановить его. Эти инструменты работают хорошо, но они не являются 100% гарантией успеха.
Также не тот ответ, который вам нужен, но если есть вероятность, что система была рутирована, может быть очень сложно быть на 100% уверенным, что система чистая. Руткиты разработаны таким образом, чтобы их было сложно обнаружить. Если вы запустите различные программы проверки корневого доступа, и она проверит чистоту, то «скорее всего» ваша система чиста.
Если безопасность вызывает беспокойство, я бы подумал о том, чтобы восстановить его, как только что было сказано выше, или восстановить его из хороших резервных копий.
Я знаю, что этот ответ - не то, что вы хотите услышать, но в любом случае начнем. Есть несколько инструментов, с помощью которых можно проверить систему. Лучший способ убедиться в ее чистоте - это очистить сервер и восстановить его. Я бы сделал следующее:
Вот некоторые ресурсы, которые я бы начал читать, если вы еще не сделали этого.
[текст ссылки] [1] текст ссылки текст ссылки текст ссылки
[1]: http://www.sans.org/reading_room/whitepapers/linux/linux-rootkits-beginners-prevention-removal_901«Новички в Linux Rootkits»
OSSEC проверяет наличие руткитов и обнаруживает подозрительную активность.
Здесь действительно нужно проявлять инициативу. Нет надежного способа обнаружения руткитов на машинах, поэтому вам нужно в первую очередь предотвратить их попадание и найти способы их обнаружения при входе (например, через tripwire и заблокированные интерфейсы).
Если вы считаете, что машина каким-либо образом использовалась, вам действительно нужно переустановить - нет гарантированного способа очистить ее, кроме переустановки. Безусловно, самый безопасный вариант.
RKhunter, Tripwire и т. Д. Великолепны, но действительно полезны только в том случае, если они были установлены до инцидента - это потому, что они отлично подходят для определения того, были ли изменены ключевые файлы. Если вы установите RKHunter сейчас и запустите его, он обнаружит включение многих руткитов, но не обнаружит никаких бэкдоров, открытых злоумышленником в ОС или используемых вами приложениях.
Например, вы можете проникнуть на компьютер, создать нового пользователя, дать ему разрешения SSH и sudo, а затем очистить его, оставив на месте легитимно выглядящую конфигурацию и без руткитов, а затем вернуться позже и творить зло.
Лучше всего посмотреть, какие порты прослушивают службы, затем посмотреть конфигурацию всех этих служб и убедиться, что все они законны. Затем посмотрите на конфигурацию вашего брандмауэра и заблокируйте порты, которые вам не нужны, как входящие, так и исходящие. Затем установите RKHunter и т. Д., Чтобы проверить, не уронил ли какой-нибудь скрипт-кит там руткит.
Откровенно говоря, сделать то, что предлагал JJ, и восстановить его, вероятно, будет меньше, чем убедиться, что компьютер не был взломан. Ценны именно данные, а не ОС и конфигурация (не считая человеко-часов на их настройку).
Вы никогда не будете уверены, что его не взломал кто-то умнее вас.
Первым шагом действительно должен быть rkhunter / chkrootkit, однако в прошлом мне также повезло с функциями, которые встроены в определенные менеджеры пакетов, например, rpmverify, который просматривает все пакеты в вашей системе и проверяет, что MD5-суммы включенных в них файлов не отличаются от файлов на диске.
Основные двоичные файлы действительно должны иметь MD5, идентичные тому, что указано в базах данных RPM или DPKG, поэтому, если они разные, вы знаете, что происходит что-то странное.
Самый эффективный способ определить, не скомпрометирован ли ваша работающая система, - это использовать Второй взгляд. Он проверит ядро и все запущенное программное обеспечение в памяти, чтобы убедиться, что они соответствуют тому, что поставил поставщик дистрибутива. Это гораздо лучший подход, чем rkhunter, chkrootkit и т. Д., Которые ищут артефакты определенных известный инфекции. Second Look не делает никаких предположений о целостности операционной системы, поэтому вам не нужно использовать или устанавливать ее до инцидента.
(Отказ от ответственности: я ведущий разработчик Second Look.)