Как в убунту вылечить вирусы

Как в убунту вылечить вирусы thumbnail

Среди пользователей бытует мнение, что Linux полностью безопасен от вирусов и поймать здесь какую-либо заразу невозможно. Антивирус не нужен и вообще про любые возможные опасности можно забыть, поскольку вирусов для этой операционной системы нет. Ходит даже шутка что если даже вы захотите запустить вирус в Linux то вам придется потратить несколько часов на его установку.

В этих словах есть доля истины, однако вирусы для Linux всё же существуют. Их гораздо меньше по сравнению с Windows, и система, в целом, защищённые, но вирусы существуют и о них не стоит забывать. В этой статье мы попытаемся разобраться почему Linux считается безопасным, какие у него слабые стороны, а также какие типы вирусов существуют.

Почему Linux безопасен?

1. Архитектура

Операционная система UNIX, на базе которой разработан Linux специально разрабатывалась для многопользовательской работы. Здесь есть суперпользователь, имеющий доступ ко всем файлам и каталогам, а также отдельные пользователи, с доступом только к своим каталогам и разрешенным для них файлов. Пользователи используются не только для предоставления доступа к компьютеру для людей, но и для запуска программ, что позволяет ограничить их полномочия.

В Windows до Vista никакой подобной защиты не было, поэтому для вирусов было раздолье. Потом Microsoft немного улучшила ситуацию, но многие пользователи до сих пор сидят от имени администратора. В дистрибутивах Linux запустить графическую оболочку от имени root очень сложно и делать так совсем не принято.

2. Открытость

Благодаря открытости платформы многие пользователи могут проверить код и найти в нём уязвимости и проблемы, а потом предложить исправления. Таким образом ошибки находятся быстрее, а безопасность системы в целом выше, потому что больше людей работают над её обеспечением.

3. Разнообразие

Существует огромное количество дистрибутивов Linux, окружений рабочего стола, систем инициализации и программ в целом. В Windows работает большинство программ написанных для одной из версий системы. Всегда это было плюсом, но в данном случае это минус, потому что все вирусы тоже работают. В Linux же всё не так просто. Даже обычные программы не всегда удастся запустить без перекомпилирования в другом дистрибутиве, потому что им не будет хватать каких-либо библиотек или компонентов.

4. Репозитории

Это тоже очень важный момент, потому что большинство программ в Linux устанавливаются не из сторонних сайтов интернета, а из репозиториев. Там они проверены и подписаны ключами для проверки подлинности. Никто не может их подменить или подсунуть вместо программ вирус, потому что они тщательно проверяются сопровождающими пакетов. В Windows же большинство программ устанавливаются из интернета и никто не может гарантировать их качество, особенно если пользователи загружают программы не из официальных источников.

5. Низкая популярность

По сравнению с Windows и MacOS, операционные системы семейства Linux намного реже используются на компьютерах домашних пользователей. У вирусописателей мало мотивации заряжать домашних пользователей Linux, потому что их мало. Пользователей Windows намного больше и средний уровень знания информационной безопасности среди пользователей Windows ниже.

Почему Linux не безопасен?

Выше мы разобрали причины, почему Linux считается безопасным. Теперь надо понять почему несмотря на это всё систему нельзя считать полностью безопасной.

1. Ваши данные всё же доступны

Несмотря на архитектуру операционной системы, во многих случаях вирусы, всё же могут сделать то, что хотят. В наше время основная цель злоумышленников – это данные: пароли, данные банковских карт, ключи от кошельков для криптовалюты, и другая личная информация. Вся эта информация хранится в домашнем каталоге и вирусу не нужны права root чтобы её получить. Запускаемые вами программы могут без препятствий получать доступ ко всем данным в домашней папке, использовать микрофон, веб-камеру или записывать нажатия клавиш. Этого уже вполне достаточно.

2. Уязвимости

В прошлом пункте мы выяснили, что вирусам root права могут быть не нужны. А в этом становиться ясно, что если вирусу они нужны, то при определённых обстоятельствах он может их получить. В программном обеспечении, а особенно таком сложном как ядро Linux время от времени обнаруживаются уязвимости. Какие-то из них более серьезные, какие-то менее, но за последнее десятилетие практически каждые несколько лет где-нибудь обнаруживалась громкая уязвимость.

