Михаил Флёнов - Linux глазами хакера стр 7.

Шрифт
Фон

Почему именно эта ОС получила такое признание, ведь были и есть другие открытые проекты, а по реализации даже лучше Linux? Я связываю эту популярность с тем, что Linux создавался хакерами и для хакеров. Очень приятно, когда ты работаешь в операционной системе, в которой есть частичка тебя. Любой пользователь может вносить в исходный код системы любые изменения и не бояться преследования со стороны закона.

Изначально популярность среди администраторов росла благодаря тому, что эта ОС поддерживала основные стандарты Unix, к которым относятся POSIX, System V и BSD. При этом система была написана для дешевой (по сравнению с дорогостоящими серверами Sun и IBM) платформы x86 и обладала всеми необходимыми возможностями. Таким образом, многие фирмы смогли оптимизировать свои расходы на организацию инфраструктуры информационных технологий (ИТ) за счет перевода некоторых серверных задач на бесплатный продукт - Linux.

Среди первых задач, которые стали доверять Linux, - организация Web-сервера, и с ней ОС справляется великолепно. Трудно точно оценить, какой процент пользователей сейчас использует Linux, но большинство статистических анализов показывает, что на Linux совместно с сервером Apache приходится большая часть.

На данный момент в Linux можно сделать практически все. Для этой ОС написано уже множество продуктов, которые распространяются бесплатно и позволяют решать всевозможные задачи. Компьютеры с установленной Linux используют в различных областях науки, экономики и техники, в том числе и при создании специальных эффектов для кино.

Не менее важным фактором популярности стала демократичность ОС. Вас не ограничивают в возможностях и не заставляют следовать определенным предпочтениям разработчика. В комплект поставки ОС включается по несколько программ одинакового назначения, например, несколько браузеров или офисных программ. В Windows такое невозможно. Мы, наверное, никогда не увидим в одном дистрибутиве браузеры Internet Explorer, Mozilla и Opera (самостоятельные коммерческие продукты). В Linux конкуренция действительно свободная, и никто не запрещает использовать сторонние разработки и не борется с этим.

1.3. Открытый исходный код - это безопасно?

Бытует мнение, что программы с открытым исходным кодом надежнее и безопаснее, чем коммерческие.

Сторонники этого утверждения считают, что такую систему исследуют много людей разными способами и тем самым выявляют все возможные погрешности. ОС Windows XP показывает достаточно высокую надежность и безопасность, хотя является коммерческим продуктом. А самое главное, что ошибки исправляются своевременно, доступны для свободного скачивания и легки в установке.

Да, искать ошибки на уровне кода совместно с тестированием готового продукта намного проще и эффективнее, но результат далек от идеала. Несмотря на массовое тестирование в Linux достаточно часто находят ляпсусы. А если посмотреть, какая армия пользователей обследовала последние версии Windows, то можно было бы подумать, что она станет безупречной. Тестирование - это одно, а применение в "боевых условиях" демонстрирует совершенно непредсказуемые результаты.

Открытость в отношении Linux имеет одно преимущество - отличное соотношение цены и качества. Возможность бесплатно установить ОС позволяет сэкономить большие деньги. Но затраты появятся в плане поддержки, которая для Linux стоит достаточно дорого, поэтому со своевременными обновлениями могут возникнуть проблемы. К тому же администрирование Linux требует больших навыков и умений, чем Windows. Отсутствуют мастера, которые облегчат жизнь. Необходимо знать команды Linux и уметь ими пользоваться без подсказки. Именно поэтому эта ОС до сих пор не поселилась в наших домах.

Почему же Linux так сложна? Ответ прост. Производительность и удобство - несовместимые вещи. В Windows все предельно ясно, но для выполнения какой-либо операции может понадобиться множество щелчков мыши и просмотр нескольких диалоговых окон, что отнимает драгоценное время. В Linux нужно запустить консоль и выполнить нужную директиву. Проблема только в том, что надо помнить множество команд.

ОС Windows везде, где только можно, использует визуальное представление и графический интерфейс. В Linux же графические утилиты слишком просты и зачастую не обладают достаточными возможностями, но это поправимо, и сейчас появляется все больше оконных утилит, упрощающих процесс настройки. Пройдет какое-то время, и Linux станет тривиальной в применении и при этом сохранит всю мощь и скорость использования командной строки.

