Бэкдоры Linux я должен быть осторожен
Я новичок в области управления сервером и уверен, что мой сервер очень небезопасен. Я прошел проверку безопасности WHM CPanel, но я уверен, что настоящие гуру, эта проверка глупа и совсем не похожа на то, что должна быть. На какие вещи мне стоит обратить внимание?
4 ответа
Я ответил на аналогичный вопрос на днях здесь:
Безопасный сервер LAMP для производственного использования
Чтобы проверить на компромисс..
Подозрительные файлы в /tmp. Файлы в веб-дереве неожиданны.
Загруженные модули ядра выглядят подозрительно. (lsmod
)
Запущены процессы, которых не должно быть. (ps aufx
)
Активные сетевые подключения. (netstat
)
В настоящее время открытые файловые дескрипторы. (lsof
)
В конечном счете, если сервер скомпрометирован, правильное решение - изолировать, создать образ и восстановить.
Редактировать 1
Барт поднял очень хорошие очки; тем более, что вы вообще не можете доверять локальной системе, если она считается скомпрометированной.
После создания образа вы можете манипулировать изображением (и файловыми системами), используя известные надежные утилиты для дальнейшей экспертизы.
Сброс трафика на коммутаторе или запуск tcpdump
в локальной системе также может быть полезным.
Редактировать 2
Я фактически скопировал утилиты из заведомо исправной системы и использовал на удаленном сервере раньше. Не идеально, но лучше, чем ничего.
Я уже высказывал некоторые замечания в комментариях, но чтобы закрепить некоторые мысли...
Вы спрашиваете о том, что потенциальные векторы атаки?
В современных установках Linux не так уж много проблем, о которых вам обычно нужно сразу беспокоиться. Большинство людей вводят дыры в свои системы Linux, устанавливая новые программы и изменяя конфиги.
Чтобы дать вам лучший совет, вам нужно уточнить, что вы делаете. Домашний сервер? Сервер базы данных? Веб сервер? Рабочая станция?
Система со всеми исправлениями и обновлениями будет по-прежнему предоставлять информацию, если вы используете сервер базы данных, который не очищает ввод и управляет атакой SQL-инъекций на внутреннюю базу данных.
Как правило, вы делаете то, что вам нужно сделать в любой другой системе. Обновляйте регулярно. Используйте наименьшее количество привилегий, необходимых для выполнения каких-либо действий (не запускайте все время с правами root). Не входите с паролями открытого текста (используйте SSH для удаленного администрирования системы). Не запускайте ненужные службы (отключите удаленный рабочий стол /VNC, если вы его не используете, не запускайте веб-сервер, если вы его не используете и т. Д.) Используйте надежные пароли. Регулярно проверяйте журналы на предмет необычного поведения. Узнайте, как работает ваша система, чтобы узнать, что "странного". Мониторинг журналов для необычных попыток доступа. Установите denyhosts и настройте его так, чтобы он блокировал IP-адреса, которые пытаются стучать по SSH для доступа к логину, или переместите его на несколько портов, чтобы он не был открыт для атаки ботов. Используйте NMAP, чтобы проверить, какие порты у вас открыты (с другой машины). Проведите аудит вашей машины с помощью чего-нибудь вроде SAINT (Google для инструментов аудита уязвимостей). Не оставляйте свою рабочую станцию в системе, когда уходите.
Такие вещи, как chkrootkit и rkhunter помогают дать некоторое руководство и душевное спокойствие, как и утилиты хеширования, такие как tripwire, но они увеличивают ваше обслуживание. Вам нужно сесть и сбалансировать удобство использования с потребностями безопасности и применять их по мере необходимости (стоит ли создавать дополнительную хэш-память и хранилище каждый раз, когда вы изменяете набор файлов или запускаете обновления системы, по сравнению с тем, что вы потенциально можете потерять во времени а деньги если сервер потерян?)
Убедитесь, что у вас есть хорошая подпрограмма резервного копирования. Копия оперативных данных не годится, если кто-то скомпрометировал сервер, а ваши самые старые резервные копии содержат этот компромисс.
Никогда не доверяйте системе, если вы думаете, что она была скомпрометирована. Мне нравится использовать devil linux для целей устройства, потому что невозможно взломать вне областей царапин данных (таких как прокси-серверы); он загружается и запускается с компакт-диска, поэтому никто не может заменить двоичные файлы. Я предполагаю, что они могут исправить их в памяти, но перезагрузка очищает это.
Если вы имеете дело с более серьезными потребностями в безопасности, отправьте свои журналы на другой сервер. Не используйте один и тот же пароль для всего. Если ваш сервер находится под угрозой, они получают доступ ко всем паролям (я прочитал когда-то о ком-то настройки порно сайт, а затем смотреть логины и адреса электронной почты и такие, поступающие в журналы... они поняли, что они могли бы развернуться и использовать те же пароли для взлома на других сайтах, так как большинство людей используют ту же схему паролей на рабочем месте и дома, что и для коммерческих сайтов).
Это большие. Опять же, все зависит от баланса юзабилити с безопасностью и того, сколько вы должны потерять, если потеряете сервер, а также вещи в вашей сети. Если кто-то завладевает скромным небольшим файловым сервером или почти не использует собственный веб-сервер, Linux можно легко использовать для перенаправления ARP-запросов и выступать в роли маршрутизатора для перехвата трафика, чтобы он мог видеть другие вещи в вашей сети, даже незначительный сервер. может стать значительной угрозой. Поскольку вы не сказали, каким был сервер и роль, или каково их местоположение, вам сложно сказать вам подробности (например: "Ого! Вы не хотите трогать хранилище информации о кредитной карте, если вам нужно спросить об этом! материал строго регламентирован!"или" Никогда не храните пароли без хэширования. Никогда не храните как обычный текст, никогда ".)
Хотя это очень сложно (не говори, что я тебя не предупреждал). NeXpose имеет Community Edition[rapid7.com], которую вы можете использовать для поиска уязвимостей. Вы также можете интегрировать его с Metasploit[www.metaploit.com]. Будьте готовы сделать тяжелое чтение. Но если вы пройдете через это, вы будете мудрее. Это даже инструменты, используемые некоторыми специалистами по безопасности.
Вовлеките сообщество и учитесь! Быть скомпрометированным (и пойти на компромисс) может быть очень сложным.
Лучшая ставка, если вы или подозреваете, что вы скомпрометированы, переустановите из резервных копий или сделайте чистую установку. Используйте источники, которые предоставляют контрольные суммы[en.wikipedia.com] для загрузки
Если они знают, что делают, они могут даже модифицировать компиляторы в вашей системе, чтобы компилировать их в "вредоносное ПО" на новых компиляциях.
РЕДАКТИРОВАТЬ: Это инструменты, чтобы проверить, если вы можете быть использованы. Они не будут проверять, если вы скомпрометированы.