5 способов безопасно загрузить программное обеспечение в Linux
Даже ваша машина с Linux подвержена вирусам и вредоносным программам. Если только вы не знаете, откуда следует загружать программное обеспечение.
Это распространенное заблуждение, что в Linux нет вирусов. Факт в том, что они существуют. Несмотря на то, что вы можете проверить свои программные файлы, чтобы найти зараженный файл, могут пройти месяцы, прежде чем вы поймете, что ваша система Linux была скомпрометирована.
Доверие — штука тонкая, и не стоит так просто отдавать его. Тот факт, что что-то было предоставлено в Интернете, не означает, что вы можете доверять этому. Вам необходимо предпринять определенные шаги, чтобы защитить свою ОС и себя.
Риски безопасности из-за небрежности варьируются от кражи информации и заражения вирусами до несанкционированного доступа пользователей к вашей машине с Linux. Поэтому в этой статье перечислены безопасные способы загрузки программного обеспечения в Linux.
1. Проверьте значение хэша
Хэш-значение (или контрольная сумма) — это буквенно-цифровая строка символов, полученная при передаче некоторых данных через криптографическую функцию. Он действует как цифровая подпись к вашему файлу.
Чтобы убедиться, что вы не загрузили поврежденный файл, ряд сайтов с открытым исходным кодом обычно предоставляют ожидаемый хэш, который вы должны получить после завершения загрузки файла. Возьмем пример.
Предположим, вы загружаете Tomcat 10, популярный веб-сервер. Хэш-значение для Tomcat версии 10.0.6:
3d39b086b6fec86e354aa4837b1b55e6c16bfd5ec985a82a5dd71f928e3fab5370b2964a
5a1098cfe05ca63d031f198773b18b1f8c7c6cdee6c90aa0644fb2f2 *apache-tomcat-10.0.6.tar.gz
Раздел *apache-tomcat-10.0.6.tar.gz — это просто имя файла. Значения от 3d39...2f2 составляют хеш-значение.
Чтобы получить это значение, вам нужно перейти в каталог, в который вы скачали файл архива, и выполнить следующую команду:
sha512sum apache-tomcat-10.0.6.tar.gz
Вы должны получить указанное выше значение хеш-функции. Если вы получите другое значение, это означает, что ваша загрузка была повреждена, и вам нужно немедленно удалить ее.
В этом конкретном примере мы использовали хэш-функцию sha512. Это потому, что это функция, которую фонд Apache Tomcat решил использовать для защиты целостности своих загрузок.
На других сайтах могут использоваться другие функции хеширования, например популярные функции sha256 и sha384.
Если веб-сайт использует другие функции хеширования, все, что вам нужно сделать, это заменить имя команды на функцию хеширования.
sha256sum filename-of-download
sha384sum filename-of-download
Также стоит отметить, что мы использовали файл TAR (то есть файл архива). Но что, если вместо этого вы загрузили двоичный файл? Хорошая новость заключается в том, что в Linux вы получите одинаковый результат хеширования независимо от типа файла.
Режим хеш-функций по умолчанию в Linux — текстовый. Поэтому, чтобы переключиться в двоичный режим, используйте параметр -b следующим образом:
sha256sum -b filename
2. Используйте безопасные сайты
Получение загрузок с безопасных сайтов значительно снижает риск заражения вредоносным ПО. Как правило, вы всегда должны использовать официальный сайт загрузки программного обеспечения, которое хотите загрузить. Если по какой-то причине вы не можете найти официальный сайт, рассмотрите возможность использования надежного сайта.
Сайты загрузки, такие как FileHorse и SourceForge, являются примерами надежных сайтов, которые вы можете посетить. Эти сайты существуют уже давно и заслужили доверие своих пользователей.
3. Скомпилируйте исходный код самостоятельно
Одна из главных причин, по которой существует сообщество разработчиков программного обеспечения с открытым исходным кодом, заключается в том, что вам не нужно доверять крупным компаниям-разработчикам программного обеспечения и надеяться, что они не делают ничего несанкционированного на вашем ПК.
Когда вы загружаете бинарные файлы, вы даете некоторую власть тому, кто компилировал код. Но если у вас есть доступ к исходному коду, вы можете вернуть власть в свои руки.
С открытым исходным кодом вы можете самостоятельно убедиться, что программное обеспечение делает именно то, что говорит его автор. Единственным недостатком этого является то, что вам нужно иметь навыки программирования выше среднего. Вы также должны быть хорошо изучены в данной предметной области.
Вы также можете решить действовать стратегически и проверять только ключевые файлы, представляющие интерес.
В качестве примера предположим, что у вас есть исходный код C, клонированный из репозитория GitHub. Ниже показано, как вы могли бы скомпилировать его самостоятельно.
Выполните приведенную ниже команду, чтобы установить пакет build-essential. Пакет содержит важные инструменты, необходимые при создании программного обеспечения для Linux.
sudo apt-get install build-essential
Теперь скомпилируйте код C с помощью компилятора gcc.
gcc program-name.c -o program-name
После компиляции вы можете запустить программу, набрав:
./program-name
4. Используйте официальный менеджер пакетов
Самый простой способ установить, обновить и удалить программное обеспечение — использовать диспетчер пакетов. Их несколько, например, pacman, dpkg, DNF и APT. Менеджеры пакетов работают напрямую с официальными репозиториями программного обеспечения и магазинами приложений.
Менеджеры пакетов делают за вас много тяжелой работы. Они выполняют стандартные операции, такие как управление зависимостями, которые необходимы программному обеспечению, обеспечение целостности и подлинности загрузки и управление версиями.
Еще одна хорошая вещь заключается в том, что ваш дистрибутив обычно поставляется с предустановленным менеджером пакетов. Например, Debian 10 поставляется с APT, а системы на базе Arch поставляются с pacman.
5. Личное исследование
Мир программного обеспечения постоянно меняется, и соблюдение тенденций в области безопасности является ключевым аспектом в обеспечении вашей безопасности. Существует несколько вариантов установки, которые вы можете выбрать в различных сценариях. Например, установка программного обеспечения на виртуальную машину или использование контейнеризации приложений.
Контейнеризация приложений — особенно захватывающая тенденция, поскольку она гарантирует, что ваши приложения будут работать одинаково в разных средах выполнения.
Возможность изолировать выполнение программного ядра и зависимостей от базовой инфраструктуры обеспечивает беспрецедентную безопасность. Например, вам нужно беспокоиться о проверке безопасности ваших зависимостей только один раз, а затем ожидать, что это отразится на разных средах.
Также рекомендуется просматривать обзоры программного обеспечения и следить за обсуждениями на GitHub. Обзоры программного обеспечения дают вам хорошее представление о том, чего следует ожидать после загрузки, неожиданном поведении, которое могли наблюдать пользователи, и их рекомендациях.
Обсуждения на GitHub также помогут вам узнать, какие упреждающие меры следует предпринять после или во время установки программного обеспечения. Вы также можете получить множество других соображений безопасности, не включенных в официальную документацию.
Вы также должны обратить внимание на форки со многими участниками на GitHub. Могут иметь место изменения протокола, и ваша неспособность быть в курсе этих обновлений поставит под угрозу вашу безопасность.
Рекомендации и передовая практика
Всегда рекомендуется сначала обновить пакеты вашей системы и список репозиториев, прежде чем загружать какое-либо основное программное обеспечение. Каждый менеджер пакетов, например pacman в Arch Linux, предлагает вам возможность устанавливать, обновлять и удалять пакеты.
Убедившись, что установленные пакеты обновлены, вы можете двигаться дальше и загружать нужное вам программное обеспечение. По возможности, если вы можете загрузить пакет с помощью менеджера пакетов, сделайте это. Это самый простой и безопасный способ установки и обновления программного обеспечения в Linux.