
"Что не так с Windows?" or Windows: What's wrong?
N.B.! I am looking for English-speaking volunteers to translate and publish this global text. Please, help!N.B.! Нужна помощь: я ищу англоязычных добровольцев для перевода этого программного текста на английский с целью последующей публикации.Title: Windows: What's wrong?
Author: Rami Rosenfeld (Project #
Rosenfox)Site: diasp.org/u/rosenfeld
Version: 0.1.2
Updated: 2019/11/08
License: CC_BY-NC-ND_4.0
Language: ru_ru
Hashtag: #
windows #
gnu #
linux #
gpl #
gnugpl #
proprietary #
soft #
program #
os #
software #
security #
privacy #
free #
freedom #
man #
manual #
howto #
rms #
stallman #
torvalds #
share #
reshare #
lang ru #
rosenfeldРаспространение данного материала с активной ссылкой на блог всячески приветствуется, особенно при нехватке контраргументов :) в форумном и общежитейском общении с поклонниками MS Windows!Краткий пользовательский ликбез - в сравнении с GNU/Linux
Ниже следует серьезно переработанный и глобально дополненный материал, публикуемый в новой версии.ПредысторияКак-то в приватном общении на одном из русскоязычных технических форумов отвечал - без флейма и доказательств типа "сам дурак!" - случайному собеседнику на вопрос (публикую с его разрешения):
Вы пишете, цитирую: "попутно убедился в тотальной невозможности любых мер по поддержанию должного уровня приватности и анонимности в среде Windows". Мои эксперименты с "допиливанием" ОС семейства Windows показали, что Вы правы практически полностью за исключением XP. Я думаю, что это единственная ОС из всего семейства, которую можно превратить в "невидимку" + можно добиться практически полной вирусонепроницаемости без антивиря и внешнего файера.
В связи с чем прошу хотя бы тезисно обозначить Ваши претензии к Windows XP. Может я чего упустил?
… Сегодня подобный вопрос возник снова, и я решил создать (в первую очередь для самого себя, чтобы лишний раз не трепать языком и не оббивать пальцы об клавиатуру) мини-HowTo, которое позволило бы кратко обозначить основные проблемы Windows (любых версий). Вторая часть ликбеза посвящена возможностям GNU/Linux, с упором на обеспечение его безопасности.
При подборе аргументов я старался не вникать в высокие материи и излагал свои доводы так, чтобы информация была доступна для понимания любому ~~идиоту или домохозяйке~~ неподготовленному человеку.
Итак, ответы...
WINDOWS
На протяжении примерно четверти века я непрестанно твержу: "Безопасность любого компьютера должна быть комп-лекс-ной!" И речь здесь идет не только о защите браузера и коммуникаций "пользователь" - "конечный сайт". Поэтому, уж поскольку я много лет назад перешел с Windows XP на RedHat, вначале мне проще перечислить, чего не имеется в первой из вышеупомянутых ОС (равно как и в последующих версиях Windows):
- ГЛАВНАЯ ПРОБЛЕМА: несвободное (проприетарное) программное обеспечение - это относится и к самой ОС, и к большинству прикладного софта к ней. Соответственно, всю ОС и все программы с закрытыми исходными кодами, которые недоступны для стороннего исследования, проверки и аудита, уже(!) можно считать недоверенной средой. Подобный софт "не принадлежит" пользователю, наоборот - "пользователь принадлежит ему" (в шутку принято говорить так: "Не пользователь имеет программное обеспечение, а программное обеспечение "имеет" пользователя"). Соответственно, любые ОС и ПО в силу их закрытости ведут себя, как им вздумается, причем эти процессы невозможно проконтролировать. Данный подход весьма метко называется "цифровыми наручниками".
- Проприетарные (собственнические) лицензии, под которыми выпускается как ОС, так и программы под нее, не предоставляют конечному пользователю практически никаких прав, зато накладывают огромное количество ограничений, прямых запретов и обязанностей. Чтобы убедиться в этом, самостоятельно откройте любую сопроводительную лицензию, часто обозначаемую как EULA (end-user license agreement) и внимательно ознакомьтесь с содержанием.
N.B.! Не обольщайтесь и будьте внимательны в использовании: т.н. проприетарные "бесплатные", "Free", "Freemium" и "Shareware" лицензии к ПО под Windows относятся к аналогичной категории "цифровых наручников"!
- Огромнейшая проблема любых последних версий Windows - это тотальная телеметрия! Отчеты практически о всех пользовательских действиях (работа с файлами, в т.ч. критичными; интернетом, электронной почтой и т.п.), а также о большинстве процессов, происходящих в ОС, напрямую передаются разработчикам, причем этот функционал является скрытым и неотключаемым. Таким образом, у пользователя Windows действительно "нет никаких секретов" перед разработчиками из Microsoft. Повторюсь: телеметрия ОС и программ под нее зачастую является неотключаемой в стандартных настройках и требует специальных познаний, связанных с тщательным и кропотливым редактированием реестра Windows или настроечного ini-файла программ. Именно поэтому весьма справедливо телеметрия именуется "анальным зондом".
N.B.! Кстати, далеко не факт, что внесенные вами запрещающие изменения не обнулятся при очередном обновлении (примерно так и происходит).
- Платность (сразу оговорюсь - я принципиальный противник нарушения требований проприетарных лицензий и авторских прав разработчиков; соответственно - никогда не устанавливаю взломанные или нелегально модифицированные операционные системы или программы, а также сторонние сборки типа "Windows Zver-DVD", и не призываю к этому всех присутствующих. :)
К примеру, рассмотрим, какую сумму необходимо затратить маленькой рекламной фирме из 3-5 сотрудников (поговаривают, что сейчас это самое модное направление бизнеса - куда ни плюнь, обязательно попадешь в какого-нибудь сраного "дизайнера") на приобретение минимального набора софта, обеспечивающего работу с графикой и видео. Для простоты и удобства будем рассчитывать стоимость ОДНОЙ операционной системы и ОДНОЙ программы для ОДНОГО компьютера.
Итак, чтобы использовать Windows, а также необходимый набор проприетарных узкоспециализированных программ по профилю деятельности, главе условной фирмы необходимо потратить (в ценах 2019 г., взятых произвольно - из магазина Softline - при округленной стоимости доллара 65 руб.):
а) примерно 205$ - если я захочу приобрести отдельный "коробочный" инсталляционный носитель с Windows 10 Pro (плюс лицензию и регистрационный ключ); для сравнения - Windows 10 Home Edition (для домашнего пользования) продается по цене примерно 129$ - но это лишь стоимость самой электронной лицензии (в подобном случае пользователь "на руки" не получает ничего!)
б) 577$ - на пиксельный редактор Adobe Photoshop CC 2019 (с лицензией Enterprise - всего на 12(!) месяцев).
в) 191$ - на векторный редактор CorelDRAW Graphics Suite 2019 (с лицензией - всего на 12(!) месяцев).
г) 577$ - на издательскую систему (средство верстки) Adobe InDesign CC 2019 (с лицензией Enterprise - всего на 12(!) месяцев).
д) 394$ - на офисный пакет MS Office Standard 2019.
е) 577$ - на видеоредактор Adobe Premiere Pro CC 2019 (с лицензией Enterprise - всего на 12(!) месяцев).
ж) 60$ - на антивирус Kaspersky Small Office Security 6 (вариант лицензии для мини-организаций рассчитан на 5 ПК/мобильных устройств и всего на 12(!) месяцев).
з) 200$ - на "1С:Предприятие 8" для обеспечения бухгалтерских и прочих расчетов.
ИТОГО: 2 781 доллар США или 180 765 рублей (в рубли я пересчитал специально для моих русскоговорящих подписчиков и читателей)
... Впечатляет?! :)
- Отсутствие полноценного дискового шифрования, включая:
а) системный раздел;
б) раздел подкачки;
в) пользовательский раздел.
- Отсутствие дополнительного надежного (повторюсь: "на-деж-но-го"!) шифрования данных пользовательских аккаунтов или отдельных каталогов в них.
- Отсутствие возможности надежного полнораздельного шифрования съемных носителей (флэшек, винчестеров и т.п.)
- Как итог предыдущих пунктов: полное отсутствие в ОС "из коробки" каких-либо симметричных, асимметричных и комбинированных средств шифрования, доступных конечному пользователю: GnuPG, LUKS, EncFS и т.п. В GNU/Linux первые две системы - неотъемлемая часть ОС.
- Небезопасная и непрозрачная система обновлений ОС. Печально, но факт: вы не можете отключить автоматическое обновление Windows в ее последних версиях стандартными средствами (если не ошибаюсь - вообще(!) не можете), равно как и не состоянии управлять и даже наблюдать за обновлением ОС. Для сравнения: в GNU/Linux я полностью контролирую данный процесс (ибо вижу поименно, какие пакеты приходят для обновления; могу легко манипулировать ими: запрещать отдельные обновления, отменять их, т.е. делать даунгрейды и т.п.). Кроме того, в GNU/Linux каждый пакет имеет жесткие зависимости, подписан отдельной цифровой подписью, что исключает его подделку/видоизменение при автоматическом скачивании из официального репозитория или с "зеркала".
- Игнорирование разграничения прав пользователей и игнорирование разграничения прав отдельных процессов и прикладных программ, а также доступа к ним. Приведу простой пример. Как правило, на стандартном компьютере с Windows первый (он же единственный) пользователь однозначно обладает административными правами; причем редко кто заботится о создании хотя бы примитивного пароля как к пользовательскому, а уж тем более - к отдельному администраторскому аккаунту. Буду максимально честен - к подобному опасному идиотическому подходу пришла распространенная среди школьников, хипстеров и ламеров операционная система GNU/Linux под названием Ubuntu и ее многочисленные деривативы (см. мою отдельную статью: "Почему sudo используют только чудаки").
Таким образом, любая критичная с точки зрения безопасности (и однозначно запрещенная в среде GNU/Linux!) операция в Windows выглядит следующим образом:
а) запускаем исполнимый файл (который может быть вредоносным);
б) предупреждение ОС: "Для его запуска необходимо обладать административными правами..." (или что-то подобное);
в) смело жмем на кнопку ОК;
г) ОС (осторожно): "Вы действительно хотите ...?"
д) Наш ответ: "Да!"
е) ОС (без тени сомнения): "Ну что же... валяйте! Разрешаю!"
О какой, стесняюсь спросить, "безопасности" тут может идти речь?!
- Отсутствие нативного обеспечения sandbox, "песочницы", т.е. средства ("бесправного") запуска любых процессов в изолированной среде. Для сравнения: в GNU/Linux даже встроенным средствами SELinux (Security-Enhanced Linux; система принудительного контроля доступа) я могу запустить любой пакет в песочнице буквально одной простенькой командой.
- Отсутствие нативного запуска "виртуальных машин". У меня это встроенная функция; соответственно, поверх хоста я могу запустить любую(!) изолированную операционную систему: от Windows и до самых экзотических… Ну и дальше - безопасно работать из-под нее.
- Отсутствие TmpFS (разумного подхода к обеспечению безопасности, когда промежуточные данные перенаправляются исключительно в RAM, оперативную память). Соответственно, в Windows все многочисленные временные данные сохраняются на HDD и могут быть легко восстановлены гипотетической атакующей стороной.
- Отсутствие вменяемого и логичного разбиения физического диска при первоначальной инсталляции ОС. По умолчанию, Windows будет установлена на единственный раздел (называемый "Диском С"), в котором будут располагаться:
а) загрузчик;
б) сама система;
в) прикладные программы, установленные пользователем;
г) настройки системы и всех прикладных программ;
д) все(!) пользовательские данные и профили;
е) файл подкачки.
Таким образом, при успешном :) и качественном крахе системы, вы лишитесь всего и сразу! Помните поговорку "Не кладите все яйца в одну корзину"? ... Вот-вот!
- Отсутствие нативных, надежных и проверенных средств уничтожения данных. GNU/Linux, напротив, обладает встроенным функционалом.
- "Родной" фаэрволл в Windows (добавлено позже: по крайней мере, это мое утверждение относится к версии XP) - это отдельная и очень большая проблема. Будем считать, что его там вообще нет. Это, кстати, не мое утверждение, а результаты исследований со специализированного сайта Matousec, много лет подряд занимающегося тестированием и сравнением брандмауэров и т.п. (к сожалению, сейчас эти данные там недоступны).
- Вирусная активность. Могу ли я дальше ничего не объяснять подробно? :) Приведу лишь маленький пример; вы, наверное, обращали внимание на объем баз, скачиваемых/обновляемых вашим антивирусом? Так вот, отдельная сигнатура (условно говоря, хеш-сумма) определенного вируса, может занимать 4/8/16 байт. При расчете: 1 сигнатура = 4 байта (с использованием алгоритма CRC32) и "весе" антивирусной базы в 256 Мб, мы придем к количеству примерно в 67(!) миллионов вирусов, написанных под Windows! Причем, (зоо
парк вирусов под Windows имеет свойство увеличиваться в геометрической прогрессии.
Более того, сами антивирусные программы обладают свойствами "троянского коня" - они зачастую передают телеметрические и прочие(!) пользовательские данные производителям, особенно при "облачной" проверке файлов; так что будьте готовы к тому, что ваш любой(!) файл, например секретный документ или фото голой подружки с огромным фаллоимитатором в руке, :) обязательно покинет компьютер и будет отправлен на чужой сервер.
Не секрет, что комплексные антивирусы (т.н. Internet Suit), рекламирующие "безопасность при работе в интернете" и "проверку любой ссылки/закачки", по сути, являются успешным примером завуалированной атаки man-in-the-middle ("человек посередине"), т.к. в данном случае они служат своеобразными прокси-серверами, перехватывающими и затем расшифровывающими любые получаемые/передаваемые данные для "проверки на вшивость" и зашифровываемыми обратно. Кстати, в некоторых случаях стойкость алгоритмов шифрования в HTTPS-соединения при подобном подходе снижается, т.к. антивирус может использовать менее надежный алгоритм.
- Небезопасная и непрозрачная система обновлений прикладных программ. Как правило, для "правильного" и "чистого" обновления какой-либо программы в Windows необходимо вручную осуществить следующие действия:
а) корректно экспортировать и сохранить критичные данные из пользовательского профиля (пароли, закладки и т.п.);
б) деинсталлировать старую программу;
в) зачистить множественные обрывки в реестре и на винчестере при помощи дополнительного софта;
г) найти официальный(!) сайт производителя;
д) самостоятельно выбрать(!) и скачать оттуда инсталлятор, подходящий для текущей ОС и для ее разрядности (32/64);
е) установить программу;
ж) настроить ее;
з) импортировать в программу сохраненные пользовательские данные.
Учитывая, что большинство обычных пользователей тупо набирает в Яндексе/Гугле название программы и качает ее из первого же(!) попавшегося источника (т.е. с любой файлопомойки или недостоверного, но прорекламированного сайта; в этом можно убедиться самостоятельно - просто обратите внимание на первые строки выдачи результатов поиска в распространенных поисковых системах или вспомните недавнюю историю про фейковый "русский TOR"), результат их действий вполне предсказуем. :) И это не говоря уже о том, что даже в "официальный" проприетарный дистрибутив, скачанный с не менее официального сайта, производители - и на вполне легальной основе! - могут встроить кучу стороннего "мусорного" софта (и отказаться от него можно только перейдя в "расширенные настройки установки"; впрочем, бывают отдельные тяжелые случаи, когда установку дополнительных программ, навязываемых пользователю, запретить нельзя).
В GNU/Linux, как вы, наверное, понимаете, такая ситуация невозможна в принципе (см. ниже).
- Пользователю предлагается всего две файловые системы - FAT и NTFS.
- Отсутствие отслеживания зависимостей между компонентами (пакетами) со стороны общесистемного инсталлятора (в GNU/Linux это apt-get, yum, dnf). Как результат, любая(!) сторонняя программа может занести с собой при установке любые(!) компоненты (библиотеки и т.п.), необходимые для ее работы, абсолютно не обращая внимания на тот факт, что они в ОС:
а) уже имеются;
б) не подходят по версии к другому, т.е. уже установленному ПО (таким образом, возможен конфликт).
- Дичайшее и неоправданное потребление системных ресурсов! Не так давно я занимался восстановлением Windows 10 Home (c заводского образа, расположенного на скрытом разделе) на ноутбуке одного друга. Так вот - после переустановки свежей ОС и тотального отключения всех ее телеметрических сервисов - как вручную, так и при помощи интерфейса программы O&O ShutUp10 - а также удаления ПО, щедро предустановленного производителем Lenovo, и прочего мусорного софта, оперативная память, равная 2 Gb, все равно была задействована на 60-70%!
Для сравнения: сразу 3 разных версии Fedora Linux на трех стареньких нет(!)буках с 1 GB RAM, потребляют у меня... не более 220-240 Мб памяти (вместе со всем установленным софтом!)
- (…) И это - только навскидку! Извините, устал перечислять. :)
GNU/LINUX
А вот как это устроено в GNU/Linux:
- САМОЕ ВАЖНОЕ! Свободны - как сама операционная система, так и все пакеты (т.е. программы, библиотеки, скрипты, фреймворки и т.п.) к ней; причем "свободны" с точки зрения Free as a Freedom, not as "free beer" ("Свободны как в слове "Свобода", а не как в словосочетании "халявное пиво").
Напомню, что представляют из себя пользовательские свободы с точки зрения основной лицензии - GNU GPL (and lesser, т.е. ее производные):
- Свобода номер ноль - это свобода запускать программу так, как вам этого хочется.
- Свобода номер один - это свобода изучать исходный код программы и изменять его так, чтобы программа работала в соответствии с вашими пожеланиями.
- Свобода номер два - это свобода помогать остальным, свобода распространять точные копии программы среди других пользователей.
- Свобода номер три - это свобода вносить вклад в сообщество. Это свобода распространять модифицированные копии программ, если вам этого хочется. Если у пользователя программы есть все четыре свободы, программу можно отнести к свободному программному обеспечению. Свободное ПО - это общественный строй, который определяет, как распространять и использовать программы. (цитируется по интервью Ричарда Мэттью Столлмана, он же rms, основоположника операционной системы GNU и лицензии GNU GPL)
- Полноценное и тотальное распределение ограничивающих прав - как на каталоги, каждый отдельный файл, так и на группы пользователей.
- Полноценное полнодисковое шифрование LUKS (The Linux Unified Key Setup). При инсталляции ОС шифруются:
а) "/" - системная область;
б) "/swap" - раздел подкачки;
в) "/home" - пользовательский раздел.
г) опционально - другие разделы.
- Дополнительное шифрование пользовательского раздела, находящегося в общесистемном каталоге "/home".
- Вынос загрузчика ОС на внешний носитель (простейший аналог аппаратного ключа).
- Обеспечение системы принудительного контроля доступа - SELinux в enforcing-режиме. SELinux является не заменой, а следующим уровнем, работающим после классической модели безопасности Linux. Применение политик безопасности и ролей (т.е. каждый пакет/программа обладает минимальным ограничивающим набором прав в соответствии с ее официальным функционалом).
Простейший пример: любой произвольный текстовый редактор имеет права записывать данные на носители или посылать задания на печать, но если он проявит иную нехарактерную активность, например, попытается самостоятельно соединиться с веб-ресурсом или, к примеру, записать компакт-диск, :) то немедленно будет блокирован. Этот функционал немного схож с HIPS (Host-based Intrusion Prevention System, системой предотвращения вторжений, которой обладают некоторые серьезные антивирусы для Windows; хороший пример качественного HIPS имеется в Comodo Internet Security), однако в GNU/Linux он является встроенным в саму ОС. Впрочем, предустановленные для большинства приложений роли (они периодически скачиваются и устанавливаются вместе с системными обновлениями) можно видоизменять под свои нужды, однако делать это необходимо с максимальной осторожностью. Категорически не рекомендуется переводить SELinux в разрешительный режим permissive или отключать его!
- Глобальный менеджер системных сервисов - systemd.
К примеру, чтобы инициализировать/запустить/остановить или проверить состояние/статус любого сервиса (ранее они именовались "демонами"), необходимо выполнить простейшую команду:
systemctl enable/start/stop/status name.service (или name.socket)- Надежный и удобный в настройке предустановленный фаэрволл, например, firewalld, работающий в режиме "запрещено все, кроме того, что явно не разрешено".
Взгляните, вот как просто одной консольной командой закрываются все(!) порты сразу по двум протоколам TCP/UDP, и одновременно из правил фаэрволла удаляются неиспользуемые службы:
firewall-cmd --permanent --remove-port=1-65535/udp && firewall-cmd --permanent --remove-port=1-65535/tcp && firewall-cmd --permanent --remove-service=samba-client mdns ssh (...)Впрочем, эти же действия осуществляются и посредством GUI, т.е. графического интерфейса фаэрволла.
- Журналирование действий ОС, прикладных пакетов и тотальный централизованный контроль за логами (подчеркиваю - за любыми(!) логами), а также их анализ - система journald. Это изумительную по простоте и удобству систему я хочу кратко продемонстрировать на отдельных примерах:
Просмотр логов, созданных сервисом name.service (можно набрать просто "name"):
# journalctl -u nameПросмотр логов, созданных сервисом name только в текущей сессии загрузки системы:
# journalctl -b -u nameПросмотр логов, созданных сервисом name сегодня (и т.п., например "с... до"):
# journalctl -u name.service --since todayПросмотр активности определенного пользователя (с использованием его UID):
# journalctl _UID=1000Просмотр последних 15 записей всех логов ОС и ПО:
# journalctl -n 15Просмотр полного лога в реверсивном режиме (последние записи отобразятся первыми):
# journalctl -rПросмотр в режиме реального времени (с автообновлением):
# journalctl -fУдаление логов по временному промежутку:
# journalctl --vacuum-time=2months
# journalctl --vacuum-time=1days
- Виртуализация: начиная с простейшей "sandbox" ("песочницы"), в которую легко "оборачивается" любая прикладная программа и ей присваивается определенная ограничительная "роль", и заканчивая полноценными виртуальными машинами, когда из-под хоста запускается "гостевая ОС", разворачиваемая из ISO-файла.
К примеру, вот как просто запустить ваш браузер в изолированном от ОС ограничительном окружении:
sandbox -X --type sandbox_web_t browser_name- Перенаправление временных и промежуточных данных в TmpFS (т.е. они записываются не на HDD, а исключительно в RAM и уничтожаются с обесточиванием); в отдельных продвинутых дистрибутивах существуют также методы борьбы с атакой, используемой во время т.н. cold reboot ("холодной перезагрузки").
- Обновление ОС и всего прикладного ПО из официальных репозиториев; автоматическая проверка электронной цифровой подписи (ЭЦП) каждого пакета. Прозрачные ("говорящие") названия каждого пакета и доступность расширенной информации о нем, в том числе - о его зависимостях. Весь системный и прикладной софт:
а) автоматически скачивается из официальных репозиториев (источников пакетов и их обновлений);
б) при этом используется защищенный канал к любому из "зеркал" репозиториев;
в) как я уже упоминал, каждый пакет подписан официальной цифровой подписью производителя и его злонамеренное видоизменение невозможно.
- Простота и наглядность при установке/удалении программного обеспечения, обновлении ОС и ПО.
К примеру, чтобы обновить всю(!) операционную систему и все(!) пакеты (прикладные программы, библиотеки и т.п.) в ней, необходимо выполнить всего одну команду:
dnf upgradeДля автоматизированной установки необходимых программ списком (вместе с их зависимостями) команда столь же примитивна:
dnf install program_1 program_2 program_3 (...)То же самое относится к массовому удалению ненужных программ (немаловажно - и зависимостей к ним):
dnf remove program_1 program_2 program_3 (...)Кстати, конечному пользователю вовсе необязательно помнить и приводить подробным списком все программы (пакеты), необходимые, например, для разработки и компиляции исходных кодов языка С. Все компоненты для его использования можно установить методом "груповой инсталляции":
dnf group install @c-developmentДобавлю, что репозиториях любой ОС предусмотрены самые разнообразные группы пакетов, например Office и т.п.
Столь же просты и удобны команды поиска программы в репозиториях, а также получения расширенной информации о них. И поверьте, для этого нет необходимости искать в интернете сайт официального производителя или обращаться к Википедии:
dnf search program_name
dnf info program_name
Весьма часто пользователю необходимо запретить обновление какого-либо софта. Это достигается перечислением имени пакета(-ов) в конфигурационном файле менеджера пакетов:
exclude=program_1 program_2 program_3 (...)- Гарантированное многопроходное уничтожение (а не простое удаление) критичных данных, включая логи ОС, демонов, сервисов и пользовательских файлов.
- Резервное копирование критичных и пользовательских данных с заданием периодичности и автоматической синхронизации, а также шифрование бэкапов.
- Встроенная по умолчания система генерирования (импорта-экспорта, хранения, редактирования и присваивания степени доверия) открытых/приватных ключей стандарта OpenPGP, а также пользовательских паролей к различным веб-программам, интернет-аккаунтам (XMPP, WebDAVs, OpenCloud) и прочих ключей, например SSH.
- Встроенная по умолчанию в файловые менеджеры опция шифрования, заверения при помощи электронной цифровой подписи, аутентификации и расшифрования файлов по стандарту OpenPGP (см. абзац выше).
- Расширенное планирование и последующий автоматический запуск любых процессов посредством systemd.timer (или устаревшим crontab).
- Обеспечение приватности и защищенности любых коммуникаций, включая веб-серфинг, E-mail, голосовое (VoIP) и IM-общение: SSL/TLS, SSH, SFTP, SCP, The Onion Router (TOR), GnuPG, OTR (Off-the-Record Messaging); ZRTP (Z+Real-time Transport Protocol), используемый для Voice over Internet Protocol (VoIP). Шифрование и верификация DNS-соединений, минуя DNS-провайдера: DNSCrypt, DNSSec.
- Отсутствие вирусов и прочих вредоносных программ. Кстати, если уж речь зашла о вирусах, могу добавить: в GNU/Linux их практически нет - этому способствует множество факторов: корректное (ограничительное) распределение прав групп, отдельных пользователей, а также присвоение атрибутов файлов и каталогов; сама архитектура ядра, система контроля SELinux и т.п. Официальной статистики о вирусах, разработанных под Linux, не существует, а редко встречающиеся данные значительно устарели; так, в Википедии утверждается, что "число вредоносных программ под Linux увеличилось с 2005 года. В частности, произошло удвоение количества вирусов с 422 до 863 [единиц]"(!)
Отдельно отмечу, что практически все вирусы в среде GNU/Linux необходимо "запускать руками", т.е. пользователь обязан самостоятельно активировать вредоносный файл (предварительно отключив имеющиеся системы защиты и предоставив ему при этом необходимые права). Именно поэтому, как правило, все вирусы для GNU/Linux созданы в тестовых целях - на предмет изучения гипотетических уязвимостей ОС. Ну а большинство обнаруженных уязвимостей исправляются производителями буквально в течение нескольких дней после обнаружения.
Опционально в ОС может быть установлены сетевая система предотвращения и обнаружения вторжений, например Snort, система сканирования на руткиты, бэкдоры и локальные эксплойты - rkhunter (Rootkit Hunter), а в качестве необременительного довеска - антивирус ClamAV.
- "Собор и базар". С предыдущим абзацем (об устранении уязвимостей) тесно связан подход к созданию GNU/Linux и прикладного ПО к нему, именуемый "базар"; эта важная тема впервые была раскрыта в основополагающем эссе Эрика Реймонда. Если создание исходных кодов для Windows происходит в централизованном и "закрытом" иерархическом режиме (такой подход именуется "собор"), а конечный пользователь никак не может повлиять на этот процесс, то в GNU/Linux любой пользователь, исходя из вышеперечисленных "четырех свобод", обеспеченных лицензией GNU GPL, имеет полное право:
а) искать уязвимости в ОС и пакетах/программах;
б) самостоятельно исследовать уязвимости и сообщать о них разработчикам;
в) создавать дополнительный улучшенный функционал пакетов и программ;
г) свободно распространять его в т.н. "форках" ("вилках", т.е. в ПО под иным названием, но с обязательным соблюдением исходной свободной лицензии);
г) делиться результатами своего труда и исходными кодами с другими пользователями;
д) предлагать их разработчикам для включения в мейнстрим.
Именно благодаря такому подходу (иногда его называют "миллионы глаз"), уязвимости в GNU/Linux обнаруживаются и закрываются весьма быстро.
- Разнообразие DE (Desktop Environment, графическое окружение рабочего стола) и графических оболочек для операционной системы. Если вы помните, в Windows существует одна-единственная унифицированная схема оформления интерфейса ОС (расположения меню, элементов управления и т.п.) и пара-тройка цветовых гамм. Пользователи же GNU/Linux имеют возможность выбирать себе DE примерно среди десятка разнообразных окружений. Наиболее популярными сейчас являются GNOME 2, GNOME 3 (в них используется оболочка GNOME Shell), KDE, XFCE; среди относительно новых - Cinnamon, MATE и прочие.
Лично мне больше всего импонирует GNOME, руководствующийся принципом: "одна задача - одно приложение". Поясню этот подход подробнее: если производители других DE порою переусердствуют в желании обеспечить пользователя всем необходимым - и в предустановленной ОС зачастую можно встретить сразу два-три средства со схожим функционалом (например, различные терминалы для работы с командной строкой), т.е "каждой твари по паре", то GNOME выгодно отличается своим минималистичным подходом.
- Предустановленное ПО (см. предыдущий пункт). Конечные пользователи GNU/Linux после установки получают не "голую" ОС, а полноценную среду, уже настроенную на работу и выполнение основных задач. И если в свежеустановленной Windows, по сути, нет ничего, кроме примитивного текстового редактора, весьма уязвимого и малофункционального браузера и морально устаревшего плейера, не умеющего обрабатывать самые распространенные кодеки, пользователь GNOME, может воспользоваться полноценным и качественным программным обеспечением. Вот его минимальный предустановленный набор ПО:
GNOME Terminal - эмулятор терминала;
GNOME Maps - географические карты (online);
GNOME Documents - менеджер документов;
GNOME Photo - менеджер изображений;
GNOME Contacts - менеджер контактов;
GNOME Games - набор игр;
GNOME Weather - метеорологическая станция;
GNOME Disks - средство создания, редактирования разделов на носителях (включая полнодисковое шифрование; иногда дополняется отдельной программой GParted);
Eye of GNOME - средство просмотра графики (как правило, зачастую его дополняют простым фоторедактором gThumb);
Web (ex-Epiphany) - браузер; впрочем, как правило, производители заменяют его на Firefox;
LibreOffice - офисный пакет (создание и редактирование документов, электронных таблиц, презентаций, графики и математических формул);
Evolution - почтовый клиент + PIM - мощное сервер/клиентское средство планирования, работы с задачами, событиями, заметками, контактами, календарем;
Ekiga - средство IP-телефонии;
Empathy - приложение мгновенного обмена сообщениями, поддерживающее множество протоколов, а также видео- и голосовое общение;
FileRoller - всеформатный менеджер архивов;
Totem - видео-/аудиоплейер; иногда дополняется аудиоплейером Rhythmbox;
Nautilus - файловый менеджер;
Alacarte - редактор меню;
Brasero - программа для работы с CD/DVD.
Sound Juicer - приложение для извлечения звуковых дорожек с компакт-дисков;
Tomboy - программа создания заметок;
Gedit - расширенный текстовый редактор (он понимает практически все языки разметки и программирования);
Seahorse - средство создания, хранения шифровальных ключей GNUPG, SSH и регистрационных данных (связок "логин/пароль") к разнообразным пользовательским аккаунтам;
Evince - средство просмотра электронных документов (pdf, djvu и т.п.).
КРАТКИЕ ИТОГИ
Надеюсь, из вышеприведенного материала вы смогли проанализировать и усвоить некоторые :) отличия двух операционных систем. И напоследок хочу добавить следующее: исходя из неоспоримых преимуществ, надежности и повышенной безопасности, а также длительного срока техподдержки у серьезных производителей дистрибутивов (та же RedHat обеспечивает расширенную поддержку/обновление своих продуктов в течение 14 лет!) GNU/Linux успешно используется:
а) на промышленных серверах (особенно в критических областях): атомной энергетике и т.п.;
б) в научной сфере; например, при обслуживании Большого адронного коллайдера (в европейском CERN'e); в знаменитой американской физической лаборатории им. Энрико Ферми; при обработке астрономических данных (результатов исследования межзвездного пространства);
в) на гигантских метеорологических серверах, обсчитывающих в реальном времени миллионы погодных данных со всего света;
г) в военной области; например, даже(!) в РФ большинство из т.н. "отечественных :) операционных систем", применяемых в МО РФ и прочих силовых ведомствах, полностью основано на исходных кодах RedHat: "ROSA Linux", "Заря", "Мобильная система Вооружённых Сил", "ГосЛинукс";
д) в дата-центре на новейшем американском эскадренном миноносце с ракетным вооружением Zumwalt;
е) примерно на 60-70% веб-серверов;
ж) при обеспечении веб-хостинга; так, даже по состоянию на далекий 2014 г., 7 из 10 самых надежных хостинговых компаний в мире использовали GNU/Linux;
з) практически на 100%(!) мировых суперкомпьютеров (см. т.н. "список Top 500");
и) на "фермах" высокопроизводительных компьютеров, создающих цифровые спецэффекты и графику для фильмов (интересный факт: кинотриллогия "Властелин Колец" создавалась на Linux-ферме из 192 двухъядерных процессоров Silicon Graphics (1200/1100 series), которые исправно и непрерывно трудились в режиме "24/7" длительное время, необходимое для рендеринга изображения и наложения спецэффектов;
к) в подавляющем большинстве электронных мини-устройств, применяемых в IoT ("интернете вещей") и системах "умный дом"; так, Linux Embedded можно обнаружить в автоматике, контрольно-измерительных приборах, системах видеонаблюдения, "умных" часах, холодильниках, телевизорах, а также в смартфонах, электронных книгах, телефонах и множестве аналогичных бытовых устройств.
КОНЕЦ
На этом - пока что все... Изменения, дополнения и возражения с благодарностью принимаются!