Linux глазами хакера
Шрифт:
Во время пиковой нагрузки необходимо проследить, каких ресурсов не хватает компьютеру. Обратите внимание на следующие компоненты:
□ пропускную способность сети;
□ пропускную способность сетевого оборудования;
□ загрузку процессора;
□ нагрузку на жесткий диск;
□ загрузку оперативной памяти.
Определите самые узкие места вашей системы, чтобы увеличить производительность. Нет смысла наращивать внешние каналы связи до 100 Мбит/с, если ваша внутренняя сеть работает только на скорости 10 Мбит/с. Это излишняя трата денег, а проблема останется. Хакеру достаточно будет направить на сервер любой трафик, чтобы
Настройте сетевые интерфейсы и параметры ОС на максимальную производительность (см. разд 14.11). Это значит, что не должно быть лишних затрат, особенно сетевых. Понизить расходы на обработку сетевых пакетов можно с помощью полного запрета ICMP-трафика.
14.7. Проникновение через доверительные узлы
Когда хакер хочет проникнуть на сервер в какой-либо сети, но не может подступиться к нему, то чаще всего приходится прибегать к использованию доверительных компьютеров. Все машины в сети не могут быть защищены абсолютно одинаково. Задача хакера — найти уязвимый компьютер и попробовать проникнуть на сервер через него.
Чтобы решить поставленную задачу, необходимо определить, какие компьютеры в сети сейчас работают. Для этого можно использовать классическую команду
Для сканирования диапазона адресов можно воспользоваться следующей командой:
После указания IP-адреса стоит знак "/", за которым следует маска сети. Таким же образом мы задавали маску при настройке сетевого экрана. В ответ на директиву программа пошлет ping-запросы на все компьютеры сети и отобразит нам доступные в настоящее время.
Использование ping-пакетов — удобный и быстрый способ просканировать сеть, но может выдать неверный результат, если атакуемая сеть защищена сетевым экраном и в ней фильтруются ping-пакеты. Но Firewall, установленный на подступах к сети, может защитить только от сканирования извне. Для предотвращения внутреннего зондирования необходимо настраивать сетевой экран на каждом компьютере сети. Можно отключить службу, отвечающую на ping-запросы, но ничего не спасет от прощупывания портов.
После того как определены все работающие компьютеры, хакер начинает сканировать каждый из них, определяя уязвимые сервисы. Взлом множества компьютеров намного проще, потому что хотя бы один может поддаться, не выдержав натиска хакера.
После проникновения на один из компьютеров сети хакер может повторить попытку зондирования с захваченной машины. Так как этот компьютер находится внутри сети, то он может дать более точный результат, потому что это сканирование не будет проходить через сетевой экран.
При наличии контроля над одним из компьютеров сети процесс взлома упрощается, если существует вероятность следующих событий:
□ компьютер находится в доверительных отношениях с сервером. В ОС Linux можно указать такие компьютеры, и с них подключение происходит без каких-либо паролей. Никогда не используйте доверительных отношений, потому что это удар по безопасности! Именно поэтому мы не затрагивали эту тему в данной книге;
□ пароль
Конечно же, если удастся получить контроль над учетными записями, то это еще не гарантирует, что хотя бы одна из них будет иметь права администратора на основном сервере. Но иногда достаточно даже минимального статуса, чтобы потом повысить права через уязвимость.
Проблема использования одного пароля для доступа к разным серверам затрагивает не только простых пользователей. Администратор может использовать пароль fxdgdfg и имя root на основном сервере, а на других компьютерах этот же пароль может быть в комбинации с реальным именем администратора. Взломщики собирают все найденные пароли и потом используют их для подбора пароля пользователя root.
Если честно, то я сам грешу проблемой одного пароля для разных сервисов. Но одинаковые комбинации устанавливаю только там, где это не может причинить вред, например, когда регистрируюсь на форумах или на сайтах, собирающих какую-то статистику. А вот администраторские пароли у меня разные для каждой системы.
Вы должны защищать все компьютеры в равной мере и использовать различные пароли для пользователей с правами администратора.
14.8. Небезопасная NFS
Технология NFS (Network File System, сетевая файловая система) была разработана компанией Sun Microsystems в 1989 году. Идея была великолепной. Любой пользователь может монтировать каталоги сервера к своей файловой системе и использовать их, как будто они находятся на компьютере клиента. Это очень удобно в сетях. Пользовательские каталоги могут находиться на сервере и подключаться к клиенту по мере надобности. Таким образом, все файлы будут храниться централизованно, а использоваться, как будто они находятся локально.
Как я уже говорил, удобство и безопасность — несовместимые вещи, a NFS слишком удобна.
В состав NFS входит утилита showmount, которая может отобразить, какие директории и какими пользователями подключены. Для администратора это неоценимая информация.
Выполните команду
Вы сможете увидеть следующую информацию о NFS на своем сервере:
Результат разделен на две колонки символом двоеточия. В первой находится имя компьютера, подключившего удаленный раздел, а во второй — путь на сервере к подсоединенному ресурсу.
Приятно видеть подробную информацию, но и опасно, потому что команда может выполняться удаленно, а значит, любой хакер доберется с ее помощью до следующей информации:
□ подключенные директории. В примере выше подсоединяются различные папки из раздела /home. Чаще всего их названия совпадают с именами пользователей, поэтому легко определить действительные имена юзеров, не обращаясь к файлу /etc/passwd. С такой информацией хакеру проще будет подбирать пароли доступа;