Можно ли найти компромисс между удобством использования и безопасностью? Попробуем ответить на этот вопрос на примере сравнения настроек безопасности в GNU/Linux и Windows.
Существует миф, что вирусов под Linux не существует, что их трудно написать и т. п. На самом деле, вирусам в Linux гораздо сложнее выжить в силу ограниченности возможностей по изменению настроек системы в стандартном пользовательском окружении. Конечно, это не значит, что их нет. Это означает, что вирусы не могут нанести значительный вред системе. Еще одним фактором, преграждающим путь к повреждению системы в Linux, представляют собой различия системного окружения разных GNU/Linux-дистрибутивов, поскольку они мешают создать универсальную программу, способную работать без перекомпиляции на любом из них. Это является серьезным препятствием не только для вирусов, но и для коммерческих компаний, которым в ряде случаев невыгодно создавать открытые программы. Таким образом, кроме неизбежных ошибок в ПО (так называемых уязвимостей), важную роль в вопросах безопасности играют культура работы, связанная с разделением повседневных задач от задач настройки компьютера, и системное окружение, в котором эти задачи выполняются.
Что же понимается под культурой безопасной работы для профессионалов в области IT? Во-первых, это "защита от дурака" на всех уровнях работы системы, во-вторых — разделение привилегий, в-третьих — сетевая безопасность и, наконец, — регулярные обновления системы.
Довольно часто специалисты по безопасности информационных систем сравнивают недостаточно защищенные системы "с квартирой без замков" или "без дверей". Дверьми и замками для пользователя являются программы, запрашивающие пароли. Сами пароли играют роль ключей. Конечно, не очень интересно использовать пять замков для квартиры, в которую можно легко залезть через форточку. Но, тем не менее — это не повод снимать дверь... Многие пользователи неохотно используют пароли. Так возникает первая брешь для вирусов и хакерских атак.
Современные системы способны управляться удаленно и позволяют разделять задачи на пользовательские и системные. Пароли для безопасной работы в операционной системе в условиях сетевого взаимодействия необходимы. При этом нужны как минимум два пароля — личный и администраторский.
Не стоит работать с повседневными задачами, используя привилегии администратора. В Windows — это наличие пользователя в группе администраторов, в Linux — это SUDO, настроенный на запуск приложений из-под администратора без ввода пароля.
Права администратора для работы в Windows во многих случаях жизненно необходимы. Например, подключение COM-порта, запись CD/DVD и даже просмотр календаря требуют прав администратора. То есть даже при желании в Windows трудно воспользоваться тем, что является основой построения безопасности. Вместо этого в Windows существует ряд "костылей" в виде антивирусного ПО, которое, дублируя системные средства, проводит беспрерывный поток проверок действий пользователя. И это вторая брешь для вирусов и хакерских атак. Получается, что антивирусное ПО, хотя и косвенно, является причиной того, с чем борется. В этом плане шутка по поводу наличия в лабораториях антивирусных компаний отделов, пишущих вирусы, имеет под собой долю истины.
С повсеместным распространением доступа в Интернет, созданием домашних сетей и разрастанием локальных сетей предприятий сетевая защита отдельных персональных компьютеров перешла в разряд первостепенных задач. Для этого применяются межсетевые экраны, которые также называются брандмауэрами или файерволами (англ. firewall). В том или ином виде встроенные аналоги этих программ присутствуют как в Linux, так и в Windows. Тем не менее, в Windows не все необходимые функции реализованы и вынесены для пользовательской настройки. Поэтому для комфортной работы пользователи зачастую вынуждены отключать эту защиту. При отсутствии качественных паролей или полном отсутствии паролей такая система становится открытой для сетевого вмешательства. И это третья брешь, которая приводит к печальным последствиям, поскольку такая уязвимость подобна рекламе квартиры, "где деньги лежат".
Операционную систему необходимо периодически обновлять. Однако только что установленный и подключенный к сети персональный компьютер при наличии неисправленной уязвимости может быть атакован до получения необходимых обновлений. Единственным решением здесь может быть только достаточно частый выход новых версий ОС, в которые интегрируются обновления. В Linux — это новые выпуски дистрибутивов и репозитарии с обновлениями, в Windows — это интеграция так называемых пакетов обновлений или сервисных пакетов (англ. service pack) в уже выпущенную систему, а также сетевая система обновлений.
Политика "работает — не трогай" зачастую приводит ранее надежную систему, для которой уязвимости не обнаружены, в состояние открытой для всевозможных атак. Как показывает практика, пользователи не склонны самостоятельно интересоваться дополнениями и обновлениями системы, которая уже работает. И это тоже значительная брешь в безопасности, обеспечение которой в данном случае определяется необходимостью периодических действий.
Windows позволяет настроить автоматическое обновление системы, но при этом только базовых системных компонентов. Обеспечение обновлений каждого из дополнительно установленных программных продуктов необходимо проводить отдельно. Установка же ПО в Linux обычно производится из набора репозитариев, включающих в себя большую часть устанавливаемого ПО. Таким образом, источник обновлений и установки новых программ в Linux объединены, что позволяет обновлять систему полностью с помощью единого механизма установки и обновлений.
К сожалению, вышеприведенный список рекомендаций не всегда осуществим в силу наличия гигантского набора решений — знакомых, привычных, комфортных и даже работающих, но не способных к модификации, которая сделает эти решения безопасными, и одновременно оставит привычную и удобную среду столь же привычной и удобной, как раньше. К еще большему сожалению хочу отметить, что эти решения плохи еще и тем, что постоянно тиражируются, что только усугубляет положение в области безопасности персональных компьютеров.
Евгений СИНЕЛЬНИКОВ