- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Linux глазами хакера - Михаил Флёнов
Шрифт:
Интервал:
Закладка:
14.8. Небезопасная NFS
Технология NFS (Network File System, сетевая файловая система) была разработана компанией Sun Microsystems в 1989 году. Идея была великолепной. Любой пользователь может монтировать каталоги сервера к своей файловой системе и использовать их, как будто они находятся на компьютере клиента. Это очень удобно в сетях. Пользовательские каталоги могут находиться на сервере и подключаться к клиенту по мере надобности. Таким образом, все файлы будут храниться централизованно, а использоваться, как будто они находятся локально.
Как я уже говорил, удобство и безопасность — несовместимые вещи, a NFS слишком удобна.
В состав NFS входит утилита showmount, которая может отобразить, какие директории и какими пользователями подключены. Для администратора это неоценимая информация.
Выполните команду showmount -a localhost.
Вы сможете увидеть следующую информацию о NFS на своем сервере:
All mount points on localhost:
robert:/home/robert
econom:/home/jhon
buh:/home/andrey
robert:/usr/local/etc
econom:/usr/games
Результат разделен на две колонки символом двоеточия. В первой находится имя компьютера, подключившего удаленный раздел, а во второй — путь на сервере к подсоединенному ресурсу.
Приятно видеть подробную информацию, но и опасно, потому что команда может выполняться удаленно, а значит, любой хакер доберется с ее помощью до следующей информации:
□ подключенные директории. В примере выше подсоединяются различные папки из раздела /home. Чаще всего их названия совпадают с именами пользователей, поэтому легко определить действительные имена юзеров, не обращаясь к файлу /etc/passwd. С такой информацией хакеру проще будет подбирать пароли доступа;
□ имена компьютеров в сети. Если вы потратили большие усилия на защиту своего DNS-сервера, то можете считать, что вы сделали это зря, если на каком-либо сервере установлена NFS. Один запрос показывает имена компьютеров в сети, пусть и не все, а только работающие с NFS, но и этого может быть достаточно для хакера. Кстати, ему не надо даже зондировать сеть с помощью ping-запросов, потому что и так видно действующие компьютеры;
□ используемые программы, включая номер версии. Если пользователи монтируют каталоги с программами, то имена этих каталогов могут выглядеть как /usr/local/jail 1.0. Это только пример, но он показывает, что директории в Linux могут содержать в качестве имени название программы и, самое главное, номер версии.
В зависимости от того, какие открыты каталоги, хакер может получить намного больше информации. Выходит, что утилиты NFS слишком болтливы, а этого нельзя допускать.
Если вы решили использовать NFS, то позаботьтесь о том, чтобы она не был доступна из Интернета. Для этого необходимо запретить подключение к 2049 UDP- и TCP-порту извне. Эти функции может выполнить сетевой экран. А если хакер уже взломал какой-то компьютер в сети и получил возможность выполнять команды внутри нее, то защита сетевого экрана не поможет.
При настройке NFS в файле /etc/exports указываются экспортируемые файловые системы и права доступа к ним. Никогда не открывайте полный доступ ко всей системе, т.е. в файле не должно быть строки:
/ rw
Необходимо четко прописывать пути к каталогам, которые могут быть монтированы пользователями. Это значит, что если пользователи должны иметь возможность подключать домашние каталоги, то следующее разрешение также является неверным и опасным:
/home rw
В чем здесь опасность? Не все пользовательские каталоги должны монтироваться удаленно. Например, если вы работаете под пользовательской учетной записью, но являетесь администратором, то в вашем каталоге могут быть программы, используемые для управления системой. Нельзя допустить, чтобы злоумышленник смог его увидеть (даже с правами только на чтение). Разрешайте подключение только конкретным пользователям, которые действительно монтируют свои файловые системы удаленно. Например:
/home/Robert rw
/home/FlenovM rw
/home/Andreу rw
Большинство специалистов по безопасности сходятся во мнении, что NFS не стоит использовать вообще. Если вы решили применить ее только для того, чтобы программы были установлены централизованно, то следует победить свою лень и заняться их постановкой на каждый компьютер в отдельности.
Если вам необходимо сделать документы общедоступными, чтобы пользователи могли работать совместно с одним каталогом, то можно рассмотреть вариант использования Samba (см. гл. 6). Этот сервис менее болтлив и может решить ваши потребности в разделении каталогов сервера.
14.9. Определение взлома
Для эффективной защиты сервера очень важно вовремя определить, что сервер был взломан. Чем раньше вы узнаете о проникновении в систему хакера, тем скорее сможете отреагировать и предотвратить печальные последствия. Помните, взломы бывают всегда и с любой системой, но вы должны уметь их раскрывать.
Как можно выявить хакера? Существует очень много методов, и сейчас мы рассмотрим наиболее интересные и эффективные.
14.9.1. Осведомлен, значит защищен
Очень часто я использую чрезвычайно эффективный, но сложный в реализации метод — информирование при запуске потенциально опасных программ. Сложность заключается в том, что надо уметь программировать под Linux хотя бы на каком-нибудь языке. Лучше, если это будет С, но можно и Perl. В крайнем случае, подойдет умение писать сценарии (командные файлы).
Итак, в чем заключается мой метод? Войдя в систему, хакер всегда оглядывается и старается найти способ укрепиться в системе, чтобы оставаться долгое время незаметным для администратора. Для этого взломщик чаще всего выполняет команды who, su, cat и др. Ваша задача установить на них ловушки. Например, можно изменить код программы su так, чтобы сразу после ее выполнения администратору направлялось письмо.
Получив сообщение о том, что была выполнена опасная команда, и она запускалась не администратором, есть повод проверить систему на наличие в ней постороннего.
Если вы не умеете программировать, можно обойтись и средствами самой ОС. Допустим, что вы хотите получать сообщения каждый раз, когда выполняется команда who. Взломщик часто выполняет такую директиву, когда входит в систему, чтобы узнать, есть ли там администратор. Определить место расположения программы можно командой:
which who
В результате вы должны увидеть путь типа /usr/bin/who.
Для начала запоминаем права на файл, выполнив команду:
ls -al /usr/bin/who
Для данной программы должны быть права -rwxr-xr-x, что соответствует числу 755.
Теперь необходимо переименовать файл /usr/bin/who в /usr/bin/system_who. Это можно сделать следующей командой:
mv /usr/bin/who /usr/bin/system_who
Меняем права доступа:
chmod 755 /usr/bin/system who
Теперь, чтобы выполнить команду who, нужно использовать имя system_who. Но скопированный файл может стать неисполняемым, поэтому второй командой мы восстанавливаем права.
Затем создаем заглушку для программы who. Это будет файл с именем who, в директории /usr/bin. Когда хакер будет выполнять команду who, то будет запускаться наш файл. Для этого выполним команду:
cat /usr/bin/who
Теперь все команды, вводимые с консоли, будут записываться в файл /usr/bin/who. Наберите две строки:
/usr/bin/system_who
id | mail -n -s attack [email protected]
После этого нажмите сочетание клавиш <Ctrl>+<D> и измените права на созданный нами файл /usr/bin/who, установив значение 755.
Выполните команду who. Все вроде нормально, но если проверить почту, то в вашем ящике будет лежать новое письмо с заголовком "attack" (рис. 14.3), и в нем будут находиться параметры (все, что вернет команда id) пользователя, выполнившего команду. Это из-за того, что запустилась не системная команда, а наш файл, который содержит две строки:
□ /usr/bin/system_who — сначала запускаем системный файл who, который мы переименовали, чтобы взломщик ничего не заподозрил;
□ id | mail -n -s attack [email protected] — выполняется команда id, а результат направляется с помощью почтовой программы mail в почтовый ящик [email protected] Ключ -s задает заголовок письма. Ключ -n предотвращает чтение файла /etc/mail.rc. Я рекомендую указывать только эти атрибуты, чтобы на экране не появлялось лишней информации, и взломщик ничего не заподозрил. Хакер не должен знать, что программа отправила администратору какое-нибудь сообщение.
Рис. 14.3. Пример сообщения об атаке
Таким образом, можно подменить все опасные программы, которые должны быть недоступны простым пользователям.