Так как настройка Linux - достаточно сложная процедура, требующая высокой квалификации, очень часто именно из-за неправильно установленных параметров эта система попадает под огонь хакеров. Любая система (Windows, Linux или Mac OS X) с настройками по умолчанию далека от идеала. Часто безопасностью жертвуют для обеспечения производительности или удобства. В некоторых программах включаются сервисные функции, которые облегчают работу администратора (например, отладка в интерпретаторе PHP), но и упрощают взлом со стороны хакера. Именно поэтому безопасность системы напрямую зависит только от человека, который ее обслуживает.

Наша задача не просто научиться работать с ОС Linux, а делать это эффективно, т.е. суметь настроить ее на максимальную производительность и безопасность. Именно такую цель мы и поставим перед собой.

И все же, безопасность Linux выше, чем Windows, и это не связано с открытостью или закрытостью исходного кода. В Linux многие вопросы решены лучше, чем в Windows, например, работа с памятью, определенная область которой выделяется при запуске программы. Выйти за ее пределы невозможно (только в крайних случаях, для обмена данными с другими приложениями). А в Windows каждая программа может получить доступ к любому участку памяти, вплоть до системного. Это грозит тем, что программа по ошибке может изменить чужую область памяти и даже разрушить систему.

Начиная с Windows 2000, подсистема работы с оперативной памятью улучшилась, но она все равно несовершенна. Например, ОС Linux после завершения программы сама может очистить память, потому что точно знает, где, сколько и под какие нужды было ее выделено. В Windows это реализовать сложнее, поэтому можно только надеяться на совершенствование кода.

1.4. Ядро

Ядро - это сердце ОС, в котором реализовано управление физическими и программными ресурсами компьютера. Помимо этого оно позволяет получить доступ к различному железу. Например, ранние версии ядра обеспечивали работу только двух USB-устройств: клавиатура и мышь. Начиная с версии 2.4, встроена поддержка USB-видеокамер, принтеров и других устройств.

Номер версии ядра Linux состоит из трех чисел:

□ первое (старший номер) - указывает на значительные изменения в ядре;

□ второе (младший номер) - характеризует появление небольших изменений. По нему можно определить, является ядро проверенным или предназначено для тестирования и нет уверенности, что оно не содержит ошибок. Если число четное, то ядро прошло тщательное тестирование. В противном случае установка данной версии не гарантирует стабильной работы;

□ третье - номер очередного рабочего релиза (сборка). В некоторых случаях это число опускают. Например, мы в этой главе уже говорили о ветке 2.4, и в данном случае не указана именно сборка.

Вы должны самостоятельно обновлять ядро или помогать в тестировании нестабильных версий. Новые версии ядра можно скачать по адресу www.kernel.org или с сайта производителя вашего дистрибутива.

Обновление ядра позволяет не только получить новые возможности по работе с железом, повысить производительность системы, но и исправить некоторые ошибки, которые есть всегда и везде. Самое главное, что обновление ядра в Linux не влечет за собой переконфигурирования всей ОС, как это происходит в некоторых других системах. Я видел компьютеры, которые были установлены еще несколько лет назад и не перенастраивались с тех пор, а только обновлялось ядро и программное обеспечение. Такое бывает редко, потому что, как правило, периодически необходимо обновлять железо, наращивая мощности, потому что запросы программ и пользователей растут не по дням, а по часам.

1.5. Дистрибутивы

На данный момент существует множество различных дистрибутивов Linux, но несмотря на это легко проглядывается схожесть между ними, т.к. большинство имеет общие корни. Например, многие дистрибутивы построены на основе Red Hat Linux. Компании-производители вносят некоторые коррективы в инсталляцию (чаще всего только графические), изменяют список включаемого программного обеспечения и продают под своей маркой. При этом ядро системы и устанавливаемые программы чаще всего поставляются абсолютно без изменений.

Даже если установочные версии имеют разных производителей, в качестве графической оболочки почти везде используется KDE или/и GNOME, а при отсутствии в поставке их всегда можно установить. Таким образом, в не зависимости от основного дистрибутива у всех будет одинаковый графический интерфейс.

В данной книге мы будем рассматривать один из клонов самого распространенного дистрибутива Red Hat (по некоторым данным составляет около 50 % рынка Linux). В качестве примера я выбрал ASPLinux, как самый популярный в России. Если вы будете пользоваться другим дистрибутивом, то особой разницы не заметите (только в графической части во время установки).

Разнообразие дистрибутивов является самым слабым звеном ОС Linux. Когда вы начнете работать с ОС, то увидите, что большая часть операций не стандартизирована (можно расценивать как следствие открытости кода). Получается как в поговорке "Кто в лес, кто по дрова". Это серьезная проблема, которая усложняет восприятие.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке