Демифологизация: продолжение
Контрафактное ПО
Для прояснения этого мифа рекомендуется рассмотреть свободное и несвободное ПО (см. первую лекцию школы), при этом, возможно, имеет смысл обратить внимание на свободное программное обеспечение в качестве основного примера. Основные легенды:
- Ни одну программу копировать нельзя. Это неправда, всё зависит от условий распространения. Даже некоторые несвободные программы можно копировать.
- Программное обеспечение работает плохо потому, что оно контрафактное. В подавляющем большинстве случаев контрафактное ПО отличается от лицензионного лишь формально, сообразно тому, каким образом получен "регистрационный код" (или что-то аналогичное) -- путём оплаты или незаконным (не предусмотренным авторами) путём.
- Так как свободное программное обеспечение бесплатно, то оно производится неквалифицированными энтузиастами, и как следствие, ничего не готово к использованию прямо сейчас. В этом случае надо показать процесс разработки, надо сказать, что действительно есть много незаконченных проектов, но, если судить по качеству, готовности и так далее, ситуация схожа с ситуацией с несвободным программным обеспечением, просто модель распространения и использования --- другая.
Обновление системы
Существуют два мнения:
- Операционную систему Windows не надо обновлять, поскольку это может нарушить её работоспособность. В это есть смысл, так как установлено много сторонних программ, и они могут пострадать в результате обновления всей системы.
- Система без обновления обязательно имеет проблемы с безопасностью. Это не легенда, а правда. В случае с GNU/Linux критических дыр очень мало, одна в несколько лет, и хороший дистрибутив обновляется через несколько часов после появления такой ошибки.
Установка и обновление программ
Если Вы устанавливаете программу в дистрибутив или хотите обновить уже установленную программу, всё зависит от того, что это за более новая программа. Если это критические обновления, то они наверняка будут в updates. Причем эта программа будет совместима с предыдущей версией. Если же ставится версия, не проверенная на совместимость с предыдущей, то это вина того, кто ее установил. В случае, если Вы берёте новый непроверенный пакет из хранилища, лучше брать src.rpm и собирать его в своём окружении. Если это удалось, значит, всё хорошо, если не собрался, то правильно сделали, что не ставили.
- Эшелонирование источников ПО ОС Linux:
- Дистрибутив, в нём достаточно много программ, чтобы не приходилось идти дальше.
- Репозиторий, там есть ещё больше программ.
- Интернет (стороннее ПО). Это уже более рискованно, даже более рискованно, чем установка проверенного ПО в ОС Windows, кроме случая, когда программа собиралась для той ОС той версии, которую вы используете.
Вирусы
О вирусах существует насколько мифов:
- В 2000х годах в рамках рекламы ОС Windows и, соответственно, антирекламы ОС Linux Microsoft, стараясь завоевать серверный рынок, утверждали, что ОС Linux разные, а ОС Windows всегда одинаковый. Это действительно так, и одним из следствий этого является то, что программа, эксплуатирующая одну уязвимость некоего программного продукта в одном дистрибутиве, скорее всего, не будет работать в другом дистрибутиве или даже в том же дистрибутиве через несколько недель или даже дней.
- Обычный пользователь в ОС Linux выполняет всего две операции над всей системой с правами администратора: установка ПО и некоторые редактирования конфигурационных файлов. Таким образом, помимо Вашей воли нарушить работу системы нельзя никак. Если каким-то образом случится так, что проэксплуатируется ещё не закрытая уязвимость в какой-то программе и будет запущен вредоносный код, то он скорее всего не сможет сделать ничего плохого с системой, потому что каждый демон, отвечающий за некоторый сервис, запускается от лица специального пользователя, сильно поражённого в правах. А если он запускается с правами суперпользователя, то в изолированном окружении.
- Вы скачали и установили ПО, содержащее зловредный код. В каком случае это может быть? В дистрибутиве Linux обычно включено огромное число заведомо "чистых" программных продуктов; в хранилище их ещё больше. Скорее всего, у вас задача, решения которой нет в хранилище, но есть некий неизвестный производитель программ, который выпускает нужный продукт. Для начала, стоит проанализировать задачу --- зачастую её можно будет решить при помощи находящегося в репозитории программного обеспечения. Если же программа стороннего производителя настолько уникальна, что без неё обойтись никак нельзя, можно, тем не менее, предпринять некоторые шаги по сохранению безопастности системы. Как-то, запускать программу в изолированном окружении, запускать программу от лица специального поражённого в правах пользователя, если это Windows-программа --- настроить окружение wine таким образом, что эта программа не сможет навредить нигде, кроме заданного каталога.
- Не последнюю роль играет также и то, что ОС Linux - нераспространенная и трудновзламываемая ОС. То, что называют "взломами" для ОС Linux, в большинстве случаев есть уязвимости в некотором программном обеспечении. И если эти уязвимости представляют серьёзную угрозу безопасности, то они будут устранены весьма быстро --- иногда, в течение нескольких часов.
Тем не менее антивирус для ОС Linux есть --- это ClamAV и графические оболочки к нему (например, KlamAV для KDE). Под ОС Linux есть и Антивирус Касперского, и Dr. Web, однако они не всегда корректно работают: это несвободные программные продукты, а у авторов нет возможности адаптировать свои программы для всех дистрибутивов Linux каждый раз, как они обновляются. Назначение антивируса а Linux -- проверять почту и файлы при передаче их пользователям Windows.
На сегодня главное достоинство антивируса -- это не количество знакомых ему вирусов, а оперативность обновления базы данных, по которым определяются новые вирусы. Чем раньше новый вирус станет известен, тем больше шансов не "пропустить" вирусную атаку. ClamAV здесь показывает неплохие результаты, находясь, по некоторым сведениям, в тройке лучших по оперативности добавления информации о новых вирусах. Следует заметить, что ClamAV -- это сканер, он определяет факт заражённости файла, но не "лечит" его. Впрочем, подавляющее большинство современных вредоносных программ -- "червей", "ботов" и т. п. -- не заражают файлы, так что для того, чтобы от них избавиться, их надо удалить.
Firewall
Существует убеждение, что в системе должна быть сущность под названием Firewall, которая постоянно задает вопросы вроде "А хотите ли Вы, чтобы к вам присоединились?" или "А хотите ли Вы, чтобы какая-то программа куда-то присоединилась?". Откуда такое представление? Во-первых, человеку абсолютно бесполезно объяснять, что такое стэк протоколов TCP/IP, во-вторых, в ОС Windows много входящих портов и служб, в которых есть проблемы с безопасностью, оставлены открытыми, и в этой ОС необходимость наличия такой сущности очевидна. С другой стороны, это связано с предыдущим пунктом --- существует масса ПО вирусного типа, которое устанавливается без санкции пользователя, и делает нечто незаметное. И Firewall играет роль некого сторожа, который это отслеживает, и, если что-то кажется ему подозрительным, он требует разрешения пользователя на это действие.
Программы подобного класса в ОС Linux есть, например, Suse personal firewall. Но необходимость подобного ПО очень и очень сомнительна, так как нет необходимости контролировать входящие и исходящие подключения --- по умолчанию нет ни одной службы, которой можно подключиться снаружи. И если администратор что-то открыл, то он что-то открыл, сознавая это, и это его дело. Используется же firewall, который с точки зрения системы выглядит иначе: это таблица правил, указывающая, каким образом поступать с какими пакетами в различных сетевых соединениях на различных уровнях сетевого взаимодействия. В ОС Linux таким firewall-ом является iptables.
Оптимизация
Наличие оптимизаторов --- явный признак того, что систему можно привести в состояние, требующее оптимизации.
- Оптимизация системы.
- В ОС Linux существует только одна возможность заполнить ненужными пакетами систему: если устанавливаемая программа зависит от других программ, то они не будут автоматически удалены при удалении самой программы. Таким образом, единственный способ внести некоторый беспорядок в систему --- постоянно что-то ставить и удалять, после чего останется некоторое число пакетов, которые не используются. Но их вполне можно найти и удалить штатными средствами.
- Что же касается ОС Windows, то в ней практически невозможно составить гармоничный список того ПО, которое ставится на компьютер. Это усугубляется реестром, который является базой данных, содержащей информацию обо всех настройках системы. Реестр практически не документирован и слишком велик, чтобы держать все настройки в голове. Он очень часто приходит в замусоренное состояние и крайне неудобен в использовании человеком. В ОС Linux есть каталог /etc, в котором хранятся конфигурационные файлы. Конфигурационные файлы принадлежат пакету, при удалении установленного пакета они либо удаляются, либо откладываются с другим именем. Таким образом, невозможно перепутать действующий конфигурационный файл с отложенным.
- Оптимизация диска.
- Файловые системы в ПСПО (ext3) устроены так, что оптимизация им не требуется. Платится за это порогом оптимизации --- 10% - т.е. они всегда неоптимальны, но не более, чем на 10%. Она устроена следующим образом: файл расположен в пределах одной группы цилиндров (цилиндр --- это элемент диска на уровне более низком, чем файловая система), внутри которой дефрагментация не требуется (фрагментация просто-напросто отсутствует). Когда система пишет файл на диск, она пытается записать его так, чтобы он попал в одну группу цилиндров. Если файл не влезает в группу цилиндров, это значит, что просто не хватает места, и она записывает остаток файла в другие группы, по возможности соседние. Если же удалить часть файлов и поработать с остальными, то фрагментация, точнее, её отсутствие, восстановится. Кроме того, небольшая часть диска всегда свободна - её может заполнить только root.
Администратор
Во всех POSIX-системах, в частности, ОС Linux, в частности, ПСПО, есть 2 категории пользователей. В первой --- root (не администратор, как в ОС Windows), во второй -- все остальные. На суперпользователя (root-а) не распространяются никакие ограничения по правам доступа (но при включении неких дополнительных мер безопасности это может быть и не так). В результате, он имеет права на запись к большинству файлов в файловой системе. У пользователя есть доступ только к домашнему каталогу. ОС Linux организована так, что пользователю не нужно никуда, кроме как в это каталог, что-либо записывать. Работа с ПО происходит от лица обычного пользователя всегда, даже если это служба. Обычному пользователю не рекомендуется выполнять действия от лица суперпользователя, не зная, к чему они приводят. От лица root-а запускается две операции: настройка сети, графики, системных служб и установка/удаление программ (Alterator и Synaptic). Но и то, и другое происходит не в результате работы самой программы с правами суперпользователя сразу, а запуском специальных программ, которые эти права получают. При попытке запустить графическое окружение от лица суперпользователя будет показано предупреждение.
Отдельно надо упомянуть об администраторах служб: администратор принтерного сервера, БД и прочее. Для этого зачастую не нужно получать права суперпользователя, всего лишь состоять в особой группе, а даже если нужно, то всё сводится к изменению конфигурационных файлов или запуска специальных приложений, что можно эффективно ограничить (например, при помощи программы sudo).
Не следует путать root-а и администратора Windows. Администратор с точки зрения ОС Linux это не регистрационное имя, а человек. Он работает большую часть времени с правами обычного пользователя и изредка совершает некоторые действия от лица суперпользователя (собственно говоря, он вообще имеет возможность их совершать), и обычно эти действия связаны с настройкой системных служб.
Сведения о ресурсах
Продолжительность (ак. ч.) |
Подготовка (календ. ч.) |
Полный текст (раб. д.) |
Предварительные знания |
Level |
1 |
1 |
1 |
|
1 |