Почему операционная система Linux безопаснее Windows и Mac OS
Для начала не забывайте о базовых правилах безопасности в компании.
- Не используйте рутовый пароль.
- Учите пользователей использовать сложные пароли и пользоваться такими инструментами, как LastPass.
Все решения, которые вы принимаете для компьютерных систем в компании, влияют на безопасность. Поэтому ОС также на нее влияет.
Не очень безопасный Windows
По оценкам cтатистики NetMarketShare, 88% компьютеров в сети используют Windows.
Компания Microsoft продолжает повышать безопасность системы. Среди улучшений: компания переписала код ОС, добавила свой антивирус, улучшила файерволы, ввела архитектуру песочницы, где программы не могут получить доступ к памяти ОС и другим приложениям.
Но основная проблема безопасности в том, что Windows — cамая популярная ОС. Безопасность ОС зависит в основном от количества людей, которые ее устанавливают себе на компы. Windows дает производителям вредоносного ПО простор для действий. Cамые громкие атаки вредоносного ПО — WannaCry, Melissa, — были направлены именно на Windows-системы.
Трой Вилкинсон, гендиректор компании Axiom Cyber Solutions говорит:
«ОС Windows всегда будет в конце рейтинга безопасности — в основном, из-за количества людей, которые ей пользуются».
Более безопасная macOS X
Если самая популярная ОС — самая частая мишень для атак, логично предположить, что менее распространенный вариант будет более безопасным.
Трой Вилкинсон говорит, что macOS X «в целом безопаснее, чем Windows. Раньше macOS считалась полностью безопасной с небольшим риском уязвимостей. Но за последние годы появились хакеры, которые научились делать вредоносное ПО, направленное против macOS».
Вывод: macOS X более безопасна, чем Windows, но не неуязвима, как было раньше.
Победитель в категории безопасности — Linux
Эксперты соглашаются, что Linux — самая безопасная ОС. Это самая популярная ОС на серверах. Но если говорить о корпоративном использовании, то компании не торопятся ее внедрять для сотрудников.
Если вы решите использовать Linux, нужно будет выбрать определенный дистрибутив. Пользователи в вашей компании будут хотеть более-менее понятный интерфейс, а вы будете ратовать за безопасность. Проблема в том, что чтобы пользоваться Linux, нужно быть более-менее продвинутым пользователем — эта ОС не для всех.
Отличительная черта безопасности Linux — открытый код. То, что программисты могут читать и комментировать код друг друга, может показаться небезопасным. Но это не так. Именно то, что у Linux открытый код, делает его самой безопасной ОС. Каждый может просмотреть код и удостовериться, что в нем нет багов или секретных ходов — все сообщество технарей обеспечивает безопасность Linux .
Katherine Noyes в статье PC World объясняет: «Microsoft может сколько угодно хвалиться своей армией нанятых программистов, но вряд ли их команда сравнится со всемирной базой программистов-пользователей Linux».
Другой фактор безопасности Linux, о котором говорит PC World: у Linux лучше настроена модель разрешений. На Windows пользователям обычно дают админский доступ по умолчанию. На Linux наоборот: там рутовый доступ сильно ограничен.
Третий фактор безопасности Linux — количество дистрибутивов. Некоторые из них специально разработаны таким образом, чтобы противостоять специфическим атакам.
Параллельная установка двух операционных систем: Windows и Ubuntu
Установка сразу двух операционных систем – это отличный способ получить лучшее от обеих опций: Windows и Linux. Установить две операционные системы на один компьютер сравнительно просто, к тому же это хорошая возможность заодно узнать больше о работе компьютера и его программного обеспечения. Когда вы собираете свой компьютер, то оказываетесь перед задачей выбора аппаратных компонентов, которые войдут в состав вашей системы. Это выбор, естественно, ограничивается рядом факторов, но, тем не менее, на ваше усмотрение остается множество вариантов, даже когда вы выбираете в рамках продукции конкретной фирмы, будь то «зеленые», «красные» или «синие». Когда вы, наконец, все собрали и услышали сигналы POST, остается еще один шаг, после которого вы сможете в полной мере наслаждаться своей новой конфигурацией! Прежде чем начать играть, работать с текстами или просто бродить по интернету, нужно установить еще один критически важный компонент – операционную систему (ОС).
Дистрибутив Ubuntu – хороший вариант для начинающих пользователей Linux, хотя есть и другие опции (также на основе Ubuntu), каждая из которых предлагает уникальный опыт перехода на Linux. Zorin и Pop!_OS – идеальные решения для геймеров или недавних пользователей Windows и элементарных ОС, отличающиеся к тому же потрясающим дизайном, который многим напоминает macOS. В принципе, вариантов ОС не так уж много. Для большинства людей Windows – это фактически синоним понятия «операционная система для ПК». Очень многие используют ее в своей повседневной компьютерной практике, она изначально поддерживает различные приложения и вообще доминирует на рынке. Одна из альтернативных опций, macOS – это проприетарная операционная система Apple. И вы не можете просто взять и установить ее на свой новый компьютер – из-за ряда лицензионных и других ограничений по использованию этой системы на компьютерах производства не Apple. Народ, конечно, нашел способы обходить эти ограничения, но Apple не считает это законным. И, наконец, Linux. Как мы косвенно уже упомянули, существует множество разновидностей дистрибутивов Linux, из которых вы можете выбрать наиболее подходящий к вашим задачам. Однако все они базируются на общем ядре Linux, поэтому вся наша дальнейшая аргументация в пользу Linux применима ко всем этим дистрибутивам. Так что вопрос выбора операционной системы, по большому счету, сводится к следующему: Windows или Linux? И мы в данной статье предлагаем вам рассмотреть еще один вариант: “А почему бы не обе?”
Почему Linux? И зачем нужны две операционные системы?
Если вы обычный пользователь, то более простым и надежным вариантом, вероятнее всего, считаете стандартную (и желательно заводскую) установку Windows. Зачем же связываться с Linux? Во-первых, затем, что большинство дистрибутивов Linux – бесплатные, что дает вам возможность немного сэкономить. Поскольку ядро Linux доступно в открытых источниках и большинство ОС Linux – бесплатные, вы даже можете изучить новейшие версии в их развитии. Во-вторых, Linux потребляет сравнительно мало ресурсов ПК. «В нагрузку» к этой ОС добавляют лишь небольшое количество «паразитного» ПО (bloatware), а системные требования для Linux обычно намного легче, чем для Windows: требуется меньше оперативной памяти, меньшее дисковое пространство для установки ОС, поддерживаются относительно старые модели процессоров, не говоря уже о том, что не требуется модуль TPM. Благодаря всему этому дистрибутив Linux будет наилучшим решением, если нужно реанимировать старый компьютер.
Многие пользователи ценят Linux за разнообразие опций настройки – начиная с выбора самого дистрибутива Linux, каждый из которых предлагает уникальный пользовательский опыт. И даже в рамках одного дистрибутива вы можете изменять вид интерфейса, выбирать различные опции менеджеров окон, настроек анимации, рабочего стола и т.д. А благодаря солидному и отзывчивому сообществу пользователей Linux и большому количеству форумов вы практически всегда получите грамотную техническую консультацию по интересующему вас вопросу. Однако Linux не является абсолютно универсальным решением. Например, некоторые приложения могут быть разработаны специально под среду Windows или Mac, поэтому в Linux они работать не будут. Для многих из этих приложений можно найти аналоги в открытых источниках, но некоторые – например, игры – такой альтернативы принципиально не предлагают. Эта ситуация потихоньку начинает меняться – Steam уже поддерживает многие игры на Linux – но все-таки, прежде чем забыть про Windows и полностью перейти на ПО из открытых источников, необходимо взвесить все потенциальные издержки, которые могут быть связаны с этим переходом.
На Steam продолжает расти число игр с поддержкой Linux.
Но зачем же забывать насовсем? Почему бы не установить на компьютер параллельно Windows и Ubuntu, чтобы иметь возможность пользоваться преимуществами каждой из этих ОС? В этом и состоит концепция “опциональной загрузки”, и нам осталось только рассказать вам, как это сделать. Для начала скажем несколько слов о том, что происходит в вашем компьютере при опциональной загрузке. Знать это в деталях не обязательно, но желательно иметь некоторые фоновые представления об этом процессе, чтобы лучше уяснить себе ключевые моменты последующей установки операционных систем.
Что происходит в компьютере во время загрузки?
Когда вы нажимаете кнопку питания вашего ПК, материнская плата включается и начинает процесс загрузки. Этот процесс осуществляется под управлением системы BIOS, которая проводит базовую диагностику аппаратного обеспечения ПК, проверяя наличие и функциональное состояние необходимых компонентов (оперативной памяти, накопителей, клавиатуры, мыши и т.д.). Затем BIOS обращается к главной загрузочной записи (Master Boot Record, MBR), которая начинает процесс загрузки ОС, чтобы далее вы могли запускать на компьютере свои приложения.
-
Установите первую ОС. Настоятельно рекомендуется в первую очередь установить Windows шт.
Windows и Linux, что безопаснее?
Николас Петрели (Nicholas Petreley) работает в компьютерной индустрии почти двадцать лет. Он был внештатным автором, редактором, консультантом, преподавателем и программистом, работал исполнительным редактором в испытательном центре «InfoWorld» и главным редактором Интернет-издания «NC World Magazine».
В настоящее время Николас Петрели занимает должность аналитика по Linux в исследовательской компании Evans Data Corporation, работает в качестве обозревателя в журнале «ComputerWorld», а также пишет статьи и аналитические обзоры для Интернет-издания «LinuxWorld», основанного им в 1998 году.
Работы Николаса Петрели неоднократно отмечались различными наградами и призами.
От редакции
В последнее время во всем мире растет популярность различных версий операционной системы Linux, они все чаще используются как в частном бизнесе, так и государственными структурами. Такая же тенденция наблюдается и в России. Конкуренция операционных систем обостряет противостояние между Linux-сообществом и сторонниками Windows во главе с компанией Microsoft. Стороны приводят множество аргументов в пользу «своих» систем, и далеко не всегда очевидно, какие из них — маркетинговый ход, а какие — результат беспристрастного исследования. Так что же выбрать? Какие критерии применить?
Один из решающих факторов при выборе операционной системы — насколько хорошо она обеспечивает информационную безопасность. Именно вокруг сравнения безопасности Linux и Windows давно кипят нешуточные страсти.
Первым залпом в войне Windows и Linux стал доклад компании Forrester Research, в котором было показано, что Windows безопаснее, чем Linux. Для сравнения использовались собранные за период с 1 июня 2002 г. по 31 мая 2003 г. данные об уязвимостях в защите для всех платформ Windows и всех вариантов дистрибутивов Linux от Debian, MandrakeSoft, Red Hat и Novell. Как и следовало ожидать, сообщество Linux не осталось в долгу. Сразу после публикации доклада упомянутые в нем дистрибьюторы Linux выпустили совместное заявление, в котором утверждалось, что доклад Forrester Research вводит в заблуждение, особенно потому, что в нем «все уязвимости ошибочно рассматриваются как равнозначные, независимо от риска, который возникает вследствие этих уязвимостей».
Мы предлагаем вашему вниманию независимый обзор Николаса Петрели (Nicholas Petreley), который рассмотрел доводы обеих сторон. Отчет опубликован 22 октября 2004 г. в британском Интернет-издании The Register. Перевод на русский язык выполнен с разрешения автора.
И все же предлагаемый обзор — не окончательное решение данного вопроса.
Так, можно отметить, что Петрели не учел временной фактор, который мог бы показать, как по мере выхода новых версий изменяется ситуация с уязвимостями для той или иной платформы — улучшается или ухудшается, и как часто пользователи сталкиваются с критическими проблемами.
И если важно вести перечень уязвимостей и подсчитывать их количество, то не менее важно оценить, насколько быстро становятся доступными для пользователей программные коррекции уязвимостей, причем как критических, так и менее серьезных.
Кроме того, чтобы получить действительно беспристрастную картину, следовало бы сформировать стандартные «комплекты» Linux и Windows и проследить в течение определенного времени за уязвимостями этих комплектов, используя для анализа показатели, предложенные Петрели.
Но несмотря на отдельные недостатки, данный обзор — обоснованное мнение эксперта. В этом качестве он будет полезен всем, кого интересует относительная безопасность конкурирующих операционных систем — Windows и Linux.
О чем эта статья?
Много копий было сломано в спорах о том, действительно ли Linux — более безопасная операционная система, чем Windows. Мы сравнили Windows и Linux по значениям следующих параметров в 40 последних программных коррекциях/уязвимостях для Microsoft Windows Server 2003 и Red Hat Enterprise Linux AS v.3:
- Серьезность уязвимостей в системе безопасности, которая оценивается по следующим показателям:
- возможный ущерб (насколько велик вред от использования ОС с незакрытой уязвимостью?);
- возможность использования (насколько легко использовать данную уязвимость?);
- возможная доступность (какого рода доступ требуется для использования данной уязвимости?).
- Количество уязвимостей, серьезность которых определяется как Критическая.
Результаты запроса к базе данных Computer Emergency Readiness Team (CERT) подтвердили наши выводы, сделав разницу еще более значительной. Расположив полученные данные по убыванию серьезности (от более критических к менее критическим), мы обнаружили, что уровень серьезности 39 из первых 40 записей в базе данных CERT для Windows превышает пороговое значение, установленное CERT для серьезных предупреждений. Лишь три из первых 40 записей оказались выше указанного порога в результатах запроса к этой базе данных для Red Hat. Запрос к базе данных CERT для Linux показал, что только шесть из первых 40 записей находятся выше этого порогового значения.
Следует также учесть тот факт, что в списки как для Red Hat, так и для Linux включаются бреши в программном обеспечении, которое функционирует в Windows, а это означает, что такие бреши относятся одновременно и к Linux, и к Windows. Ни одно из предупреждений, связанных с Windows, не относится к программному обеспечению, функционирующему в Linux.
- Windows подвергается такому количеству атак только потому, что имеет больше инсталляций, чем Linux. Следовательно, Linux была бы столь же уязвима, если бы имела столько же инсталляций.
- Открытый код по природе своей значительно опаснее, поскольку злоумышленникам легче найти бреши в системе безопасности.
- Для Linux имеется больше предупреждений об уязвимостях, чем для Windows, следовательно, Linux менее безопасна, чем Windows.
- В случае операционной системы Linux проходит больше времени между обнаружением бреши и выпуском соответствующей программной коррекции, чем в случае Windows.
В заключение дан краткий обзор существенных различий в концепциях Windows и Linux, что позволяет понять, почему операционная система Windows более уязвима к атакам как на серверах, так и на настольных компьютерах, и почему Linux является более безопасной системой.
Развенчание мифов
Миф 1. Безопасность — вопрос количества: чем меньше инсталляций, тем безопаснее
Пожалуй, чаще всего повторяемый миф при сравнении безопасности Windows и Linux — утверждение, что с ОС Windows случается больше инцидентов, связанных с вирусами, сетевыми червями, троянскими программами и другими проблемами, только из-за того, что злоумышленники предпочитают вмешиваться в работу программного обеспечения, которое имеет наибольшую инсталляционную базу. Это рассуждение приводят в защиту ОС Windows и Windows-приложений. Windows преобладает на настольных компьютерах; именно поэтому на Windows и Windows-приложения направлено большинство атак, и именно поэтому не наблюдаются вирусы, сетевые черви и троянские кони для Linux. Нельзя отрицать, что до некоторой степени это верно, однако отнюдь не бесспорен вывод, который отсюда делается, а именно: Linux и Linux-приложения не являются более безопасными, чем Windows и Windows-приложения, просто Linux — слишком незначительная цель для того, чтобы тратить усилия на организацию атаки.
Это рассуждение легко опровергнуть, если учесть, что самым популярным программным обеспечением для web-серверов Интернета является Apache. Как следует из выполненного компанией Netcraft[1] обзора web-сайтов за сентябрь 2004 г., 68% web-сайтов используют web-сервер Apache и только 21% web-сайтов используют Microsoft IIS. Если проблемы с безопасностью возникают из-за того, что злоумышленники нацеливаются на самую обширную инсталляционную базу, то должно наблюдаться больше червей, вирусов и прочих вредоносных программ, нацеленных на Apache и те операционные системы, под управлением которых он функционирует, чем на Windows и IIS. Более того, должно регистрироваться больше атак против Apache, чем против IIS, так как из приведенного выше рассуждения следует, что проблема заключается в количествах, а не в уязвимостях.
Однако в реальности наблюдается обратная картина. В течение долгого времени IIS был главной целью для сетевых червей и других атак, и эти атаки были весьма успешными. Сетевой червь Code Red, который использовал переполнение буфера в сервисе IIS для получения контроля над web-серверами, заразил около 300 тысяч серверов, и его распространение прекратилось лишь потому, что это было предусмотрено в программном коде данного червя. Воздействие еще одного сетевого червя IISWorm оказалось ограниченным только благодаря тому, что эта программа была плохо написана, а вовсе не из-за успешной защиты IIS.
Да, известны сетевые черви для Apache, например, Slapper. (В действительности Slapper использует известную уязвимость в протоколе OpenSSL, а не в Apache). Но сетевые черви для Apache редко становятся сенсацией, поскольку их воздействие очень ограничено и они легко искореняются. На атакуемых сайтах уже были приняты меры, исключающие возможность использования ошибки в OpenSSL. Кроме того, благодаря модульной структуре Linux и UNIX было очень просто очистить и восстановить зараженные сайты. Для этого потребовалось всего несколько команд и не было необходимости в перезагрузке.
Возможно, именно поэтому в рейтинге Netcraft среди 50 web-сайтов, лидирующих по длительности непрерывной работы (промежуток времени между перезагрузками), оказалось 47, использующих Apache[2]. Ни на одном из этих 50 web-сайтов не использовались ни Windows, ни Microsoft IIS. Поэтому, если верно предположение, что злоумышленники атакуют наиболее распространенные программные платформы, то возникает вопрос: почему хакеры так успешно взламывают программное обеспечение и операционную систему, самые популярные среди настольных компьютеров, заражают 300 тысяч серверов IIS, но неспособны нанести подобный ущерб наиболее популярному web-серверу и его операционным системам?
[2] Netcraft Top 50 Servers With Longest Uptime (результаты могут отличаться от приведенных, так как информация обновляется ежедневно) — http://uptime.netcraft.com/up/today/top.avg.html
Читатели, посетившие web-сайт Netcraft, не могут не заметить, что все 50 серверов из списка лучших по длительности непрерывной работы используют какую-либо разновидность BSD, в основном BSD/OS. Ни один из них не функционирует под управлением Windows и ни один — под управлением Linux. Самое продолжительное время непрерывной работы среди 50 лидеров составляет 1 768 дней подряд или почти 5 лет.
В результате складывается впечатление, что BSD по своей надежности превосходит все остальные операционные системы, однако информация Netcraft, хотя и непреднамеренно, вводит в заблуждение. Netcraft определяет продолжительность непрерывной работы операционных систем по данным, которые регистрируются самими операционными системами. Linux, Solaris, HP-UX и некоторые версии FreeBSD регистрируют не более 497 дней непрерывной работы, после чего счетчики обнуляются, и отсчет начинается заново. Поэтому и кажется, что все web-сайты, размещенные на компьютерах под управлением Linux, Solaris, HP-UX и, в некоторых случаях, FreeBSD, перезагружаются каждые 497 дней, даже если они функционируют годами. При составлении обзора Netcraft ни для одной из этих операционных систем не будет зарегистрировано время непрерывной работы, превышающее 497 дней, даже если они годами функционируют без перезагрузки, так что названные системы никогда не окажутся среди 50 лидеров.
Это объясняет, почему Linux, Solaris и HP-UX не могут продемонстрировать такой же впечатляющий результат по количеству последовательных дней непрерывной работы, как BSD, даже если на самом деле эти операционные системы годами функционируют без перезагрузки. Но это не объясняет, почему среди 50 лидеров нет серверов под управлением ОС Windows. Windows не обнуляет счетчик времени непрерывной работы. Очевидно, просто не существует web-сайтов под управлением ОС Windows, которые функционировали бы без перезагрузки достаточно долго, чтобы попасть в список 50 лучших.
Принимая во внимание казус с 497-дневным циклом обнуления становится неясным, как сравнить продолжительность непрерывной работы для Linux и Windows, основываясь на опубликованных данных Netcraft. Два результата — не статистика, но и они кое о чем говорят, особенно если один из них относится к web-сайту компании Microsoft. На сентябрь 2004 года средняя продолжительность непрерывной работы web-серверов под управлением ОС Windows, поддерживающих собственный web-сайт компании Microsoft (www.microsoft.com), составила примерно 59 дней. Максимальная продолжительность непрерывной работы для Windows Server 2003 на том же сайте — 111 дней, минимальная — 5 дней. Сравним эти результаты с данными для сайта www.linux.com (типовой сайт под управлением ОС Linux), у которого и средняя, и максимальная продолжительность непрерывной работы составляет 348 дней. Точное совпадение средней и максимальной величины означает, что эти серверы либо обнулили счетчик времени 348 дней назад, проработав до этого 497 дней, либо 348 дней назад они были перезагружены или впервые включены.
Из всего вышесказанного следует вывод, что при оценке количества успешных атак на программное обеспечение решающий фактор — это качество, а не количество.
Впечатляющие данные о продолжительности непрерывной работы, полученные для Apache, позволяют усомниться еще в одном популярном мифе: открытый исходный код (в котором функциональная структура приложений является общедоступной) более опасен, чем патентованный исходный код (в котором функциональная структура является засекреченной), поскольку хакеры могут воспользоваться этим кодом для обнаружения и использования брешей.
Однако факты говорят о другом. Количество предназначенных для ОС Windows эффективных вирусов, программ-шпионов, сетевых червей, троянских и других вредоносных программ огромно, а количество компьютеров, постоянно заражаемых различными комбинациями вышеперечисленного, так велико, что вряд ли поддается исчислению. Вредоносное программное обеспечение «свирепствует» настолько, что для компрометации свежеустановленной, «непропатченной» версии Windows XP после подключения компьютера к Интернету требуется в среднем 16 минут — меньше, чем время, необходимое данной ОС для загрузки и инсталляции программных коррекций, которые позволят защитить этот компьютер[3].
Еще один пример. Web-сервер Apache имеет открытый код. Microsoft IIS — патентованный. В этом случае факты опровергают и миф о наибольшей популярности, и миф об опасности открытого кода. Web-сервер Apache — наиболее популярный web-сервер. Если бы оба эти мифа были правдой, следовало бы ожидать, что Apache и операционные системы, под управлением которых он функционирует, будут чаще подвергаться атакам, чем Microsoft Windows и IIS. На деле же все происходит с точностью до наоборот. Apache занимает почти монопольное положение в списке серверов с наибольшей продолжительностью непрерывной работы. Ни Microsoft Windows, ни Microsoft IIS нет в списке 50 серверов с самым продолжительным временем непрерывной работы. Очевидно, тот факт, что злоумышленники имеют доступ к открытому коду Apache, не дает им никакого преимущества в организации более успешных атак против Apache, чем против IIS.
Слабость других популярных мифов о большей безопасности Windows по сравнению с Linux в том, что они основаны на единственном показателе — каком-нибудь одном аспекте измерения безопасности. Это верно для любого источника информации, будь то данные компетентного исследования или малообоснованная информация на уровне слухов.
Широко известно утверждение: «Для Linux зарегистрировано больше предупреждений об уязвимостях, чем для Windows, поэтому можно говорить о меньшей безопасности Linux по сравнению с Windows». Не менее распространено и такое: «Время между обнаружением бреши и созданием соответствующей программной коррекции в случае Linux больше, чем в случае Windows, поэтому можно говорить о меньшей безопасности Linux по сравнению с Windows».
Второе утверждение совершенно непостижимо. Невозможно объяснить, почему считается, что по такому показателю, как среднее время от момента обнаружения бреши до выпуска соответствующей программной коррекции, Microsoft превосходит какую-либо из конкурирующих операционных систем, не говоря уже о Linux. Компании Microsoft потребовалось семь месяцев (!), чтобы устранить одну из самых серьезных уязвимостей в системе защиты (Microsoft Security Bulletin MS04-007 ASN.1 Vulnerability, компания eEye Digital Security сообщила об этой задержке в информационном бюллетене AD20040210). А ведь еще имеются бреши, о которых Microsoft открыто заявляет, что они никогда не будут ликвидированы. В бюллетене Microsoft Security Bulletin MS03-010 об уязвимости Denial Of Service (отказ в обслуживании) в Windows NT говорится, что эта уязвимость никогда не будет устранена. Позднее компания Microsoft заявила, что не будут устраняться уязвимости в Internet Explorer для всех версий операционных систем, выпущенных ранее Windows XP. В статистическом смысле случай с семью месяцами между обнаружением и устранением ошибки не окажет значительного влияния на среднее время реагирования при условии, что найдется достаточно много примеров чрезвычайно быстрого реагирования, которые скомпенсируют подобные аномалии, если это действительно аномалии. Но стоит включить в выборку только один случай «никогда» — и о статистическом среднем можно забыть навсегда.
Оставив в стороне эту неразрешимую загадку, рассмотрим, есть ли основания полагать, что Linux менее безопасна, чем Windows, потому что среднее время между обнаружением уязвимости и выпуском соответствующей программной коррекции в случае Linux больше, чем в случае Windows. Зададим себе вопрос: «Если прямо сейчас у меня случится сердечный приступ, в какое отделение скорой помощи я предпочту попасть? Туда, где среднее время между регистрацией пациента и оказанием ему помощи самое короткое? Или я предпочту отделение, где это среднее время дольше, но зато пациенты с самыми серьезными диагнозами получают помощь в первую очередь?»
Очевидно, что следует выбрать второе отделение, но вовсе не потому, что из приведенной выше информации ясно, что оно лучше первого. Этот вариант предпочтительнее, потому что он выбран по двум показателям, один из которых особенно важен для вас именно в данный момент. Можно с уверенностью утверждать: мало кто захочет попасть в больницу, о которой известно, что в ней есть шанс умереть от сердечного приступа, ожидая, пока врач закончит вправлять кому-то вывихнутый мизинец — каким бы впечатляющим ни было «среднее время реагирования на запрос о медицинской помощи». Трудность в том, что в приведенном примере недостаточно информации для принятия оптимального решения. Ничего не известно о том, как больница с наименьшим «временем реагирования» определяет, кому из больных следует уделить внимание в первую очередь. Кроме того, неплохо бы иметь информацию о показателе смертности среди больных, нуждающихся в неотложной помощи, о квалификации врачей и т. д.
Очевидно, что для правильного выбора есть только один способ — собрать об окрестных отделениях скорой помощи подробную информацию, т.е. узнать как можно больше важных показателей и найти разумный компромисс между этими показателями. Было бы непростительной безответственностью рекомендовать отделение скорой помощи для случая сердечного приступа, основываясь только на одном показателе, например, на времени реагирования, среднем для всех неотложных случаев, особенно если без труда можно получить другую важную информацию, которая позволит сделать лучший выбор.
В той же степени неразумно и безответственно давать рекомендации или принимать серьезное экономическое решение на основании единственного показателя, такого как среднее время между обнаружением бреши и ее устранением для той или иной операционной системы, или такого показателя, как количество предупреждений об уязвимостях для того или иного продукта.
Любой отдельно взятый показатель может ввести в заблуждение, поскольку неясна его значимость. Рассмотрим утверждение, что известно больше предупреждений для программного обеспечения Linux, чем для Windows. Эта статистика бессмысленна, потому что не отвечает на самые важные вопросы. Сколько брешей из зафиксированных всеми предупреждениями об уязвимостях создают реальные угрозы? Насколько серьезны эти угрозы? Насколько вероятно, что их использование причинит серьезный ущерб компьютерам? Ответы на эти вопросы имеют большое значение. Что лучше, операционная система со 100 брешами, из-за которых возможен незначительный ущерб (а то и вовсе никакого) и которыми не сможет воспользоваться никто, кроме локальных пользователей с действующими учетными записями и физическим доступом к компьютеру? Или стоит предпочесть операционную систему с единственной критической брешью, из-за которой любой хакер из Интернета может уничтожить всю информацию на сервере? Ясно, что само по себе количество предупреждений не является значимым показателем, указывающим на большую безопасность одной операционной системы по сравнению с другой.
Архитектура Windows и архитектура Linux
Возможно, причиной мифа о том, что Windows намного чаще подвергается атакам, чем Linux, являются вирусы, троянские кони и сетевые черви, ориентированные на электронную почту и web-навигатор. Несомненно, на настольных компьютерах инсталляций Windows больше, чем инсталляций Linux. Весьма возможно, что программное обеспечение Windows для настольных компьютеров чаще подвергается атакам, потому что Windows преобладает на настольных компьютерах. Но остается без ответа один важный вопрос. Действительно ли атаки на Windows столь успешны исключительно из-за их многочисленности, или же этот факт объясняется наличием проектных недоработок и неудачных проектных решений Windows?
Значительная часть (если не большинство) вирусов, троянских коней, сетевых червей и других вредоносных программ, заражающих компьютеры с Windows, используют для этого уязвимости в Microsoft Outlook и Internet Explorer. Поэтому можно поставить вопрос по-другому, включив в рассмотрение тот же тип программного обеспечения для Linux (наиболее часто используемые web-навигаторы, программы электронной почты, текстовые процессоры и т. д.): имеет ли Linux столько же уязвимостей в системе безопасности, сколько их имеет Windows?
Архитектура Windows
Вирусы, троянские кони и другие вредоносные программы поражают настольные компьютеры с Windows по целому ряду причин, свойственных Windows и чуждых Linux:
- Windows только недавно эволюционировала от однопользовательской модели к многопользовательской.
- Windows по своей архитектуре является монолитной, а не модульной системой.
- В Windows слишком широко используется RPC-механизм.
- Windows фокусируется на знакомом графическом интерфейсе для настольных компьютеров.
Критики Linux любят повторять, что Linux — это «устаревшая» технология. Ирония же заключается в следующем: одна из самых больших проблем Windows в том, что именно этой операционной системе никак не удается избавиться от своей «устаревшей» однопользовательской архитектуры.
В течение долгого времени происхождение от однопользовательской системы мешало Windows. Система Windows изначально была разработана так, чтобы обеспечить и пользователям, и приложениям свободный доступ ко всей системе, а это значит, что кто угодно мог скомпрометировать критичную системную программу или файл. Кроме того, это означает, что вирусы, троянские и другие вредоносные программы могли скомпрометировать любую системную программу или файл, потому что Windows не изолировала пользователей и приложения от критичных областей операционной системы.
Операционная система Windows XP стала первой версией Windows, в которой проявились существенные результаты усилий по изолированию пользователей от системы, так что в Windows XP каждый пользователь имеет свои собственные личные файлы и ограниченные системные полномочия. Но из-за этого многие Windows-приложения, разработанные для предыдущих версий, перестали функционировать, поскольку раньше они могли получать доступ и модифицировать программы и файлы, доступ к которым теперь разрешен только администратору. Именно поэтому в Windows XP предусмотрен режим совместимости, то есть режим, который позволяет программам функционировать так, будто они работают в прежней незащищенной однопользовательской среде. Кроме того, именно по этой причине каждая новая версия Windows несет в себе угрозу отказа приложений, работавших в предыдущих версиях. Поскольку Microsoft вынуждена модифицировать Windows, чтобы она «вела себя» как многопользовательская система, новые ограничения выводят из строя приложения, которые функционировали при отсутствии этих ограничений.
Windows XP — это прогресс, но и Windows XP нельзя назвать настоящей многопользовательской системой. Например, Windows XP поддерживает функцию, которую Microsoft называет «Fast User Switching» (быстрое переключение пользователей), она же позволяет двум и более пользователям входить в систему Windows XP на одном компьютере в одно и то же время. Однако есть загвоздка. Это возможно тогда и только тогда , когда данный компьютер не принадлежит какому-либо домену сети Windows. Причина в том, что сеть Microsoft разработана в предположении, что пользователи входят в сеть только со своего собственного компьютера. Microsoft либо не может, либо не желает внести необходимые изменения в операционную систему и «конструкцию» сети, чтобы адаптировать этот сценарий к возможностям Windows XP.
Windows Server 2003 — это следующее приближение к настоящей многопользовательской системе, но даже в Windows Server 2003 не удалось ликвидировать все бреши в системе защиты, унаследованные от однопользовательской системы. Именно поэтому в Windows Server 2003 пришлось отключить использование по умолчанию многих функций web-навигатора (например, ActiveX, написание сценариев и др.). Если бы Microsoft перестроила эти функции для работы в безопасном и изолированном режиме в настоящей многопользовательской среде, они не создавали бы серьезных угроз, перед которыми по-прежнему беззащитна Windows.
Монолитная система — это система, в которой большинство функций интегрировано в единый модуль. Противоположностью такой системе является система, в которой функции распределены по нескольким уровням, причем каждый уровень имеет ограниченный доступ к другим уровням.
Хотя часть недостатков Windows — «наследство» ее исходной однопользовательской архитектуры, другие ее недостатки — прямое следствие обдуманных проектных решений, таких как монолитная архитектура (интегрирование большинства функций в ядро операционной системы). Компания Microsoft фактически вытеснила web-навигатор Netscape, интегрировав Internet Explorer в свою операционную систему так тесно, что не использовать IE стало практически невозможно. Нравится это пользователю или нет, но Internet Explorer вызывается при использовании справочной системы Windows, Outlook и многих других приложений как Microsoft, так и независимых производителей. Конечно, коммерческие интересы Microsoft требуют, чтобы использование каких-либо иных продуктов, кроме Internet Explorer, было крайне затруднительным. Microsoft успешно превращает конкурирующие продукты в ненужные, интегрируя в свою операционную систему все больше и больше сервисов, предоставляемых такими продуктами. Но в результате этого подхода получается монстр из сложным образом взаимодействующих сервисов (то есть, по определению, монолитная система).
Взаимозависимости такого рода имеют два неприятных каскадных побочных эффекта. Во-первых, в монолитной системе каждая брешь в какой-либо одной части системы проявляется во всех сервисах и приложениях, зависящих от этой части системы. Интегрировав Internet Explorer в операционную систему, Microsoft создала систему, в которой любая брешь в Internet Explorer подвергает настольный компьютер с Windows угрозам, реализация которых может нарушить не только работу web-навигатора, но и весьма далеких от него объектов. Следовательно, одна-единственная брешь в Internet Explorer проявляется в бесчисленном множестве других приложений, многие из которых используют Internet Explorer неявным для пользователя образом, что дает этому пользователю ложное ощущение безопасности.
Такая архитектурная модель оказывает намного более глубокое воздействие, чем обычно представляют. Так, в монолитной системе уязвимости в защите оказываются более критичными, чем следовало ожидать.
Проиллюстрировать это поможет простая аналогия. Представим себе идеально устроенную операционную систему, которая состоит из трех сфер: одна — в центре; вторая, большего размера, охватывает первую; а третья сфера охватывает две внутренние. Конечный пользователь «видит» только внешнюю сферу. Это уровень, где пользователь запускает приложения, например, текстовые процессоры. Текстовые процессоры используют необходимые функции, предоставляемые второй сферой, например, средства визуализации графических изображений или форматирования текста. Эта вторая сфера (ее специалисты обычно называют «пользовательскими процессами») не имеет прямого доступа к критичным частям системы. Чтобы выполнить свою работу, она должна запросить разрешение от самой внутренней сферы. Внутренняя сфера выполняет самые важные функции, поэтому имеет непосредственный доступ ко всем критичным частям системы. Она управляет дисками, памятью и всем остальным. Эта сфера называется «ядро» и является сердцем операционной системы.
В случае вышеописанной архитектуры брешь в программах графического отображения не может нанести глобального ущерба компьютеру, потому что функции визуализации не имеют прямого доступа к наиболее критичным частям системы. Даже если пользователь загрузит в текстовый процессор изображение с внедренным вирусом, этот вирус не сможет повредить ничего, кроме собственных файлов пользователя, поскольку функция графического отображения находится вне центральной сферы и не имеет доступа ни к одной из критичных частей системы.
Проблема Windows заключается в том, что в ней не соблюдаются разумные конструкторские принципы разделения функций по соответствующим уровням, описанным выше. Windows вкладывает слишком много функций в ядро, центральную сферу, то есть туда, где можно причинить самый большой ущерб. Например, если интегрировать функции графического отображения в центральную сферу (ядро), эти функции получат возможность повредить всю систему. Таким образом, как только обнаружится брешь в алгоритме графического отображения, чрезмерно интегрированная архитектура Windows облегчит использование этой бреши для получения полного контроля над системой или для разрушения всей системы.
Наконец, монолитная система нестабильна по своей природе. Когда в системе так много взаимосвязей, изменение одной из частей этой системы порождает множество угроз. Единственное изменение в системе может оказать (и обычно оказывает) каскадное воздействие на все сервисы и приложения, которые зависят от этой части системы. Именно поэтому пользователи Windows трепещут при мысли об установке программных коррекций и обновлений. Обновления, исправляющие одну часть Windows, часто нарушают работу других сервисов и приложений. В качестве иллюстрации можно привести следующий факт: для пакета обновлений Windows XP service pack 2 уже составлен постоянно растущий список случаев, когда его установка привела к выходу из строя сторонних приложений. Это естественное явление в монолитной системе — любое изменение в одной части механизма влияет на весь механизм и на все приложения, которые зависят от этого механизма.
Аббревиатура RPC означает «удаленный вызов процедуры» (Remote Procedure Call). RPC — это то, что происходит, когда одна программа отправляет через сеть указание другой программе выполнить какое-либо действие. Например, одна программа может использовать RPC, чтобы дать другой программе указание рассчитать среднюю стоимость чая в Китае и вернуть результат. Удаленным вызовом процедуры этот механизм называется потому, что не имеет значения, функционирует ли «другая программа» на том же компьютере, на соседнем, или где-то в Интернете.
RPC-механизмы — это потенциальная угроза безопасности, поскольку их предназначение — позволить компьютерам, находящимся где-то в сети, давать данному компьютеру указания выполнить те или иные действия. Как только обнаруживается брешь в программе, разрешающей использование RPC-механизма, у любого, кто располагает подключенным к сети компьютером, появляется возможность использовать эту брешь, чтобы заставить уязвимый компьютер выполнить какие-либо действия. К сожалению, пользователи Windows не могут заблокировать RPC-механизм, так как Windows использует его, даже если компьютер не подключен к сети. Многие сервисы Windows устроены именно так. В некоторых случаях можно блокировать RPC-порт на межсетевом экране, но Windows так широко использует RPC-механизмы в основных функциях, что подобная блокировка не всегда возможна. Удивительно, но некоторые из наиболее серьезных уязвимостей в Windows Server 2003 (см. Таб. 1) — следствие брешей в самих RPC-функциях Windows, а не в приложениях, которые их используют. Самый распространенный способ использовать уязвимость, связанную с RPC-механизмом — атаковать сервис, использующий RPC, а не сам RPC-механизм.
Важно отметить, что RPC-механизмы не всегда необходимы, отчего становится еще непонятнее, почему Microsoft так широко их использует. Предположим, требуется создать web-сайт, используя два сервера. Один сервер будет работать в качестве сервера базы данных, второй — в качестве web-сервера. В этом случае серверу базы данных необходимо использовать RPC, потому что web-сервер находится на отдельном компьютере и должен иметь возможность доступа к серверу базы данных через сетевое подключение. (Даже в этом случае следует сконфигурировать сервер базы данных так, чтобы он «слушал» только данный web-сервер, но не другие компьютеры). Если же и сервер базы данных, и web-сервер функционируют на одном компьютере, использование RPC-механизмов на сервере базы данных не только не обязательно, но и нежелательно. Web-сервер должен иметь прямой доступ к серверу базы данных, потому что они оба функционируют на одном компьютере. Ни технических, ни логических причин подключать к сети сервер базы данных нет, поскольку такое подключение создает лишнюю угрозу безопасности.
Вопрос о серверах баз данных поднят из-за того, что сетевой червь Slammer, один из самых опасных червей, когда-либо существовавших в Интернете, использовал на редкость неуместное применение RPC-подобных сетевых соединений, реализованное Microsoft. За короткое время Slammer заразил так много систем, что Интернет практически перестал функционировать.
Сетевой червь Slammer вызвал хаос, использовав две бреши в Microsoft SQL Server, который является сервером клиент-серверной базы данных SQL-типа. Одна брешь — это самая бесполезная функция Microsoft SQL Server, позволяющая одновременно запустить несколько копий сервера базы данных на одном компьютере. Почему эта функция бесполезна? Если вы незнакомы с работой серверов баз данных, представьте это себе следующим образом. В обычных условиях бессмысленно запускать несколько копий сервера базы данных на одном компьютере, потому что одна копия — это все, что нужно, даже если ее использует множество разных приложений. Потребность в одновременном запуске нескольких серверов баз данных на одном компьютере также вероятна, как потребность в одновременном запуске двух копий Windows XP на одном компьютере. Несколько копий сервера базы данных запускаются не по ошибке исключительно редко, да и то лишь в высокопроизводительных приложениях или для тестирования и разработки[1].
[1] Кажется, мы поняли, почему Microsoft решила установить по умолчанию именно этот режим функционирования SQL Server. Многие сторонние приложения используют процессор SQL Server по умолчанию. Если бы на компьютере могла функционировать только одна копия SQL Server, то Microsoft пришлось бы разработать удобные средства, позволяющие программе инсталляции обнаружить установленный и функционирующий SQL Server, а затем обеспечить удобный способ инсталляции, интеграции и администрирования особых требований сторонних приложений в своей собственной базе данных и в таблицах, функционирующих на данном сервере. Это очень элегантное решение, минимизирующее используемые ресурсы, поскольку всегда требуется только одна копия SQL Server. Но такой подход потребовал бы большой дополнительной работы со стороны Microsoft или со стороны независимых разработчиков. Намного проще реализовать решение, позволяющее сторонним приложениям не заботиться о том, инсталлирован ли SQL Server. По схеме, реализованной Microsoft, любое стороннее приложение может просто инсталлировать свою собственную копию SQL Server, не беспокоясь о том, установлен ли SQL Server на данном компьютере, какая версия SQL Server инсталлирована, как сконфигурирован существующий SQL Server. Стремясь привлечь независимых разработчиков к использованию SQL Server, Microsoft выбрала принцип наименьшего действия и разработала систему, в которой любое приложение может инсталлировать свою собственную копию SQL Server, которая не взаимодействует с другими копиями SQL Server, функционирующими на том же компьютере. Из-за этого возникла необходимость в запуске несколько копий SQL Server с задействованным RPC-механизмом, который следовало бы использовать как можно реже. Этот наименее затратный подход имел чрезвычайно пагубные последствия. Если бы Microsoft разработала SQL Server так, чтобы он функционировал как единственная копия, не подключенная по умолчанию к сети, то сетевой червь Slammer не нашел бы достаточно компьютеров с работающим SQL Server, чтобы причинить сколько-нибудь значительный ущерб.
Простой способ обеспечить одновременную работу нескольких не мешающих друг другу копий SQL Server — создать RPC-механизм, который сортирует запросы на получение данных таким образом, что, например, приложение-факс запрашивает одну копию SQL Server, а приложение-ежедневник — другую. Ситуация усложняется тем, что и средства разработки Microsoft поддерживают тот же принцип монолитности, который используется в продуктах Microsoft. Поэтому самые разные приложения — программы планирования времени, программное обеспечение для факсимильной связи, системы управления проектами — почти 200 приложений, многие из которых предназначены для настольных систем, используют неоправданно уязвимый процессор SQL Server. В результате сотни тысяч, если не миллионы, людей используют настольные приложения, зависящие от процессора SQL Server с его многочисленными разрешенными сетевыми сервисами, немалая часть которых уязвима к атакам из Интернета. Вряд ли можно придумать лучший способ устроить катастрофу.
В результате Slammer смог атаковать огромное количество компьютеров, потому что на всех процессорах SQL Server использование этих функциональных возможностей разрешено по умолчанию. Хотя SQL Server еще не интегрирован в Windows, его повсеместное использование в различных приложениях — от программного обеспечения для факсимильной связи до программ планирования времени — фактически превращает его в часть более крупной монолитной системы, что открывает возможность такой организации атаки, которая характерна для монолитной системы. К сожалению, весьма вероятно, что SQL Server будет тесно интегрирован в File System WinFS, новую перспективную файловую систему Windows, первоначально предназначавшуюся для Longhorn, операционной системы нового поколения. Горячим сторонникам идеи интеграции SQL Server в операционную систему следует помнить об истории с сетевым червем Slammer.
Компания Microsoft считает знакомый интерфейс Windows главным аргументом[2] в пользу перехода на Windows Server 2003. Цитата с web-сайта компании Microsoft: «Знакомый интерфейс Windows облегчает использование Windows Server 2003. Новые удобные мастера упрощают установку специальных ролей и выполнение обычных задач управления сервером. «
Пропагандируя такое использование, Microsoft предлагает администраторам работать с ОС Windows Server 2003 на самом сервере, зарегистрировавшись с полномочиями администратора. В результате администратор Windows становится наиболее уязвимым к брешам в системе защиты, поскольку использование уязвимых программ, таких как Internet Explorer, создает угрозы безопасности сервера.
По данным обзора Summer 2004 Evans Data Linux Developers Survey, 93% разработчиков Linux сталкивались не более чем с двумя случаями компро-метации компьютера с ОС Linux. 87% встретился только один подобный инцидент, а в практике 78% не было ситуаций, когда компьютер под управле-нием Linux сколько-нибудь серьезно пострадал от действий злоумышленников. В тех редких случаях, когда им удалось добиться успеха, основной причиной были ненадлежащим образом сконфигурированные настройки безопасности.
Однако для данной статьи важнее тот приведенный в обзоре факт, что 92% респондентов никогда не сталкивались со случаями заражения ОС Linux вирусами, троянскими и другими вредоносными программами.
То обстоятельство, что вирусы, троянские и другие вредоносные программы редко могут (если вообще могут) заразить Linux-системы, частично можно объяснить следующими причинами:
- Linux имеет долгую историю использования тщательно проработанной многопользовательской архитектуры.
- По своей архитектуре Linux является в основном модульной системой.
- Функционирование Linux не зависит от RPC-механизма, а сервисы обычно по умолчанию настроены не использовать RPC-механизм.
- Серверы Linux идеально подходят для удаленного администрирования.
При дальнейшем чтении следует помнить о вариациях в используемых по умолчанию конфигурациях различных дистрибутивов ОС Linux, поэтому то, что верно для Red Hat Linux, может оказаться неправильным для Debian, и еще больше отличий может быть в SuSE. По большей части в том, что касается конфигураций по умолчанию, все основные дистрибутивы Linux следуют одним и тем же разумным правилам.
Linux никогда не была однопользовательской операционной системой. Поэтому в ней с самого начала заложен принцип изолирования пользователей от приложений, файлов и каталогов, воздействующих на операционную систему в целом. Каждому пользователю предоставляется пользовательский каталог, в котором хранятся все его файлы данных и файлы конфигурации, принадлежащие этому пользователю. Когда пользователь запускает какое-либо приложение (например, текстовый процессор), оно запускается с ограниченными полномочиями данного пользователя. Запущенное пользователем приложение имеет право на запись только в собственный каталог этого пользователя. Оно не может ничего записать в системный файл или даже в каталог другого пользователя, если только администратор явным образом не предоставит данному пользователю такое право.
Еще важнее, что Linux предоставляет почти все функциональные возможности (например, визуализацию изображений в формате JPEG) в виде модульных библиотек. Поэтому, когда текстовый процессор отображает JPEG-изображения, соответствующие функции запускаются с теми же ограниченными полномочиями, что и сам текстовый процессор. Если в программах визуализации JPEG-изображений имеется брешь, злоумышленник сможет использовать ее только для получения таких же полномочий, как у данного пользователя, что значительно ограничивает масштабы возможного ущерба. В этом преимущество модульных систем, и эти системы ближе к идеалу операционной системы, описанному выше как конструкция из трех сфер (см. раздел «Windows по своей архитектуре является монолитной, а не модульной системой»).
Ограничения по умолчанию — свойство модульной архитектуры Linux; едва ли возможно отправить по электронной почте пользователю Linux такое сообщение, которое заразит вирусом весь компьютер. Не имеет значения, насколько неудачно сконструирован почтовый клиент или как именно он прореагирует на вирус — полномочия, установленные для клиента, позволят ему заразить или повредить только файлы своего пользователя. Web-навигаторы, работающие в ОС Linux, не поддерживают такие небезопасные по своей природе объекты, как элементы управления ActiveX, но даже если бы они поддерживались, вредоносный элемент ActiveX смог бы запуститься только с полномочиями того пользователя, который запустил web-навигатор. И в этом случае самый большой вред, который он смог бы принести — это заразить или удалить собственные файлы пользователя.
Даже сервисы, например, web-серверы, обычно запускаются как пользователи с ограниченными полномочиями. Так, Debian GNU/Linux запускает web-сервер Apache как пользователя «www-data», принадлежащего к группе с тем же именем «www-data». Если злоумышленник на компьютере с Debian получит полный контроль над web-сервером Apache, он сможет воздействовать только на файлы, принадлежащие пользователю «www-data», то есть на web-страницы. В свою очередь, MySQL, сервер базы данных SQL-типа, часто используемый вместе с Apache, запускается с полномочиями пользователя «mysql». Даже если Apache и MySQL вместе обслуживают web-страницы, злоумышленник, получивший контроль над Apache, не будет иметь полномочий, позволяющих использовать уязвимость в Apache для получения контроля над сервером базы данных, потому что сервер базы данных «принадлежит» другому пользователю.
Кроме того, пользователи, ассоциированные с такими сервисами, как Apache, MySQL и т.д., часто устанавливаются с учетными записями, не имеющими доступа к командной строке. Поэтому, если злоумышленник сможет получить права учетной записи пользователя MySQL, он не сможет воспользоваться этой уязвимостью для того, чтобы дать произвольные команды на сервер Linux, поскольку данная учетная запись не может вызывать команды.
Напротив, ОС Windows изначально сконструирована таким образом, что всем пользователям и приложениям предоставляется административный доступ ко всем файлам на компьютере. Только постепенно Windows была переработана так, чтобы изолировать пользователей и их действия от остальной системы. Операционная система Windows Server 2003 близка к достижению этой цели, но метод, избранный Microsoft для создания барьера между пользователем и системой, все тот же: широкое использование постоянно меняющихся корректировок существующей «конструкции» вместо ее фундаментальной переработки на основе новой концепции, в которой во главу угла поставлены реализация многопользовательских возможностей и безопасность.
Linux — это операционная система, сконструированная, в основном, по модульному принципу, от ядра (центрального «мозга» Linux) до приложений. В Linux практически нет нерасторжимых связей между какими-либо компонентами. Не существует единственного процессора web-навигатора, используемого справочными системами или программами электронной почты. В самом деле, нетрудно сконфигурировать большинство программ электронной почты так, чтобы использовать встроенный web-навигатор для отображения HTML-сообщений либо запускать любой нужный web-навигатор для просмотра HTML-документов или перехода по ссылкам, приведенным в тексте сообщения. Следовательно, брешь в одном процессоре web-навигатора необязательно представляет опасность для каких-либо других приложений на данном компьютере, так как почти никакие другие приложения, кроме самого web-навигатора, не зависят от единственного процессора web-навигатора.
Не все в Linux является модульным. Две наиболее популярные графические среды, KDE и GNOME, в каком-то смысле монолитны по своей архитектуре. По крайней мере, монолитны настолько, что в принципе обновление одной части GNOME или KDE может нарушить работу других частей GNOME или KDE. Но и GNOME, и KDE не до такой степени монолитны, чтобы требовалось использование приложений, разработанных специально для GNOME или KDE. Приложения GNOME или любые другие приложения можно запускать под KDE, а KDE или любые другие приложения — под GNOME.
Ядро Linux поддерживает модульные драйверы, но в значительной мере является монолитным ядром, потому что сервисы в этом ядре взаимозависимы. Все отрицательные последствия монолитности минимизируются тем, что ядро Linux, насколько это возможно, разработано как наименьшая часть системы. Linux почти фанатично придерживается следующего принципа: «Если задача может быть выполнена вне ядра, она должна быть выполнена вне ядра». Это означает, что в Linux почти каждая полезная функция («полезная» означает «воспринимаемая конечным пользователем») не имеет доступа к уязвимым частям системы Linux.
Напротив, ошибки в драйверах графических адаптеров являются частой причиной «синего экрана смерти» в Windows. Это происходит из-за того, что Windows интегрирует графику в ядро, где подобная ошибка может вызвать отказ системы. Не считая нескольких известных исключений (например, коммерческий драйвер графики NVidia), Linux заставляет все графические драйверы функционировать вне ядра. Ошибка в графическом драйвере может вызвать сбой в графическом приложении, но не может вызвать отказ всей системы. В случае такой ошибки достаточно просто перезапустить графическое приложение. Никакой перезагрузки компьютера не требуется.
Как уже говорилось в разделе о Windows, аббревиатурой RPC обозначается удаленный вызов процедуры (Remote Procedure Call). RPC-механизм позволяет одной программе дать указание второй программе выполнить какое-либо действие, даже если «вторая программа» работает на другом компьютере. Первая программа при помощи RPC отправляет другой программе указание выполнить определенные расчеты и вернуть результат. Напомним, что удаленным вызовом процедуры этот механизм называется потому, что не имеет значения, функционирует ли «другая программа» на том же компьютере, на другом компьютере, стоящем в соседней комнате, или где-то в Интернете.
В большинстве дистрибутивов Linux программы инсталлируются так, что по умолчанию доступ в сеть отключен. Например, MySQL, сервер базы данных SQL-типа, обычно инсталлируется так, что он не ожидает инструкций из сети. Если создать web-сайт, установив Apache и MySQL на одном и том же компьютере, то для взаимодействия Apache и MySQL не требуется, чтобы MySQL прослушивал сеть. Напротив, SQL Server прослушивает сеть независимо от того, необходимо ли это. Если требуется, чтобы MySQL слушал сеть, эту функцию следует включить вручную, а затем в явном виде определить пользователей и компьютеры, которым разрешен доступ к MySQL.
Даже если Linux-приложения по умолчанию используют сеть, они чаще всего сконфигурированы так, что могут отвечать только локальному компьютеру и игноририруют любые запросы других компьютеров в сети.
В отличие от Windows Server 2003, компьютер с операционной системой Linux останется полностью работоспособным, даже если на нем заблокировать практически все RPC-сервисы, связанные с использованием сети.
Сервер Linux можно, а часто и нужно, инсталлировать без подключенного монитора и администрировать удаленно. Очень часто такой тип инсталляции идеален для серверов, поскольку при удаленном администрировании сервер не подвергается таким угрозам, как при локальном администрировании.
Например, можно войти в систему на своем настольном компьютере в качестве обычного пользователя с ограниченными полномочиями и администрировать сервер под управлением ОС Linux через административный web-интерфейс. Даже самая критическая уязвимость в защите web-навигатора сможет воздействовать только на локальную учетную запись пользователя на его настольном компьютере, не затронув сервер.
Возможно, это одно из самых главных отличий Linux от Windows, потому что этот фактор сводит на нет многие критические уязвимости, общие для Linux и Windows, например, уязвимости web-навигаторов Mozilla и Internet Explorer.
Реальные показатели безопасности и серьезности
Чтобы надлежащим образом оценить риски, связанные с выбором операционной системы для какой-либо определенной задачи, необходимо рассмотреть множество показателей. Иногда они действуют кумулятивно, в других случаях — компенсируют друг друга.
Существуют три очень важных фактора риска, которые существенно зависят друг от друга. Комбинация этих трех факторов решающим образом влияет на общую серьезность той или иной бреши в системе защиты. Такими элементами показателя общей серьезности явля-ются: возможный ущерб, возможность использования и возможная доступность .
Элементы показателя общей серьезности
Возможный ущерб любой обнаруженной уязвимости показывает, какой вред может быть нанесен в результате ее использования злоумышлен-ником. Уязвимость, позволяющая раскрыть все пароли администраторов, имеет высокий показатель возможного ущерба. Этот показатель для бреши, в результате использования которой начинает мерцать экран, обычно намного ниже, он возрастает только в том случае, если это конкретное повреждение трудно исправить.
Возможность использования показывает, насколько просто или сложно использовать данную уязвимость, потребуется ли высокая квалификация в программировании или эту уязвимость сможет использовать любой человек с самыми элементарными знаниями в указанной области.
Возможная доступность показывает, какой уровень доступа необходим для использования данной уязвимости. Если любой начинающий хакер (тот, кого обычно называют «script kiddies») из Интернета может использовать брешь на сервере, защищенном межсетевым экраном, то эта брешь имеет очень высокую возможную доступность. Если же использовать брешь сможет только сотрудник компании, имеющий действующие регистрационное имя и пароль, причем исключительно с компьютера, находящегося в здании компании, то возможная доступность этой бреши значительно меньше.
Один или несколько из вышеперечисленных факторов риска могут оказать решающее воздействие на общую серьезность ошибки. Рассмотрим следующую ситуацию. Руководитель информационной службы компании, занимающейся электронной коммерцией через web-сайт, узнает от аналитика по безопасности, что обнаружена брешь в операционной системе, под управлением которой функционируют серверы компании. Злоумышленник может использовать эту брешь, чтобы удалить всю информацию с дисков на всех серверах, используемых компанией.
Возможный ущерб — последствия от этой бреши катастрофичны.
Хуже того, аналитик добавляет, что с технической точки зрения эту брешь использовать тривиально просто. Возможность использования имеет критический уровень.
Пора нажимать аварийную кнопку, не так ли? Но предположим, что аналитик добавляет еще несколько слов. Использовать эту брешь может только тот, у кого есть ключ от серверной комнаты, потому что эта данная уязвимость требует физического доступа к компьютерам. Этот единственный ключевой показатель, простите за каламбур, радикально изменяет общую серьезность угрозы, порожденной данной конкретной брешью. Крайне низкая возможная доступность переводит стрелку на шкале серьезности с «тревога!» на «под контролем».
Наоборот, другая уязвимость может быть доступна любому начинающему хакеру в Интернете, но по-прежнему будет иметь незначительную серьезность, если возможный ущерб от этой бреши является несущественным.
Возможно, теперь более понятно, почему обманчива, если не совершенно безответственна, методика оценки безопасности по одному-единственному показателю, например, по количеству предупреждений об уязвимостях. В самом крайнем случае следует рассмотреть также указанные три фактора риска. Какая операционная система заслуживает больше доверия — с сотней брешей пренебрежимо малой серьезности или же с десятком брешей чрезвычайно высокой серьезности (использование бреши ведет к катастрофе)? Если при оценке не учитывать общую серьезность брешей, то подсчет их количества в лучшем случае не имеет никакого значения, в худшем — вводит в заблуждение.
Показатель общей серьезности имеет три упомянутых «главных» компонента. Выше же было показано, как низкий возможный ущерб или низкая возможная доступность могут практически свести на нет другие факторы риска, какими бы высокими они ни были. Возможность использования — исключение из этого правила. Брешь, для использования которой требуется высококвалифицированный специалист, значительно меньше компенсирует высокий показатель возможного ущерба или возможной доступности .
Объясняется это просто. Если для использования бреши необходимо попасть в комнату с компьютерами, то дело не только в том, что это трудно, но и в том, что любая попытка проникнуть в эту комнату увеличивает для злоумышленника риск быть пойманным. И именно поэтому брешь, которую может использовать только сотрудник компании, менее серьезна, чем брешь, которую может использовать любой начинающий хакер из Интернета. В первом случае риск быть пойманным намного выше, чем во втором.
С другой стороны, анонимные злоумышленники-программисты весьма заурядной квалификации могут в течение нескольких недель или месяцев разрабатывать программу, позволяющую использовать какую-либо брешь в защите, практически не рискуя при этом быть пойманными. Единственная важная задача, стоящая перед таким злоумышленником, — активировать вредоносную программу так, чтобы невозможно было отследить ее автора.
Уже поверхностное знакомство с современным состоянием вредоносного программного обеспечения показывает самоочевидность этого исключения. Мало кто воспользуется базукой, чтобы проложить себе путь в машинный зал и «взломать» находящиеся там серверы. Но существует бесчисленное множество троянских программ, сетевых червей и вирусов, которые по-прежнему заражают множество компьютеров, и одна из причин в том, что программисты, талантливые и не очень, считают признаком профессионализма умение преодолеть технические трудности написания вредоносного кода или переработки вредоносного кода, написанного другими. Очевидно, что технические трудности необязательно компенсируют высокую опасность бреши, вызванную другими причинами.
Лучшие дистрибутивы Linux в 2023
Операционные системы Linux — одна из самых востребованных и активно развивающихся технологий современности. Их можно встретить в серверах, дата-центрах и суперкомпьютерах по всему миру. Существует множество различных ОС семейства Linux, которые позволяют настроить персонализацию под любые задачи и предпочтения пользователей.
Самостоятельно проанализировать возможности крупнейших дистрибутивов Linux и производных от них сборок — задача не из лёгких. Ведь на сегодняшний день в мире насчитывается более 6 000 релизов и около 5 000 разрабатываемых ОС. Чтобы помочь сузить область поиска, мы составили список лучших вариантов, для удобства разбив их на несколько категорий.
Самые популярные дистрибутивы Linux
Учитывая их многообразие, составить топ дистрибутивов Linux крайне сложно. Ведь эти продукты распространяются различными компаниями и не имеют единой системы отчётности. Любая статистика (включая, запросы в поисковиках и рейтинги на тематических ресурсах, вроде Distrowatch) будет далека от объективности. Представленный ниже рейтинг дистрибутивов Linux отражает разумный компромисс между сложившимися годами предпочтениями опенсорс-сообщества и новыми тенденциями в развитии этой технологии.
Ubuntu
Основа: Debian.
Архитектура: aarch64, armel, armhf, i386, i686, mips, mipsel, ppc64el, s390x, x86_64.
Преимущества:
- простота установки, есть LiveCD;
- большое и развитое сообщество;
- обширная база документации, в том числе на русском;
- лёгкое использование PPA;
- большое число дополнительных репозиториев.
Согласно открытой статистике, более 30 % сайтов на базе Linux в мире используют именно эту ОС. По данным разработчиков Ubuntu из компании Canonical, число её пользователей во всём мире превышает 25 миллионов. И такая популярность вполне объяснима.
С момента выхода первого релиза в 2004 году, Ubuntu проделал огромный путь от временного ответвления Debian до одной из самых надёжных и удобных в использовании ОС семейства Linux. Официальные реализации: Desktop, Core, Server и Cloud позволяют с одинаковой лёгкостью использовать дистрибутив на ПК, устройствах IoT, виртуальных машинах и платформах облачных вычислений.
Ubuntu стала базой для целого ряда специализированных дистрибутивов от Canonical. Например, для систем с низкой конфигурацией созданы Lubuntu и Xubuntu, элегантная среда рабочего стола KDE реализована в Kubuntu, а Edubuntu ориентирован на школы и образовательные учреждения.
Debian
Основа: Linux kernel.
Архитектура: armhf, ppc64el, riscv, s390x, x86_64.
Преимущества:
- легковесность;
- возможность выбора окружения рабочего стола при установке;
- большое и развитое сообщество;
- высокая надёжность и стабильность релизов;
- поддержка 32- и 64-битных архитектур.
Хотя этот проект Canonical активно развивается с 1993 года, он не достиг таких впечатляющих результатов, как его ближайший «потомок». При всей схожести возможностей, у Debian есть несколько существенных отличий от Ubuntu, влияющих на популярность.
Новые сборки Debian Stable, которые, как и Ubuntu LTS выходят каждые 2 года, в первую очередь ориентированы на надежность, а уже потом на актуальность версий ПО. Именно поэтому Debian считается самым стабильным дистрибутивом Linux и пользуется большим спросом именно в качестве серверной ОС. Ведь для сервера стабильность гораздо важнее новизны.
Другим существенным отличием и Debian от Ubuntu является более жёсткая политика по отношению к устанавливаемому ПО. В ядре Debian содержатся только драйверы и прошивки с открытым исходным кодом (FOSS). Установка программ с закрытым исходным кодом требует от пользователя ряд дополнительных действий.
MX Linux
Основа: Debian (Stable), antiX.
Архитектура: armhf, i686, x86_64.
Преимущества:
- средние габариты;
- элегантный и эффективный десктоп;
- высокая стабильность;
- простота настройки;
- документация на русском.
Дистрибутив Linux для настольных ПК, основанный на «стабильной» ветви Debian, является совместным проектом разработчиков дистрибутивов antiX и MEPIS Linux. И MX Linux удалось взять лучшее от каждого из «родителей». Это позволило ему достичь максимальной производительности без ущерба для стабильности и удобства использования.
Дистрибутив содержит ядро из последней «стабильной» версии Debian, а также последнюю версию ядра Liquorix, между которыми можно легко переключаться в процессе установки. MX Linux включает 3 различных экосистемы, реализованные в средах рабочего стола Xfce, Pasma и Fluxbox.
Уникальная особенность MX Linux заключается в том, что входящий в его состав init сервис systemd в этом дистрибутиве по умолчанию выключен. Вместо этого MX Linux использует службу systemd-shim, которая эмулирует большинство функций systemd, необходимых для запуска помощников без init.
Manjaro
Основа: Arch Linux.
Архитектура: aarch64, x86_64.
Преимущества:
- простота установки;
- автоматическое определение оборудования;
- возможность установки нескольких ядер;
- специальные сценарии Bash для управления графическими драйверами;
- развитое сообщество.
Этот быстрый и удобный дистрибутив Linux во многом похож на своего «родителя» — Arch Linux. Оба ориентированы на работу с новейшим программным обеспечением без лишней нагрузки на компьютер. Однако, если Arch оптимизирован под нужды технически подкованных пользователей серверов, то Manjaro более подходит для новичков.
Manjaro, как и Windows способен автоматически определять оборудование системы и устанавливать соответствующее программное обеспечение. Дистрибутив поддерживается тысячами приложений, в том числе многими популярными альтернативами MS Office.
У Manjaro есть несколько официальных редакций для пользователей с разными запросами. Быстрая и легкая версия XFCE Edition, более основательная KDE Edition, ориентированная на медиа- и визуально привлекательность, Gnome Edition с настраиваемым пользовательским интерфейсом, а также вариант для продвинутых Architect Edition.
EndeavourOS
Основа: Arch Linux.
Архитектура: aarch64, x86_64.
Преимущества:
- вариативность установки (2 режима);
- большое число доступных десктопов;
- удобная настройка системы;
- развитое сообщество.
Этот дистрибутив Linux с непрерывным циклом развёртывания стал прямым преемником проекта Antergos, официально завершенного в 2019 году. Его создатели (во главе с модератором Antergos Брайаном Пурвоатмоджо) ставили цель разработать легко поддерживаемый дистрибутив, который был бы максимально близок к Arch Linux.
Дистрибутив оснащен штатным графическим установщиком Calamares, который позволяет развернуть базовое окружение Arch Linux (без предустановленного ПО) с рабочим столом Xfce. Интерактивный сетевой установщик может устанавливать дополнительные программные компоненты, в том числе наиболее популярные среды рабочего стола: i3-wm, Openbox, Mate, Cinnamon, GNOME, BSPWM, Sway, Budgie и KDE. Встроенная утилита Welcome обеспечивает легкую начальную настройку системы.
Дистрибутивы Linux для начинающих
Новички в мире Linux могут быть со старта обескуражены проблемой выбора среди десятков популярных вариантов. Мы рекомендуем начинать с тех дистрибутивов, которые обладают максимально дружественным к пользователю интерфейсом, просты в установке и не перегружены лишним функционалом.
Nitrux
Основа: Debian (Unstable), Ubuntu (LTS).
Архитектура: x86_64.
Преимущества:
- широкие возможности настройки;
- совместимость с форматом AppImages;
- гибкость;
- легковесность.
Этот десктопный дистрибутив GNU / Linux основан на ветке «подвижных» релизов Debian Unstable (Sid) с дополнительными пакетами из репозиториев Ubuntu LTS. Он ориентирован на применение в настольных компьютерах и ноутбуках. Благодаря широким возможностям ядра Debian, гибкой среде рабочего стола KDE Plasma c виджетами-плазмоидами и облегченной комплектации ПО «из коробки», Nitrux считается идеальным выбором для новичков.
Вместо того чтобы создавать настраиваемую среду рабочего стола с нуля, Nitrux предлагает несколько готовых макетов, позволяющих наилучшим образом использовать доступное пространство на экране. Здесь есть предустановленные административные приложения, поэтому даже неопытный пользователь может справиться с такими задачами, как настройка межсетевого экрана и резервное копирование.
В дистрибутиве есть возможность установить дополнительный рабочий стол Nomad Desktop, разработанный командой Nitrux. Он позволяет расширить возможности основного десктопа Plasma, без потери его гибкости и настраиваемости.
Linux Lite
Основа: Debian, Ubuntu (LTS).
Архитектура: i686, x86_64.
Преимущества:
- нетребовательность к ресурсам;
- простота установки и использования;
- легковесность;
- удобный интерфейс.
Это дистрибутив на основе Ubuntu (LTS) со средой рабочего стола Xfce ориентирован на максимальное облегчение процесса перехода новичков с Windows на Linux. Это даже отражено в его слогане «Gateway operating system», который можно перевести как «Врата между операционными системами».
Базовая комплектация Linux Lite содержит оптимальный набор приложений для «быстрого старта», включая полный офисный пакет, медиаплеер, почтовый клиент и браузер. При этом дистрибутив не перегружен множеством пакетов и инструментов.
Вместо этого он предлагает набор утилит, специализированных для определенной цели. Например, Lite Welcome вызывает окно со ссылками на первоначальную настройку ОС и техподдержку, Lite Users позволяет управлять пользователями, а Lite Software быстро установить нужное дополнительное ПО.
deepin
Основа: Debian.
Архитектура: x86_64.
Преимущества:
- простота установки и использования;
- удобный интерфейс;
- безопасность;
- надёжность.
Элегантный и надежный дистрибутив на основе Debian ориентирован на установку в настольные ПК и ноутбуки. Deepin оснащён собственной средой рабочего стола под DDE (Deepin Desktop Environment), созданной на базе инструментов фреймворка Qt 5 и технологии HTML5.
Deepin уделяет большое внимание интуитивно понятному дизайну. Его собственные приложения, такие как Deepin Software Center, DMusic и DPlayer, адаптированы для нужд как начинающих, так и продвинутых пользователей. Этот простой в установке дистрибутив может стать хорошей альтернативой Windows для офиса и дома.
Дистрибутивы Linux для программистов и продвинутых пользователей
Хотя Windows и macOS доминируют на рынке операционных систем, IT-специалисты отдают предпочтение именно опенсорсным продуктам семейства Linux. Неслучайно, большинство серверов и суперкомпьютеров в мире работают именно на этих ОС. Ведь у них есть все преимущества Linux — такие операционные системы бесплатны, более безопасны и стабильны, к тому же дают огромную свободу выбора при установке ПО.
Разработчики часто выбирают дистрибутивы Linux из-за высокой совместимости с языками и инструментами программирования. Сисадмины предпочитают их за возможность гибкого управления системой с помощью команд в терминале, а также за богатство встроенных инструментов удалённой настройки веб-сервера.
Arch Linux
Основа: Linux kernel.
Архитектура: x86_64.
Преимущества:
- модель обновлений rolling release;
- возможность установки несвободного ПО;
- контроль зависимостей пакетов;
- гибкость настройки.
Независимый дистрибутив Linux, оптимизированный под нужды продвинутых пользователей. Установочная версия Arch Linux минималистична. Она предоставляет стабильную базу, на основе которой пользователи сами создают выборочную конфигурацию, устанавливая нужные пакеты при помощи инструмента Arch Build System (ABS).
Arch Linux основан на модели непрерывного развёртывания обновлений, что позволяет обеспечить высокую актуальность версий приложений. Он использует свой собственный менеджер пакетов Pacman для установки обновлений с полным отслеживанием зависимостей.
Gentoo
Основа: Linux kernel, FreeBSD.
Архитектура: i486, i586, i686, x86_64, alpha, arm, hppa, ia64, mips, powerpc, ppc64, sparc64.
Преимущества:
- много альтернативных способов установки;
- продвинутое управление пакетами;
- аппаратная многоплатформенность;
- низкое потребление оперативной памяти;
- гибкость настройки модулей.
Дистрибутив на базе исходного ядра Linux считается оптимальным инструментом для специалистов по настройке сетей и профессиональных разработчиков. Gentoo устанавливается не из готовых двоичных пакетов, а собирает каждый пакет из исходного кода и компилирует их для целевой ОС. Это дает широчайшие возможности для точной оптимизации системы под конкретные задачи.
Gentoo обладает собственной системой управления пакетами Portage, работающей по типу «портов» FreeBSD, но на основе Python. Её продвинутый инструментарий позволяет осуществлять точную сборку пакетов «под себя», а также автоматизировать их работу в целевой системе. С помощью Portage Gentoo с одинаковой лёгкостью может служить основой для защищенного сервера, платформы программной разработки или мощного игрового ПК.
Slackware Linux
Основа: Linux kernel.
Архитектура: arm, i586, s390, x86_64.
Преимущества:
- простота устройства;
- стабильность работы;
- развитое сообщество;
- есть коммерческая поддержка.
Slackware — один из первых дистрибутивов Linux для сервера, появившихся в широком доступе. С момента дебютного релиза в 1993 году он успел накопить обширную и преданную базу поклонников, которая занимается развитием ОС и по сей день.
Хотя название Slackware происходит от английского слова slack («ленивый», «слабый»), пользоваться им вовсе не просто. Всё дело в консервативности, которая даёт дистрибутиву главное преимущество — стабильность, но лишает его возможности идти «в ногу» со стремительно развивающимися технологиями. По этой причине он пользуется популярностью в основном в среде тех, кто изучает развитие систем семейства Unix / Linux, а также среди профессиональных айтишников.
Slackware не входит в число коммерческих дистрибутивов Linux, но он поддерживает отношения с несколькими компаниями, которые предоставляют платную поддержку.
Дистрибутивы Linux для работы с безопасностью
Вопросы конфиденциальности и безопасности также актуальны для сферы IT-технологий, как и развитие продуктов с открытым исходным кодом. И эти области тесно связаны между собой. Ниже представлены самые мощные дистрибутивы Linux, которые подойдут для специалистов по компьютерной безопасности, белых хакеров, пентестеров и OSINT.
Kali Linux
Основа: Debian (Testing)
Архитектура: mhf, i686, x86_64.
Преимущества:
- более 600 инструментов;
- меню приложений с разбивкой по категориям;
- поддержка нескольких платформ;
- обширная документация.
Пожалуй, самый известный дистрибутив Linux для тестирования на проникновение, основан на Debian и использует рабочий стол Xfce. Особенность Kali Linux — настраиваемое меню, разделенное на пронумерованные категории, которые далее разбиты на логические подкатегории. Это сильно упрощает навигацию и поиск подходящего инструмента для решения конкретной задачи.
В отличие от таких дистрибутивов, как BlackArch, Kali Linux не включает в себя все инструменты для тестирования на проникновения. Однако его разработчики, многие из которых сами работают в качестве пентестеров, заверяют, что существующая комплектация стала результатом тщательного исследования, которое позволило избежать дублирования и отобрать лучшие инструменты для наиболее распространенных задач.
Kali Linux также упрощает создание собственного дистрибутива на основе Kali. Для этого в дистрибутиве есть несколько готовых шаблонов сборки для создания пользовательских спинов Kali.
Parrot Security
Основа: Debian (Testing)
Архитектура: armel, armhf, i686, x86_64.
Преимущества:
- большой выбор инструментов защиты данных;
- меню приложений с разбивкой по категориям;
- сквозное шифрование.
Ориентированный на безопасность дистрибутив на основе Debian содержит обширный набор утилит, предназначенных для пентестинга, компьютерной криминалистики, обратной разработки, криптографии и защиты конфиденциальности. Parrot Security поставляется с MATE в качестве среды рабочего стола по умолчанию.
В отличие от своего ближайшего конкурента Kali Linux, Parrot ориентируется не только на IT-профессионалов, но и на обычных пользователей, которым нужен самый безопасный и ориентированный на конфиденциальность дистрибутив. Неслучайно, его часто применяют в работе журналисты-расследователи и хактивисты.
Kodachi
Основа: Debian, Xubuntu
Архитектура: x86_64.
Преимущества:
- маршрутизация соединения через VPN и Tor;
- поддержка DNS шифрования (DNSCrypt);
- большой выбор инструментов защиты данных;
- возможность загрузки в Live-режиме.
Для обеспечения полной конфиденциальности Kodachi использует уникальный механизм соединения с Сетью. Все подключения проходят через VPN-сервер (предоставляемый бесплатно), а затем через сеть Tor. Дополнительную защиту даёт шифрование DNS-соединения с помощью службы DNSCrypt. Опытные пользователи также могут подключаться через собственный VPN.
Дистрибутив использует приложение AppArmor для изоляции приложений. Он также включает в себя полный набор инструментов криптографии и защиты данных от перехвата, включая VeraCrypt, zuluCrypt, KeePassXC, Metadata Anonymization Toolkit (MAT) для удаления метаданных из файлов. Приложение Panic Room позволяет производить автоматическую зачистку следов использования Kodachi в оперативной памяти.
Лучшие дистрибутивы Linux на домашний компьютер
Особенность большинства дистрибутивов Linux для ПК — возможность установки нескольких вариантов окружений рабочего стола или десктопов. Именно они, как будут выглядеть и работать набор приложений, предустановленных в ОС. Десктопные ОС семейства Linux предлагают своим пользователям больше возможностей по точной настройке домашнего компьютера под свои текущие нужды.
Linux Mint
Основа: Debian, Ubuntu (LTS).
Архитектура: i686, x86_64.
Преимущества:
- легковесность;
- возможность выбора окружения рабочего стола при установке;
- мультимедиа кодеки доступны «из коробки»;
- обилие дополнительного ПО в центре приложений;
- совместимость с репозиториями Ubuntu.
Надежный и элегантный дистрибутив на основе Ubuntu успешно воплощает в жизнь свой коммерческий слоган «Со свободой приходит и утончённость». В Linux Mint по умолчанию, есть всё, что нужно для комфортной работы пользователей с разным техническим уровнем. Многочисленные встроенные и дополнительные инструменты позволяют каждому настроить ОС по своим персональным предпочтениям.
Популярность дистрибутива во многом объясняется удачным дизайном его среды рабочего стола. Базовый «мятный» десктоп Cinnamon во многом напоминает привычный большинству классический интерфейс Windows. К тому же, несмотря на обилие настроек, Mint готов к полноценному использованию сразу же после установки.
Fedora
Основа: Red Hat Linux.
Архитектура: aarch64, armhfp, x86_64.
Преимущества:
- модульность;
- большой выбор сред рабочего стола (Fedora spins);
- быстрая интеграция новых технологий;
- развитое сообщество.
Этот дистрибутив операционной системы Linux, разрабатываемый некоммерческим сообществом Fedora Project. Владеет Fedora компания Red Hat, которая позиционирует ОС как экспериментальную платформу для обкатки новых решений перед реализацией в RHEL.
Средой рабочего стола в Fedora по умолчанию является GNOME, но могут быть установлены и альтернативные сборки с другими средами, например KDE Plasma Desktop, LXQt или Xfce. Эти дополнительные среды ориентированы на решение узкоспециализированных задач — игры, безопасность, дизайн, научные вычисления и робототехнику.
Solus
Основа: Linux kernel.
Архитектура: x86_64.
Преимущества:
- широкие возможности оптимизации;
- удобство использования;
- большая база инструментов для разработчика.
Созданный с нуля дистрибутив Linux привлекает программистов удобством, отсутствием зависимостей, а также широким выбором инструментов для работы с кодом. В Solus доступны редакторы, языки программирования, компиляторы и системы контроля версий, а также технологии контейнеризации / виртуализации.
Дистрибутив обладает настраиваемой средой рабочего стола Budgie, тесно интегрированной с технологическим стеком среды GNOME. Помимо собственного пользовательского окружения, возможна установка дополнительных десктопов GNOME, KDE Plasma и MATE. Solus использует пакетный менеджер eopkg — форк диспетчера пакетов PiSi из дистрибутива Pardus Linux.
Лучшие серверные дистрибутивы Linux
Хотя Windows и является самой популярной операционной системой в мире для настольных ПК, в мире программного обеспечения для серверов безраздельно царствует ОС Linux. Серверные операционные системы на базе Unix / Linux часто используются не только для обычных веб-серверов, но и для создания инфраструктуры облачных сетей, граничных вычислений, интернета вещей и обработки больших данных. Помимо платных дистрибутивов Linux для сервера существует и немало бесплатных, с высокой степенью надёжностью и возможностью подключения коммерческой поддержки.
Red Hat Enterprise Linux (RHEL)
Основа: Fedora
Архитектура: aarch64, i386, ia64, IBM Z, ppc, ppc64el, s390, s390x, x86_64.
Преимущества:
- высокая стабильность и безопасность;
- мультиплатформенность;
- оптимизация под облачную инфраструктуру;
- высокое качество и срок коммерческой поддержки;
- наличие полноценной бесплатной версии.
RHEL — флагманский коммерческий дистрибутив компании Red Hat для создания серверной инфраструктуры производственного уровня в физических, виртуальных и облачных средах. Это единственная ОС на GNU / Linux, способная предложить пользователям платную поддержку на срок до 13 лет.
В RHEL реализован полный набор средств для налаживания эффективной работы и защиты системы — от поддержки контейнеризации приложений до создания гибридной облачной инфраструктуры. Серверная ОС Linux отлично приспособлена для работы с такими технологиями цифровой трансформации предприятия, как машинное обучение, аналитика больших данных, интернет вещей и граничные вычисления.
В начале 2021 года Red Hat объявили об официальном запуске бесплатной версии RHEL, ориентированной на нужды малого бизнеса. Ранее доступ к такому продукту имели только разработчики. Теперь бесплатный дистрибутив доступен RHEL стал массовому потребителю, но с ограничениями по числу машин и без техподдержки.
SUSE Linux Enterprise Server (SLES)
Основа: openSUSE
Архитектура: armv7, armv8, IBM Z, Power, x86_64.
Преимущества:
- высокая адаптивность;
- возможность обновления в атомарном режиме;
- обширная документация;
- интеграция с технологиями виртуализации;
- продвинутая техподдержка.
Серверная операционная система Linux корпоративного уровня, созданная на базе бесплатного дистрибутива с открытым кодом openSUSE. Она позволяет разработчикам и администраторам развертывать критически важные вычислительные процессы на локальных машинах, в общедоступном облаке, а также в пространстве периферийных вычислений.
Благодаря гибкой адаптивности API-интерфейсов и служб, приложения SLES могут работать с самым широким диапазоном доступных архитектур, серверов, хранилищ и сетевых опций. Такой подход позволяет дистрибутиву плавно распределять рабочие нагрузки между различными операционными средами. SLES оптимизирован под большинство популярных технологий гипервизоров и облачных платформ, включая Xen, KVM, VMware vSphere и Microsoft Hyper-V.
Oracle Linux
Основа: Red Hat.
Архитектура: aarch64, x86_64.
Преимущества:
- высокая стабильность и безопасность;
- двоичная совместимости с RHEL;
- 2 ядра на выбор (Unbreakable Enterprise Kernel (UEK) и Red Hat Compatible Kernel (RHCK);
- есть доступная по цене коммерческая версия с техподдержкой.
Это свободное ПО, созданное на основе перекомпилированных исходников и патчей корпоративной ОС Red Hat Enterprise Linux (RHEL). Oracle Linux содержит те же двоичные файлы, что и RHEL, поэтому полностью отвечает требованиям к безопасности и стабильности платформ производственного уровня.
До недавнего времени Oracle уступал в рейтинге самых популярных серверных дистрибутивов Linux своему главному конкуренту — CentOS. Хотя оба дистрибутива созданы на базе корпоративной ОС RHEL, CentOS выпускается непосредственно Red Hat, поэтому стабильно удерживала третье место в рейтинге самых востребованных серверных дистрибутивов Linux.
Однако в 2020 году, когда Red Hat заявили о прекращении поддержки CentOS 8 в конце 2021 и переходе на CentOS Stream (без стабильных LTS релизов), «акции» Oracle Linux у пользователей заметно повысились. Oracle даже выпустила скрипт для быстрой миграции пользователей с CentOS 8.
Ubuntu Server
Основа: Debian.
Архитектура: x86-64, ARM v7, ARM64, POWER8, POWER9, IBM s390x (LinuxONE).
Преимущества:
- простота установки;
- долгосрочная коммерческая поддержка;
- обширная база документации, в том числе на русском;
- производительность;
- гибкость настройки.
Популярный дистрибутив на базе Debian можно встретить почти в каждом рейтинге лучших серверных ОС Linux. Эта версия Ubuntu устанавливает строгий стандарт качества и удобства использования, которому пытаются соответствовать многие операционные системы Linux для серверов.
В отличие от десктопной Ubuntu, в серверной «из коробки» нет полного набора предустановленных стандартных приложений и графического интерфейса (GUI). Зато здесь есть всё, чтобы обеспечить полноценное развёртывание, администрирование и защиту серверной инфраструктуры — от файлового сервера до пакетов для управления облачным кластером.
Начиная с версии 20.04 LTS, в Ubuntu Server появились такие полезные для подключающихся пользователей опции безопасности, как SSH с двухфакторной аутентификацией, собственный VPN WireGuard и улучшенная система управления доступом к файлам на основе имен AppArmor3.
Дистрибутивы Linux для пользователей Windows и MacOS
Попытка перехода с проприетарной ОС на операционную систему с открытым исходным кодом может быть нелёгким опытом, особенно для пользователя со слабой технической подготовкой. Чтобы облегчить эту задачу и были созданы дистрибутивы Linux похожие на Windows или MacOS. Они снабжены удобным пользовательским интерфейсом, а также имеют облегченный механизм установки и настройки приложений.
Xubuntu
Основа: Debian, Ubuntu.
Архитектура: i686, x86_64.
Преимущества:
- лёгкость установки и настойки;
- элегантное окружение рабочего стола;
- легковесность;
- высокая быстрота и стабильность.
Это разновидность популярнейшего дистрибутива Ubuntu ориентирована на простоту, адаптируемость и доступность для массового пользователя. По умолчанию Xubuntu поставляется с облегченной средой рабочего стола Xfce, которую также легко настроить и реорганизовать, как рабочий стол в Windows.
Xubuntu ориентирован на оптимальный баланс между лёгким весом и производительностью. В дистрибутиве «из коробки» есть достаточно приложений для решения большинства повседневных задач, без установки дополнительного ПО. Поэтому Xubuntu одинаково хорошо подходит для современных машин, и для слабых ноутбуков или компьютеров.
Помимо полной версии, существует и максимально облегченная разновидность ОС под названием Xubuntu Core. Здесь нет предустановленных приложений, а оставлен только базовый интерфейс и десктоп Xfce.
elementary OS (eOS)
Основа: Debian, Ubuntu.
Архитектура: x86_64.
Преимущества:
- лёгкая установка (графическая утилита);
- легковестность и нетребовательность к ресурсам;
- высокая скорость работы;
- полная совместимость с репозиториями и пакетами Ubuntu.
Быстрый и простой в использовании десктопный дистрибутив на основе Ubuntu LTS популярен среди пользователей, переходящих на Linux с проприетарных платформ. Пользовательский интерфейс elementary OS визуально во многом напоминает MS Windows и macOS, что значительно облегчает работу с ним для новичков.
Каждая сборка содержит минимально необходимый набор встроенных приложений, а дополнительные можно легко установить через встроенный менеджер пакетов AppCenter. Базовый репозиторий дистрибутива включает в себя последние версии Gtk +, Openssh, Openssl, Python, Samba, Vim, Xorg-server, Perl и других полезных инструментов.
Zorin OS
Основа: Debian, Ubuntu (LTS).
Архитектура: x86_64.
Преимущества:
- адаптивный рабочий стол;
- возможность запускать программы для Windows и macOS;
- легковесность;
- высокая скорость работы.
Это дистрибутив на основе Ubuntu был специально разработан для новичков в Linux. Его графический интерфейс и набор встроенных программ очень напоминают операционную систему Windows.
Рабочий стол Zorin можно настроить так, чтобы он имитировал внешний вид ряда других сред рабочего стола и операционных систем, таких как GNOME 2, GNOME 3, macOS и Windows 7. Zorin OS поставляется с приложением Zorin Appearance, которое позволяет пользователям запускать многие программы Windows и macOS.
Лучшие дистрибутивы Linux для игр
Дистрибутивы Linux — настоящая находка для геймеров. Они переносят свободу, которую предлагают продукты с открытым кодом, в пространство популярных цифровых игр.
Pop!_OS
Основа: Debian, Ubuntu.
Архитектура: x86_64.
Преимущества:
- есть отдельные ISO под видеокарты Nvidia и AMD;
- простота в использовании;
- легкий доступ к Steam и Lutris;
- широкие настройки для ноутбуков и гибридного игрового оборудования.
Один из лучших дистрибутивов Linux для ноутбуков, особенно с гибридными настройками графики, такими как старые машины с видеочипами Nvidia Optimus. Pop! _OS использует настраиваемую оболочку пользовательского окружения GNOME, которая обеспечивает лучшую производительность с отдельными расширениями.
Этот игровой дистрибутив Linux имеет хорошую совместимость с новейшим оборудованием. Здесь есть возможность выбрать 2 варианта установочных файлов ISO, с оптимизированными настройками под видеокарты Nvidia и AMD. Большинство необходимых инструментов, таких как Lutris, Steam и GameHub, в Pop! _OS можно установить напрямую из встроенного магазина приложений Pop! _Store.
Garuda Linux
Основа: Arch Linux.
Архитектура: x86_64.
Преимущества:
- широкие возможности настройки;
- легкость установки приложений;
- разнообразие графических интерфейсов;
- обновление по модели плавающих релизов;
- высокая производительность.
Это мощный дистрибутив на базе Arch с множеством встроенных инструментов, позволяющих добиться повышенной производительности и стабильности. Помимо базового пользовательского окружения KDE, в Garuda можно также установить такие десктопы, как Xfce и GNOME.
Геймерам Garuda предлагает удобный графический установщик Calamares, позволяющий легко установить все необходимое для игр. В обширный набор встроенных пакетов входят такие специализированные приложения, как Steam, WINE, Winetricks, PlayOnLinux, Gamehub (альтернатива Linux для GOG Galaxy 2.0), Lutris, DXVK и Proton.
В числе наиболее инструментов для повышения производительности, доступных в дистрибутиве — пакетный менеджер Pacman с графическим интерфейсом (GUI), регулятор производительности процессора Zram, менеджер загрузки GRUB и утилита резервного копирования Timeshift.
Lakka OS
Основа: LibreELEC.
Архитектура: aarch64, armhf, i386, x86_64.
Преимущества:
- легковесность;
- нетребовательность к ресурсам;
- хорошая оптимизация.
Это легкий дистрибутив способен превратить даже маломощный компьютер в полноценную игровую консоль. Операционная система Linux основана на LibreELEC (форке ОС OpenELEC) и работает под управлением эмулятора консоли RetroArch. Lakka может запускаться на разнообразном оборудовании, включая персональные компьютеры, платы Raspberry Pi и устройства WeTek Play.
Все эмуляторы скомпилированы с максимально возможной оптимизацией, поэтому Lakka OS запускает игры более плавно, чем обычные эмуляторы. Для большинства игр потребуется очень мало аппаратных ресурсов, за исключением продуктов Playstation или Xbox.
В Lakka OS из «коробки» реализовано много полезных для игроков функций, включая многопользовательский режим, автосохранение, шейдеры, поддержка беспроводных джойстиков, автоматическое распознавание джойстика и перемотка.
Легковесные дистрибутивы Linux
Помимо свободы выбора, большинство пользователей ценит Linux за простоту. Здесь можно не только выбрать комплектацию будущей операционной системы, но и скачать готовые легкие дистрибутивы Linux, которые будут работать максимально производительно и без «отъедания» лишних ресурсов. Подобный вариант особенно полезен владельцам старых ноутбуков и компьютеров, чьи машины могут уже плохо справляться с требованиями новейших версий Windows и macOS.
Peppermint OS
Основа: Debian, Lubuntu (LTS).
Архитектура: i686, x86_64.
Преимущества:
- простота установки;
- скорость работы;
- интеграция с облачной инфраструктурой;
- элегантный и удобный интерфейс.
Peppermint OS является одним из самых быстрых и легких дистрибутивов Linux. Он удачно сочетает привлекательный внешний вид гибридного рабочего стола LXDE / XFCE со строгим минимализмом базовой комплектации.
Peppermint OS обладает уникальным качеством — веб-ориентированностью, которая реализована в форме гибридной облачной инфраструктуры SSB (Site Specific Browsers). Скорость работы и гибкость в этом легком Linux поддерживается за счёт комбинации предустановленных облачных (SSB) и обычных десктопных приложений. Большинство приложений в Peppermint OS запускаются не локально, а в облаке через специальную утилиту Ice.
Lubuntu
Основа: Debian, Ubuntu.
Архитектура: i686, x86_64.
Преимущества:
- высокая производительность;
- скорость работы;
- поддержка ПО и репозиториев Ubuntu;
- энергоэффективность.
Любой список облегченных дистрибутивов Linux для старых компьютеров, ноутбуков и нетбуков будет неполон без этого официального ответвления от Ubuntu. Создателям Lubuntu удалось добиться оптимального баланса между легкостью, привлекательным внешним видом и производительностью.
С версии 20.04 LTS Lubuntu поставляется с легкой и менее ресурсоемкой (чем прежний вариант LXDE) дефолтной средой рабочего стола LXQt. Она включает в себя основные приложения и службы для повседневного использования, в том числе офисный пакет, программу чтения PDF-файлов, редактор изображений и мультимедийные проигрыватели.
Puppy Linux
Основа: Linux kernel.
Архитектура: i686, x86_64.
Преимущества:
- расширенная функциональность;
- скорость работы;
- лёгкая настраиваемость;
- простота использования.
Лёгкий и простой в использовании дистрибутив Linux, помимо внешнего сходства с Windows, отличается тем, что при минимальных размерах он сохраняет свою полную функциональность. Скромный размер позволяет Puppy загружаться непосредственно в оперативную память (ramdisk). Поэтому все его приложения мгновенно запускаются и работают быстро, даже на старых компьютерах.
Puppy Linux — это не одна операционная система, а целое семейство относительно небольших дистрибутивов GNU / Linux, имеющих общие принципы и построенных с использованием одного и того же набора инструментов. Помимо официальных дистрибутивов Puppy, в это семейство входят и сотни кастомных производных (puplets), разнообразие которых позволит решить любые специфические задачи по настройке ОС под себя.
Заключение
Старинная айтишная мудрость гласит: «Лучший Линукс тот, с которым умеет обращаться ваш сисадмин». Действительно, универсального ответа на вечный вопрос «какой дистрибутив Linux выбрать» быть не может. Ведь каждый из них имеет свои сильные и слабые стороны.
Цель данной статьи не научить выбирать оптимальную ОС на базе UNIX / Linux, а сделать обзор практических сфер, где подобные системы могут применяться. При этом важно понимать, что даже узкоспециализированные дистрибутивы, могут оказаться менее эффективными для отдельных производственных задач, чем проверенные решения, с которыми специалисты компании работают много лет.
Чтобы даже самый требовательный дистрибутив Linux работал как швейцарские часы — выбирайте VDS от Eternalhost с оперативной техподдержкой 24/7 и бесплатной защитой от DDoS.