Например, в 2014 году обнаружили уязвимость в OpenSSL под названием Heartbleed, которая позволяла получить доступ к любому серверу, в 2018 году обнаружили уязвимости Spectre и Meltdown в процессорах, а в 2019 была проблема с Exim. В ядре Linux время от времени уязвимости тоже появлялись. Все они открывают дорогу вирусам в вашу систему и позволяют им делать с ней всё, что они захотят. Единственный способ защититься – вовремя обновлять систему и программное обеспечение чтобы получать все исправления. Про самые нашумевшие уязвимости читайте здесь.

Читайте также:  Как вылечить сердце быстро в домашних условиях

3. Linux популярен на серверах

В отличие от домашних компьютеров, на серверах и различных встраиваемых устройствах, вроде камер и роутеров Linux очень популярен. И для таких платформ вирусы пишут, причём очень активно. В пример можно привести ботнет Mirai, заразивший огромное количество устройств использующих незащищённую службу telnet. Благодаря уязвимостям, описанным выше, вирусы могут проникать на не обновленные серверы другие устройства. Учитывая, что многие серверы, устройства IoT и Android смартфоны не обновляются и не получают исправления уязвимостей, то уязвимых устройств довольно много. Подробнее про опасные вирусы читайте тут.

4. Универсализация

В последнее время мир Linux тоже движется к универсализации, появились универсальные пакеты snap и flatpack, а самым популярным окружением рабочего стола считается Gnome. Ведь это окружение используется во многих популярных дистрибутивах по умолчанию: в Ubuntu, Fedora, Pop!_OS и в других. Это может свести на нет все преимущества децентрализации Linux. Например, уже существует вирус EvilGnome, о котором сообщили Intezer Labs в 2019 году. Вирус может скачивать ваши личные файлы, записывать звук с микрофона и делать снимки экрана. Вирусов для Linux всё ещё не много но они начинают появляться.

Виды вирусов для Linux

Давайте теперь рассмотрим виды вирусов Linux, которые существуют и могут заразить ваш сервер или систему.

1. Руткиты

Руткит от rootkit (набор инструментов root) – это вирус, который встраивается в ядро системы и благодаря этому может скрывать своё присутствие. Обычно руткиты используются не сами по себе, а прикрывают какие-либо другие вирусы, например бэкдоры. Такие вирусы очень опасны, потому что обнаружить их очень сложно, а удалить вообще может быть невозможно. Чтобы проверить систему на наличие руткитов можно использовать утилиту chkrootkit или rkhunter. Подробнее читайте в статье Проверка Linux на вирусы.

2. Шифровальщики

Шифровальщики или Ransomware часто встречались в Windows. Они шифруют ваши файлы и требуют перевести определённую суму денег за расшифровку. В 2015 году такие вирусы появились и для Linux. Первым был вирус, получивший название Encoder. Используя разные уязвимости он проникал на сервер и шифровал находящиеся там данные с помощью алгоритма AES и RSA. Вирус проникал в систему с помощью уязвимостей в CMS для создания интернет магазинов Magento.

3. Ботнеты

Ботнеты менее опасны для компьютеров и серверов, которые они заражают потому что стараются не вредить и вообще не показывать своего присутствия. Обычно они используются для выполнения DDoS атак на различные сайты и узлы сети. К нашумевшим ботнетам можно отнести Mirai, заражавший роутеры, который уже упоминался выше.

4. Бэкдоры

Бэкдоры (от Back door) – это программы, которые позволяют хакеру скрытно проникать в вашу систему. Ещё их называют троянами (Trojan) потому что они помогают злоумышленнику проникать в систему. Сами по себе они не наносят никакого вреда, но позволяют человеку, или вирусу, установившему их проникать в вашу систему и делать с ней всё, что ему надо. В качестве примера распространения бэкдоров можно привести историю с IRC сервером Unreal, который с 2009 по 2010 год был заражен бэкдором в репозитории разработчиков программы. Все пользователи, устанавливавшие программу в тот период получали в комплекте с ней бэкдор.

5. Черви

