Управление учетными записями пользователей linux
Самый первый шаг в защите Linux (да и любой другой системы семейства UNIX) — взятие под строгий контроль пользовательских и групповых учетных записей. Сюда входит принудительный выбор надежных паролей, предоставление доступа только к тем файлам, каталогам и интерпретаторам команд, которые действительно необходимы, и правильное управление учетной записью суперпользователя. В Linux есть множество утилит, позволяющих контролировать безопасность пользовательских учетных записей и групп.
Linux — многопользовательская среда. Это означает, что к одному и тому же компьютеру, работающему под управлением Linux, могут одновременно обращаться множество пользователей. Каждому из них соответствует учетная запись. И каждая из них несет потенциальную угрозу безопасности системы. В процессе создания и управления учетными записями следует придерживаться определенных правил:
■ выбирайте надежные пароли;
■ убедитесь в том, что у каждой учетной записи есть пароль;
■ активизируйте механизм устаревания паролей и файл скрытых паролей;
■ ограничивайте доступ пользователей к файлам;
■ используйте подключаемые модули аутентификации (РАМ);
■ используйте утилиту xlock или xscreensaver.
К дополнительным мерам относятся учет системных ресурсов, журнальная регистрация и общий контроль над состоянием системы.
Выбор паролей
Выбор надежного пароля — палка о двух концах. Необходимо, чтобы пароль было трудно отгадать, но в то же время легко запомнить. Первое требование означает, что пароль не должен никак ассоциироваться с пользователем, т.е. он не должен представлять собой имя жены или ребенка, кличку собаки, номер автомобиля и т.п. Пароли, выбранные в нарушение этого правила, могут быть разгаданы человеком, который лично знаком с пользователем.
В качестве пароля нельзя выбирать слова из словаря. Программы наподобие Crack легко «вычисляют» такие пароли, даже несмотря на то, что они зашифрованы. Программа последовательно шифрует элементы словаря и сравнивает результаты с зашифрованным паролем. При обнаружении совпадения пароль взломан!
Один из способов выбора надежного пароля заключается в следующем. Сначала составляется легко запоминаемая фраза, например «The two foxes jumped over the brown fence». Далее можно пойти разными путями; мы опишем два из них. Первый — просто взять начальные буквы каждого слова и образовать из них новое слово. Исключение составляет только слово «two», которое лучше заменить цифрой. В результате получается пароль «T2fjotbf». Второй вариант — взять вторую букву каждого слова, за исключением, опять-таки, слова «two». Получится «h2ouvhre». Можно придумать и другие, более изощренные схемы. Суть в том, чтобы придумать пароль, который трудно отгадать, но легко запомнить.
Другой подход к выбору надежных паролей заключается в их принудительном назначении. Можно написать собственную программу-генератор паролей, воспользоваться существующей или самостоятельно придумывать пароли наподобие «i%8TQ#lr». Для администратора это самый простой способ контроля над паролями. Но неужели вы думаете, что пользователям легко запоминать такие пароли? Что же им остается делать? Естественно, записать пароль на бумаге! С этого момента остается только надеяться, что пользователь не приклеит бумажку с паролем к монитору или не оставит ее на рабочем столе.:) Ситуация еще больше ухудшается, если используется механизм устаревания паролей, заставляющий пользователей периодически менять пароли.
Какие бы усилия ни предпринимались, даже самые надежные пароли оказываются бесполезными при наличии быстрых и недорогих компьютеров, утилит типа Crack и сетевых анализаторов. Если злоумышленник каким-то образом захватил список учетных записей и хешированных паролей, он может «прогнать» список через утилиту Crack и почти наверняка собрать неплохой «улов». Но это полбеды. Когда пользователь регистрируется в системе по сети, его имя и пароль часто передаются в открытом виде. В этом случае задача злоумышленника становится почти тривиальной. Ему нужно лишь воспользоваться сетевым анализатором для перехвата всех передаваемых пакетов. В одном из них будет записан незашифрованный пароль, и даже утилита Crack не понадобится.
Описанные выше атаки имеют высокие шансы на успех не в последнюю очередь из-за того, что регистрационные пароли Linux по умолчанию статичны. Имеется в виду, что один и тот же пароль многократно используется до тех пор, пока пользователь или администратор не поменяет его. Вместо статических паролей можно перейти на одноразовые пароли (стандарт ОТР). Но, вообще говоря, это довольно нетипичная ситуация, когда одноразовые
пароли применяются в локальной сети организации. Гораздо привычнее, когда они используются для передачи по незащищенным или внешним каналам. Так что ничего не поделать: выбирайте надежные пароли!