5 способов безопасной загрузки программного обеспечения в 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 Foundation решил использовать для защиты целостности своих загрузок.

Другие сайты могут использовать другие функции хеширования, такие как популярные функции sha256 и sha384.
Если веб-сайт использует другие функции хеширования, все, что вам нужно сделать, это заменить имя команды на функцию хеширования.
sha256sum filename-of-download
sha384sum filename-of-download
Также стоит отметить, что использованный нами файл является файлом TAR (т. Е. Архивным файлом). Но что, если вместо этого вы загрузили двоичный файл? Хорошая новость заключается в том, что в Linux вы получите один и тот же результат хеширования независимо от типа файла.
По умолчанию хеш-функции в Linux работают в текстовом режиме. Поэтому, чтобы переключиться в двоичный режим, используйте параметр -b следующим образом:
sha256sum -b filename
2. Используйте безопасные сайты
Получение ваших загрузок с безопасных сайтов значительно снижает риск заражения вредоносным ПО. Как правило, вы всегда должны использовать официальный сайт загрузки программного обеспечения, которое вы хотите загрузить. Если по какой-то причине вы не можете найти официальный сайт, подумайте об использовании надежного сайта.
Сайты загрузки, такие как FileHorse и SourceForge, являются примерами надежных сайтов, которые вы можете посетить. Эти сайты существуют уже давно и заслужили доверие своих пользователей.
3. Соберите исходный код самостоятельно.
Одна из основных причин существования сообщества разработчиков ПО с открытым исходным кодом заключается в том, что вам не нужно доверять крупным компаниям-разработчикам программного обеспечения и надеяться, что они не делают на вашем компьютере ничего несанкционированного.
Когда вы загружаете двоичные файлы, вы даете некоторую власть тому, кто скомпилировал код. Но если у вас есть доступ к исходному коду, вы можете снова взять власть в свои руки.
С открытым исходным кодом вы можете независимо проверить, что программа делает именно то, что говорит ее автор. Единственный недостаток в том, что вам нужно иметь навыки программирования выше среднего. Вам также необходимо хорошо разбираться в данной предметной области.
Вы также можете проявить стратегию и проверять только ключевые файлы, представляющие интерес.
В качестве примера предположим, что у вас есть клонированный исходный код C из репозитория GitHub . Ниже показано, как вы скомпилируете его самостоятельно.
Выполните команду ниже, чтобы установить пакет, необходимый для сборки . Пакет содержит важные инструменты, которые необходимы при создании программного обеспечения в 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.