Черви называются так, потому что они сами распространяются используя различные уязвимости в системе или слабые пароли. Например SSH пароли к серверам очень часто пытаются перебрать различные черви чтобы проникнуть в систему, сделать то, что им надо и атаковать следующие системы. Самый первый вирус, который был созданный для Linux был червем. Он назывался Bliss и был обнаружен в 1997 году. Этот вирус перезаписывал собой все доступные ему исполняемые файлы и пытался распространится по доступным хостам.

Выводы

Как видите, вирусов для Linux хватает, хотя и способов заражения ими не так много. В большинстве случаев все эти вирусы опасны только для серверов или компьютеров со статическим IP доступных из сети. Если у вас есть сервер, убедитесь что:

  • Для входа используется сложный пароль.
  • Служба SSH не позволяет подключится от имени root, а ещё лучше вход по паролю полностью отключен.
  • Вы поддерживаете актуальность версий системы и установленных в ней программ.
  • Брандмауэр включён и настроен.

Этого уже будет достаточно чтобы сделать ваш сервер более безопасным. Чтобы ещё сильнее увеличить безопасность можно настроить политики безопасности SELinux. Но самое главное – не забывайте следить за появляющимися уязвимостями и вовремя обновлять систему!

Источник

Раньше мы уже говорили о вирусах в Linux. Большинство людей считают, что вирусов в Linux нет и кое в чем они правы. Ведь вредоносных программ, которые сами могли бы распространятся по системе и заряжать другие компьютеры в сети минимум. Известные широкой общественности программы такого рода для Linux можно сосчитать на пальцах. Но есть и другой тип угроз, более характерный для Linux. Это руткиты, программы которые устанавливаются вручную и скрывают свою деятельность в системе.

Читайте также:  Как вылечить маленькую фиброаденому

Эти программы могут предоставлять установившему их человеку полный доступ к вашей системе, вычислительным ресурсам и данным. Не стоит недооценивать эту опасность. Если ваш компьютер подключен к интернет без использования локальной сети (роутера) и без технологии NAT, то обратится к нему может любой человек из сети провайдера. Для этого даже не обязательно знать ваш IP адрес. Злоумышленник может просто перебирать все адреса в своей подсети и если на вашем компьютере или сервере окажется искомая им уязвимость, например слабый пароль ssh или любая другая уязвимость в системном сервисе программная или недостаток настройки – ваш компьютер будет взломан.

Проверка Linux на вирусы

Чтобы понять не подключался ли кто к вашему компьютеру, вы можете посмотреть содержимое файла /var/log/audit.log или /var/log/secure.

tail -f /var/log/secure

Как в убунту вылечить вирусы

Здесь фиксируются все события в системе, в том числе неудачные попытки входа по ssh. Я был удивлен когда увидел что мой пароль пытались подобрать. Также можно посмотреть логи сервиса sshd с помощью journalctl:

sudo journalctl _SYSTEMD_UNIT=sshd.service

Как в убунту вылечить вирусы

Ну а если уже хакер получит доступ к вашей системе, тут у него уже много вариантов для действий – всплывают все уязвимости в системных библиотеках и ядре, которые можно использовать для обхода защитных механизмов Linux и повышения привилегий в системе. Поэтому не лишним будет следить за актуальностью своего программного обеспечения, в новом ПО скорее всего, уже закрыли известные уязвимости, а также иногда проверять компьютер специальной программой для поиска руткитов. В этой статье мы рассмотрим как проверить компьютер на вирусы в Linux.

Для поиска руткитов мы будем использовать утилиту rkhunter или RootkitHunter, а также chkrootkit. Мы рассмотрим как ее установить и настроить для правильной проверки. Вообще, я больше склоняюсь к первой, она новее и имеет больше функций.

Поиск вирусов с помощью RkHunter

RkHunter (Rootkit Hunter) – это инструмент для сканирования системы Linux / Unix с открытым исходным кодом, выпущенный под лицензией GPL. Утилита выполняет сканирование Linux на предмет руткитов, бекдоров, локальных эксплойтов и уязвимостей. На данный момент известно 349 руткитов, и всех их программа может найти, если они были установлены в вашей системе. Программа – всего лишь скрипт, позволяющий проверить локальные файлы, и обнаружить известные руткиты. Также выполняется проверка изменения системных команд, файлов запуска, а также проверка сетевых интерфейсов, на предмет прослушивания определенных портов.

