Да, есть. На самом деле их достаточно много. По статистике вирусной базы компании DrWeb (https://vms.drweb.ru/search/), зафиксировано около 3390 разновидностей вирусов для Linux (по состоянию на 20.02.2020, статистика ведётся, начиная с 2006) года. [Уточню, что вирусы, специфичные для ОС Android, имеющей Linux-ядро (скомпилированное на языке Си), я не учитываю - методы их распространения иные и связаны чаще всего с применением технологий на основе Java-кода, реализованных в этой ОС].
НО: для Windows видов вирусов в этой же базе известно в ~397 раз (!) больше. И ещё: распространение вирусов для Windows (т.е. число заражений) в несколько тысяч раз (!!!) превосходит распространение Linux-вирусов. Но в последнее время есть тенденция роста числа вирусов под Linux.
Почему же вирусы для Linux хоть и существуют, но почти не распространены? Есть на это ряд причин, приведу наиболее существенные:
- Windows более популярна (хотя в мире серверов перевес у Linux, на персональных ПК 95% охвачено ОС Windows).
- Файлы, скачанные из интернета, в т.ч. через браузер, не могут быть автоматически активированы, как в Windows, поскольку они не являются исполняемыми (у них нет атрибута «исполняемый») и их такими нужно сделать (добавить необходимый атрибут вручную).
- Для причинения серьезного ущерба системе необходимы права root (администратора), пароль для доступа к которому (через su или sudo) необходимо указать ЯВНО, в отличие от Windows, где доступ администратора предоставляется по умолчанию.
- Linux имеют открытый исходный код - системные уязвимости легче и быстрее обнаруживаются, чем в Windows, у которой исходный код закрыт.
- Софт (программы) в Linux, как правило, скачивается из проверенного репозитория ПО.
Способы заражения Linux следующие:
- бинарные файлы [возможно по неосторожности пользователя, с предоставлением root-прав для из запуска]
- скрипты shell (в том числе вместо специфической библиотеки может быть подставлена поддельная через LD_PRELOAD), а также код на скриптовых языках программирования, таких как Perl, Python, Lua… [тоже по неосторожности]
- при использовании Wine [это сервис, эмулирующий окружение Windows и позволяющий в Linux в отдельной «песочнице» запускать и даже устанавливать программы Windows] и базируемых на нём сред (например, Proton) - это заражение Windows-компонентов обычными вирусами для Windows; НО: a) вирусы системы Windows очень часто используют её недокументированные возможности, а эти возможности почти не поддерживаются в Wine и это существенно уменьшает риск заражения, б) после перезапуска ОС Linux вирусы в Wine уже не жизнеспособны, т.к. стандартные механизмы автозапуска программ Windows в Wine отсутствуют.
Следующие действия можно сделать для снижения и без того малого риска заражения системы Linux:
- Защита пользователя root сильным паролем
- Осторожность
- Правильное распределение привилегий между пользователями
- Правильные права для файлов
- Использование SELinux (Security-Enhanced Linux, сейчас в Linux есть по умолчанию)
- Использование брандмауэра
- Устанавливать важные (критические) обновления безопасности ОС Linux
Важный вопрос: а нужен ли антивирус для Linux? Склоняюсь к мысли, что нет, если постараться соблюсти пункты, описанные выше. Антивирусный сканер точно нужен на серверах для интернета под управлением Linux, особенно служащих шлюзами (т.е. обеспечивающими выход в интернет), поскольку если на них вирусы и не действуют, то на конечные ПК с Windows всё же могут попасть и запуститься…
Ну и наконец, читая комментарии к одной из статей в интернете на тему вирусов в Linux, наткнулся на такие слова (по поводу распространенности этих специфических вирусов): «В бытность моей работы на интернет-провайдера мы долго радовались, вплоть до улюлюкания, когда наш innd сервер подцепил специфичный вирус. Это было действительно интересно.» (источник: https://habr.com/ru/post/12600/).
Всего вам доброго.