Родерик Смит - Сетевые средства Linux
• Изменение регистра некоторых символов. Если в вашей системе при распознавании пароля учитывается регистр символов, измените базовую последовательность так, чтобы в ней присутствовали как прописные, так и строчные буквы. Например, составленные выше последовательности можно представить в виде BUnPeN и YiWTtd. Если же система при проверке пароля не учитывает регистр символов, то подобная модификация не скажется на уровне защиты.
• Добавление цифр и знаков пунктуации. Добавив выбранные случайным образом цифры или знаки пунктуации в случайные позиции базовой последовательности, вы получите пароль наподобие BU3nP&eN или Y+iWTtd2.
• Изменение порядка следования символов. Если в базовой последовательности вы объединили два слова, измените порядок следования символов в одном из них на обратный. На основе одного из приведенных выше примеров таким способом получим пароль BU3nHe&P.
Вы можете модифицировать базовую последовательность и другими способами. Несмотря на то, что полученный в результате пароль выглядит как случайный набор символов, он легко запоминается. Записывать пароль на бумаге или в файле нельзя. Если ваша записка или файл, содержащий пароль в незакодированном виде, попадет в чужие руки, важные данные, содержащиеся на вашем компьютере, могут стать достоянием посторонних лиц.
Для того чтобы проверить, насколько хорош выбранный вами пароль, воспользуйтесь одной из программ, применяемых взломщиками для подбора паролей, например Crack (http://www.users.dircon.со.uk/~crypto/). Если эта программа сможет подобрать ваш пароль, значит, процедуру выбора пароля надо повторить.
ВниманиеИспользуя программу подбора паролей, запускайте ее на компьютере, не подключенном к сети, иначе результатами вашей работы может воспользоваться хакер. Следует заметить, что администрации многих организаций возражают против использования программ подбора паролей, поэтому планы, связанные с применением подобных программ, следует согласовать с руководством.
Выбрав пароль, надо принять меры для того, чтобы сохранить его в секрете. Как было сказано выше, записывать пароль нельзя. Недопустимо также сообщать его кому- нибудь (даже членам семьи или сотрудникам). Вы должны объяснить пользователям, что их пароли вам не понадобятся. Иногда бывает, что взломщик звонит пользователю, представляется системным администратором и просит сообщить пароль. Ваши пользователи не должны поддаваться на подобную уловку.
Даже если пользователь удачно выберет пароль и никому не сообщит его, существуют способы узнать его. Злоумышленник может незаметно подсмотреть, какие клавиши нажимает пользователь при вводе пароля. Проще всего реализовать этот способ в компьютерном классе. На рабочем месте сотрудника сделать это достаточно сложно. Пароль также может быть похищен в результате "подслушивания". Многие сетевые карты можно перевести в режим сбора поступающих на них пакетов. В результате пароль, передаваемый от клиента серверу, будет перехвачен. Это можно сделать как в локальной сети, так и в Internet. Чтобы уменьшить риск подслушивания пароля, в сетях Ethernet надо вместо концентраторов применять коммутаторы. В отличие от концентраторов, коммутаторы передают пакеты только тем компьютерам, которым они предназначены. При использовании концентраторов пароль может быть перехвачен лишь в том случае, когда злоумышленнику удастся разместить программу подслушивания на компьютере, на котором выполняется сервер, либо на компьютере, на котором работает клиент. Еще лучше использовать программные средства, выполняющие шифрование пароля. В этом случае подслушивание становится бессмысленным.
Своевременное обновление системы
Многие системы, вторые считаются уязвимыми для атак извне, приобрели подобную репутацию лишь из-за отсутствия должной поддержки. Считанные минуты, потраченные на получение и установку дополнительных модулей, предназначенных для устранения недостатков в защите системы, могут сэкономить многие часы, в течение которых приходится бороться с последствиями вторжения взломщика. Если вы достаточно быстро установите дополнительный модуль, злоумышленник, вероятнее всего, не успеет воспользоваться ошибкой, найденной в системе, для своих целей.
Влияние ошибок на выполнение программ
В программном обеспечении встречаются различные ошибки, которые могут проявляться по-разному. Наличие ошибок может привести к повреждению данных или программного кода, а может изменить поведение программы. Некоторые ошибки влияют на защиту системы. Встречаются такие, которые предоставляют пользователю возможность вносить изменения в любые файлы, расположенные в различных каталогах (в том числе и в файлы, определяющие конфигурацию системы), либо запускать программы от имени других пользователей. По сути, подобные ошибки наделяют обычного пользователя привилегиями суперпользователя.
В серверах, как и в любых других программах, также могут встречаться ошибки. Однако, в отличие от обычных программ, ошибки в серверах могут повлечь за собой более тяжкие последствия для системы, так как серверы доступны всем пользователям сети. Предположим, что обычная программа, например man, содержит ошибку, в результате которой обычный пользователь может получить неограниченные полномочия. Если локальные пользователи заслуживают доверия, а у внешних пользователей нет доступа к ресурсам этого компьютера, система не пострадает. (Такое предположение не всегда оказывается верным, поэтому замеченные ошибки надо устранить как можно скорее). Если же Web-сервер, доступный из Internet, содержит ошибку, позволяющую проникнуть в систему, ею сможет воспользоваться любой желающий.
Проблема усугубляется тем, что многие серверы запускаются от имени пользователя root. Если программа (не обязательно сервер) запускается с полномочиями обычного пользователя, возможности злоумышленника, воспользовавшегося недостатками в защите, ограничены. Например, такая программа не позволит взломщику изменить содержимое файла /etc/passwd. Если же программа запускается от имени суперпользователя, возможности взломщика резко возрастают. В частности, он может создать новую учетную запись и пользоваться ею в дальнейшем. Привилегии root необходимы многим серверам для нормальной работы. Например, права пользователя root нужны серверам регистрации. Более того, чтобы принимать обращения через порт с номером ниже 1024, программа должна быть запущена от имени суперпользователя. (Полномочия root имеет суперсервер, но программы, запускаемые с его помощью, обычно выполняются с более низкими полномочиями.)
В результате становится ясно, насколько важно вовремя обновить программы, реализующие серверы. Не все дополнительные модули предназначены для исправления ошибок, некоторые из них призваны расширить возможности программы. Если эти возможности вам не нужны, устанавливать такой модуль не обязательно. Если же вы узнали о появлении дополнения к системе, устраняющего недостаток в ее защите, установите его как можно скорее.
Источники информации о дополнениях к системе
Информацию о появлении дополнений к программным продуктам можно получить из следующих источников.
• Web-узлы и списки рассылки, посвященные программным пакетам. Для поддержки большинства пакетов, в том числе серверных программ, организуются официальные Web-узлы, списки рассылки и группы новостей. Просматривая материалы, опубликованные на Web-узлах, а также сообщения в списках и группах новостей, вы сможете своевременно получить информацию о появлении дополнительных модулей. Для получения данных таким способом требуется много времени, так как в системе Linux используются десятки серверов. Подобный подход приемлем в том случае, если необходимо выяснять положение дел с одним-двумя редко используемыми программными пакетами.
• Web-узел конкретной версии Linux. Для каждого дистрибутивного пакета Linux поддерживается свой Web-узел, на котором публикуется новая информация о системе, в том числе сведения о дополнениях к программам. В состав подобного Web-узла включаются Web-страницы с данными о серверах, предназначенных для выполнения в системе. В частности, на этих Web-страницах размещаются сведения о недостатках в защите серверов и способах их устранения. Преимущество подобного подхода состоит в том, что вам нет необходимости обращаться к различным Web-серверам; все нужные сведения вы можете получить на одном узле. Однако такой подход имеет свой недостаток. Для того чтобы данные о дополнениях к программам попали с узлов компаний-разработчиков на узел дистрибутивного пакета Linux, необходимо определенное время. Иногда это время составляет несколько минут, но чаще всего информация появляется на Web-узле с задержкой в несколько часов и даже несколько дней.