Установить программу в Ubuntu можно командой:

sudo apt install rkhunter

В CentOS надо выполнить такую команду:

sudo yum install rkhunter

Как в убунту вылечить вирусы

Если у вас другой дистрибутив, вы всегда скачать установочный скрипт на SourceForge:

cd /tmp

wget https://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz

tar -xvf rkhunter-1.4.2.tar.gz

cd rkhunter-1.4.2
./installer.sh –layout default –install

Перед тем как будет выполнена проверка linux на вирусы, необходимо обновить базу данных утилиты. Для этого выполните:

rkhunter –update

Как в убунту вылечить вирусы

Теперь необходимо собрать информацию о файлах в системе, это нужно, чтобы программа могла понять пытался ли кто модифицировать системные файлы при следующей проверке. Для этого выполните:

rkhunter –propupd

Обновление желательно выполнять регулярно, поэтому давайте создадим специальный скрипт и будем запускать его с помощью cron каждый день. Для этого создайте файл скрипта в папке /etc/cron.daily:

vi /etc/cron.daily/rkhunter.sh

#!/bin/sh
(
/usr/local/bin/rkhunter –versioncheck
/usr/local/bin/rkhunter –update
/usr/local/bin/rkhunter –cronjob –report-warnings-only
) | /bin/mail -s ‘rkhunter Daily Run (Ваш сервер)’ your@email.com

Здесь мы выполняем проверку версии, обновление баз данных и в последней строчке мы запланировали проверку и отправку уведомления вам на Email. Для работы необходимо заменить your@email.com на ваш адрес электронной почты.

Теперь осталось только дать программе права на выполнение:

chmod 755 /etc/cron.daily/rkhunter.sh

С установкой программы разобрались. Сначала давайте рассмотрим основные опции программы которые мы уже использовали, или которые вам могут пригодится:

  • –verbose-logging – максимально подробный вывод
  • –quiet – минимум информации в выводе
  • -l, –logfile – записать лог программы в свой файл
  • –cronjob – не интерактивный режим проверки, используется для запуска с помощью cron, отсюда и название.
  • –list – позволяет посмотреть какие возможности проддерживает программа, можно передать несколько параметров, test – тесты, lang – языки, rootkits – руткиты.
  • –unlock – удаляет файл блокировки базы данных, может быть полезна если предыдущий сеанс работы с программой был завершен некорректно.
  • –check – проверка системы
  • –update – обновление баз руткитов
  • –versioncheck – обновление программы
  • –propupd – создать базу данных файлов

Например, чтобы посмотреть все руткиты, которые может найти программа выполните:

sudo rkhunter –list rootkits

Читайте также:  Как вылечить эпидермофития паховая форум

Для того чтобы проверить Linux на вирусы всю систему выполните от суперпользователя:

rkhunter –check

Как в убунту вылечить вирусы

Программа кроме вывода информации на экран, создаст лог проверки. На информацию выводимую во время проверки не обращайте большого внимания, она немного урезана все станет более понятнее при просмотре лога.

cat /var/log/rkhunter.log

К сожалению программа работает только на английском, поэтому, чтобы понять в каком состоянии ваша система вам придется немного понимать английский.

Чтобы вам было более понятно что делает программа и как анализировать ее результаты, давайте рассмотрим лог сканирования.

Сначала программа инициализируется и загружает конфигурационные файлы, здесь нет ничего интересного. Заметьте, что мы рассматриваем лог проверки системы, логи обновления и создания базы данных, они находятся выше в этом же файле, нас не интересуют. Проверка системы начинается с этих срок:

Как в убунту вылечить вирусы

Программа сканирует системные утилиты и пытается выявить там подозрительные признаки, в том числе проводится сравнение хеша утилиты с хешем сохраненным в базе данных, чтобы понять не была ли она изменена. Обычно если с утилитами все хорошо лог заполнен такими строками:

Как в убунту вылечить вирусы

Также выполняется проверка параметров файлов, например если файл должен быть бинарным, а он скрипт, то это не порядок:

Как в убунту вылечить вирусы

