Linux глазами хакера
Шрифт:
В дальнейшем мы рассмотрим методы ручной проверки безопасности системы и программы, упрощающие этот процесс. Что использовать? Я же сказал, что все. Вы должны проверять систему всеми возможными методами. Ограничившись только одним способом, рискуете что-то упустить и оставить потенциальную лазейку.
12.2. Закрываем SUID- и SGID-двери
Как администратор или специалист по безопасности, вы должны знать свою систему от и до. Мы уже говорили, что одной из проблем может стать бит SUID или SGID. Вы должны вычистить все эти биты у программ, которыми не пользуетесь. Но как
Эта директива найдет все файлы, у которых установлены права 02000 или 04000, что соответствует битам SUID и SGID. Выполнив команду, вы увидите на экране примерно следующий список:
Самое страшное, что все программы из этого списка принадлежат пользователю root и будут выполняться от его имени. В системе есть файлы с SUID- и SGID-битом, выполняющиеся от имени других пользователей, но таких меньшинство.
Если вы видите, что программа не используется вами, то ее стоит удалить или снять биты. Если таких программ по вашему мнению нет, то подумайте еще раз. Может быть стоит от чего-то отказаться? Например, программа ping не является обязательной для сервера, и у нее бит SUID можно снять.
Если после корректировки привилегированных программ осталось много, то советую для начала убрать бит со всех программ. Конечно же, тогда пользователи не смогут монтировать устройства или менять себе пароль. А это им надо? Если уж возникнет острая необходимость, то всегда можно вернуть им такую возможность, восстановив SUID-бит.
А ведь можно сделать владельцем программы другую учетную запись, у которой будет меньше прав. Это сложно в реализации, потому что придется вручную изменять разрешения, но это сделает ваш сон более спокойным.
Почему необходимо регулярно проверять файлы на наличие SUID- или SGID-битов? Взломщики, проникая в систему, очень часто стремятся укрепиться в ней, сесть незаметно и при этом иметь максимальные права. Для этого может использоваться простейший метод — установка SUID-бита на интерпретатор команд bash. В этом случае интерпретатор для любого пользователя будет выполнять команды с правами root, и взломщику для выполнения любых действий достаточно находиться в системе с гостевыми правами.
12.3. Проверка конфигурации
Мы рассмотрели достаточно много правил конфигурирования системы, и помнить все невозможно. Настройка системы достаточно сложный процесс, во время которого очень легко ошибиться. Но т.к. есть определенные правила конфигурирования, т.е. и возможность автоматизировать проверку.
Как мы уже знаем, есть программы, которые могут проверять конфигурацию. Это должно происходить на компьютере локально. В настоящее время уже написано достаточно много утилит для автоматизации контроля. Некоторые из них устарели и давно не обновлялись, а какие-то появились недавно и только еще наращивают свою функциональность (количество проверок).
12.3.1. lsat
Первая
программа, с которой нам предстоит познакомиться, — lsat. Ее история не слишком длинная, но за счет частого обновления возможности программы быстро выросли, а благодаря модульной архитектуре расширение функций происходит легко и быстро.Программа lsat поставляется в исходных кодах, и найти ее можно по адресу http://usat.sourceforge.net/. На момент написания этой книги была доступна версия 0.9.2. Скачайте архив в свою домашнюю директорию, и давайте рассмотрим, как установить и использовать программу. На сайте доступны tgz- и zip-версия. Я рекомендую воспользоваться первой, потому что это родной архив для Linux и проще в использовании.
Для установки выполните следующие команды:
Первая директива распаковывает архив lsat-0.9.2.tgz. Имя файла может отличаться, если у вас другая версия программы. Вторая команда запускает конфигурирование, а третья — собирает проект из исходных кодов в один исполняемый файл.
Для запуска программы используйте следующую команду:
Теперь можно идти готовить кофе и медленно и печально пить его. Процесс тестирования системы занимает довольно много времени, особенно на слабых машинах. При запуске можно указать один из следующих ключей:
□
□
□
□
Лучше всего lsat будет работать на Red Hat-подобных системах, потому что в нее встроена возможность работы с RPM-пакетами, которые являются отличительной особенностью дистрибутива Red Hat Linux и его клонов.
Во время проверки вы увидите примерно следующий текст на экране:
Пока слова о безопасности отсутствуют. Только информация о том, что сканировалось. Все самое интересное после тестирования можно найти в файле ./lsat-0.9.2.tgz/lsat.out. Я прогнал эту программу на системе сразу после установки и получил документ размером 190 Кбайт. Таким образом, есть над чем подумать и что изучать в вашей системе.