При обнаружении подозрительного файла программа тут же объясняет в чем с ним проблема. Возможно это ложное срабатывание, однако эти файлы вам стоит проверить или можно переустановить пакеты, которым они пренадлежат.

Дальше будет выполнена проверка Linux на вирусы с поиском известных руткитов:

Как в убунту вылечить вирусы

Обычно, если в этом разделе что-то обнаружено, то это значит, что в системе есть руткит и с этим нужно что-то делать, но обычно мы видим строки Not found (не найдено):

Дальше будет запущен поиск нежелательного программного обеспечения:

Как в убунту вылечить вирусы

Проверка опасных портов:

Как в убунту вылечить вирусы

На этапе проверки конфигурационных файлов мы тоже получаем предупреждение:

Как в убунту вылечить вирусы

Но здесь видно, что проблема не в вирусе, а в том, что программе просто нет с чем сравнивать.

Дальше выполняется проверка настроек системы, и здесь тоже программе не все нравится:

Как в убунту вылечить вирусы

А именно две вещи – разрешенный root доступ по ssh и возможность использовать протокол первой версии для подключения к ssh. И она права, это очень небезопасно.

Дальше будет выполнено сканирование файловой системы:

Как в убунту вылечить вирусы

И обнаружено несколько скрытых файлов, но все они, похоже, хорошие. Вы можете отследить какая программа работает с определенным файлом с помощью команды lsof:

sudo lsof | grep /адрес/файла

Осталась проверка приложений:

[12:16:25] Info: Starting test name ‘apps’
[12:16:25] Checking application versions..

И небольшой отчет о найденных проблемах:

Как в убунту вылечить вирусы

Для удобства просмотра лога вы можете не смотреть его полностью, а выбрать только предупреждения:

sudo cat /var/log/rkhunter.log | grep -A5 “[ Warning ]”

Параметр A5 означает показывать еще пять строк после строки с обнаруженным вхождением, так мы точно ничего не пропустим.

Теперь давайте рассмотрим еще одну программу с помощью которой может быть выполнена проверка Linux на руткиты. Это chkrootkit. Она мнение функциональна, но тоже хорошо делает свое дело.

Поиск вирусов с помощью Chkrootkit

Chkrootkit – это классический инструмент позволяющий не только искать руткиты Linux, но и проверять систему на признаки чужого присутствия. Программа просканирует ваш компьютер или сервер на наличие подозрительных процессов, руткитов и проверит список известных руткитов. Функциональность программы очень похожа на Rkhunter.

Программа состоит из нескольких отдельных утилит:

  • chkrootkit – скрипт для проверки системы;
  • ifpromisc – сканирование интерфейсов на предмет неразборчивого режима;
  • chklastlog – проверить лог lastlog на предмет удаления записей;
  • chkwtmp – проверка лога wtmp на предмет удаления записей;
  • chkproc – поиск троянских программ и скрытых файлов в подсистеме proc.

Установить программу в Ubuntu можно с помощью команды:

sudo apt install chkrootkit

Если у вас другой дистрибутив, то вы можете собрать программу из исходников:

wget –passive-ftp ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar xvfz chkrootkit.tar.gz
cd chkrootkit-*/
make sense
make install

В CentOS вам понадобится установить такие библиотеки перед сборкой:

yum install gcc-c++ glibc-static

Команды выполняются без параметров. Достаточно запустить нужную утилиту чтобы найти руткиты linux:

sudo chkrootkit

Как в убунту вылечить вирусы

Лог программы немного похож на предыдущую, поэтому мы не будем его отдельно разбирать. Здесь сначала выполняется проверка системных команд, более ограниченная чем в rkhunter, затем поиск руткитов linux.

Аналогично вы можете выполнить другую утилиту, чтобы проверить на модификацию lastlog:

sudo chklastlog

Но, возможно придется создать символическую ссылку на lastlog, чтобы программа смогла его найти.

Выводы

Вот и все. Выполняйте регулярное сканирование Linux, чтобы вовремя выявить все угрозы, особенно это актуально для серверов, которые чаще всего могут подвергаться хакерским атакам. Возможно, руткитов вы не найдете, но зато программы вам сообщат о потенциальных проблемах с безопасностью, которые желательно исправить.

Источник