Несмотря на то, что системы на базе Linux часто считаются непробиваемыми, все же существуют риски, к которым необходимо относиться серьезно. Руткиты, вирусы, программы-вымогатели и многие другие вредоносные программы могут часто атаковать и создавать проблемы для Linux-серверов. Независимо от операционной системы, принятие мер безопасности является обязательным условием для серверов.
Крупные бренды и организации взяли меры безопасности в свои руки и разработали инструменты, позволяющие не только обнаруживать дефекты и вредоносные программы, но и исправлять их, а также принимать превентивные меры. К счастью, существуют недорогие или бесплатные инструменты, которые могут помочь в этом процессе. Они могут обнаружить недостатки в различных разделах сервера на базе Linux.
12 Инструментов для сканирования серверов Linux на наличие дефектов безопасности и вредоносного ПО
Lynis
Lynis – известное средство защиты, которое предпочитают использовать специалисты по Linux. Он также работает в системах на базе Unix и macOS. Это программное приложение с открытым исходным кодом, которое используется с 2007 года под лицензией GPL.

Lynis способен обнаруживать “дыры” в системе безопасности и недостатки конфигурации. Но он не ограничивается этим: вместо того чтобы просто показать уязвимости, он предлагает меры по их устранению. Поэтому для получения подробных аудиторских отчетов необходимо запустить его на хост-системе. Для использования Lynis не требуется установка. Вы можете извлечь его из загруженного пакета или тарбола и запустить.
Вы также можете получить его из Git-клона, чтобы иметь доступ к полной документации и исходному коду. Lynis был создан оригинальным автором Rkhunter, Майклом Боленом. Она имеет два типа сервисов – для частных лиц и для предприятий. В любом случае она обладает выдающимися характеристиками.
Chkrootkit
Как вы уже, наверное, догадались, chkrootkit – это инструмент для проверки наличия руткитов. Руткиты – это тип вредоносных программ, которые могут предоставить доступ к серверу неавторизованному пользователю. Если вы используете сервер на базе Linux, руткиты могут представлять собой проблему.

chkrootkit – одна из наиболее часто используемых в Unix программ для обнаружения руткитов. Для обнаружения проблем она использует команды ‘strings’ и ‘grep’ (инструментальные команды Linux). Программа может быть использована как из альтернативного каталога, так и с загрузочного диска, если требуется проверить уже взломанную систему. Различные компоненты Chkrootkit обеспечивают поиск удаленных записей в файлах “wtmp” и “lastlog”, поиск записей сниффера или конфигурационных файлов руткита, а также проверку скрытых записей в “/proc” или вызовов программы “readdir”. Для использования chkrootkit необходимо получить последнюю версию с сервера, извлечь исходные файлы, скомпилировать их, и все готово.
Rkhunter
Разработчик Micheal Boelen в 2003 году создал программу Rkhunter (Rootkit Hunter). Это средство подходит для POSIX-систем и может помочь в обнаружении руткитов и других уязвимостей. Rkhunter тщательно проверяет файлы (как скрытые, так и видимые), каталоги по умолчанию, модули ядра и неверно настроенные разрешения.

После обычной проверки он сравнивает их с безопасными и корректными записями баз данных и ищет подозрительные программы. Поскольку программа написана на языке Bash, она может работать не только на Linux-машинах, но и практически на любой версии Unix.
ClamAV
ClamAV – это антивирус с открытым исходным кодом, написанный на языке C++, который позволяет обнаруживать вирусы, трояны и многие другие виды вредоносного ПО. Это полностью бесплатный инструмент, поэтому многие используют его для проверки своей личной информации, в том числе электронной почты, на наличие вредоносных файлов. Кроме того, он может использоваться в качестве серверного сканера.

Изначально инструмент разрабатывался специально для Unix. Однако существуют и сторонние версии, которые можно использовать для Linux, BSD, AIX, macOS, OSF, OpenVMS и Solaris. Clam AV автоматически и регулярно обновляет свою базу данных, чтобы иметь возможность обнаруживать даже самые новые угрозы. Clam AV позволяет выполнять сканирование из командной строки и имеет многопоточный масштабируемый демон для повышения скорости сканирования. Для обнаружения уязвимостей программа может просматривать различные типы файлов. Поддерживаются все виды сжатых файлов, включая RAR, Zip, Gzip, Tar, Cabinet, OLE2, CHM, формат SIS, BinHex, а также практически все типы почтовых систем.
LMD
Linux Malware Detect – или сокращенно LMD – еще один известный антивирус для Linux-систем, специально разработанный с учетом угроз, обычно встречающихся в хостинговых средах. Как и многие другие средства обнаружения вредоносных программ и руткитов, LMD использует базу сигнатур для поиска вредоносного кода и его быстрого уничтожения.

LMD не ограничивается собственной базой сигнатур. Она может использовать базы данных ClamAV и Team Cymru для поиска еще большего количества вирусов. Для пополнения своей базы LMD собирает данные об угрозах от систем обнаружения вторжений на границе сети. Это позволяет генерировать новые сигнатуры для активно используемых в атаках вредоносных программ. LMD может быть использован через командную строку “maldet”. Инструмент специально разработан для Linux-платформ и может легко осуществлять поиск на Linux-серверах.
Radare2
Radare2 (R2) – это фреймворк для анализа двоичных файлов и обратного инжиниринга с отличными возможностями обнаружения. Она позволяет обнаруживать деформированные двоичные файлы, предоставляя пользователю инструменты для управления ими и нейтрализуя потенциальные угрозы. В нем используется база данных sdb, которая представляет собой NoSQL-базу данных. Исследователи и разработчики программного обеспечения предпочитают этот инструмент за его отличную способность представлять данные.

Одной из отличительных особенностей Radare2 является отсутствие необходимости использования командной строки для решения таких задач, как статический/динамический анализ и эксплуатация программного обеспечения. Он рекомендуется для любого типа исследований бинарных данных.
OpenVAS
Open Vulnerability Assessment System, или OpenVAS, – это хостинговая система для сканирования уязвимостей и управления ими. Она предназначена для предприятий любого масштаба и помогает обнаружить проблемы безопасности, скрытые в их инфраструктурах. Первоначально продукт был известен под названием GNessUs, пока его нынешний владелец, компания Greenbone Networks, не изменила название на OpenVAS. Начиная с версии 4.0, OpenVAS позволяет непрерывно обновлять – обычно менее чем за 24 часа – базу тестирования сетевых уязвимостей (NVT). По состоянию на июнь 2016 года она насчитывала более 47 000 NVT.

Специалисты по безопасности используют OpenVAS из-за его способности к быстрому сканированию. Кроме того, он обладает отличной настраиваемостью. Программы OpenVAS можно использовать из автономной виртуальной машины для безопасного исследования вредоносных программ. Его исходный код доступен по лицензии GNU GPL. От OpenVAS зависят многие другие средства обнаружения уязвимостей, поэтому он считается незаменимой программой в платформах на базе Linux.
REMnux
REMnux использует методы обратного инжиниринга для анализа вредоносных программ. Она способна обнаружить множество браузерных проблем, скрытых в обфусцированных фрагментах кода JavaScript и Flash-апплетах. Кроме того, программа способна сканировать PDF-файлы и проводить экспертизу памяти. Утилита помогает обнаружить вредоносные программы внутри папок и файлов, которые не поддаются сканированию другими программами для обнаружения вирусов.

Его эффективность обусловлена возможностями декодирования и реверс-инжиниринга. Он способен определять свойства подозрительных программ, а благодаря своей легкости практически не обнаруживается интеллектуальными вредоносными программами. Он может использоваться как в Linux, так и в Windows, а его функциональность может быть расширена с помощью других инструментов сканирования.
Tiger
В 1992 году Техасский университет A&M начал работу над программой Tiger для повышения безопасности компьютеров в кампусе. Сейчас это популярная программа для Unix-подобных платформ. Уникальность программы заключается в том, что она является не только средством аудита безопасности, но и системой обнаружения вторжений.
Программа свободна для использования по лицензии GPL. Он зависит от инструментов POSIX, и вместе они могут создать идеальную структуру, способную значительно повысить безопасность вашего сервера. Tiger полностью написан на языке shell – это одна из причин его эффективности. Он подходит для проверки состояния и конфигурации системы, а его многоцелевое использование делает его очень популярным среди тех, кто использует POSIX-инструменты.
Maltrail
Maltrail – это система обнаружения трафика, способная обеспечить чистоту трафика вашего сервера и помочь ему избежать любых вредоносных угроз. Эта задача решается путем сравнения источников трафика с сайтами из черного списка, опубликованного в Интернете.

Помимо проверки на наличие сайтов в “черном списке”, программа также использует современные эвристические механизмы для обнаружения различных видов угроз. Несмотря на то что эта функция является дополнительной, она может пригодиться, когда вы считаете, что ваш сервер уже подвергся атаке. Она оснащена датчиком, способным определять трафик, получаемый сервером, и отправлять информацию на сервер Maltrail. Система обнаружения проверяет, является ли трафик достаточно хорошим для обмена данными между сервером и источником.
YARA
YARA (Yet Another Ridiculous Acronym), созданный для Linux, Windows и macOS, является одним из наиболее важных инструментов, используемых для поиска и обнаружения вредоносных программ. Он использует текстовые или бинарные шаблоны для упрощения и ускорения процесса обнаружения, в результате чего задача решается быстро и легко.

YARA обладает некоторыми дополнительными возможностями, но для их использования необходима библиотека OpenSSL. Даже если у вас нет этой библиотеки, вы можете использовать YARA для базового исследования вредоносных программ с помощью механизма, основанного на правилах. Он также может быть использован в Cuckoo Sandbox – песочнице на базе Python, идеально подходящей для безопасного исследования вредоносных программ.
Vuls
Vuls – это современный сканер уязвимостей с открытым исходным кодом, разработанный специально для систем Linux и FreeBSD. Это безагентный сканер, то есть он не требует установки программного обеспечения на целевые машины. Он может быть развернут на облачных платформах, локальных системах, а также в контейнерах Docker.

Для выполнения высококачественного сканирования Vuls использует множество баз данных уязвимостей, таких как NVD, OVAL, FreeBSD-SA и Changelog. Самое приятное, что он способен обнаружить даже те уязвимости, для которых еще не опубликованы исправления. Программа поддерживает удаленный и локальный режимы сканирования. В режиме удаленного сканирования вы устанавливаете центральный сервер Vuls, который подключается к целевым серверам по SSH. Однако если вы предпочитаете не устанавливать SSH-соединения с центрального сервера, то можете использовать Vuls в режиме локального сканирования.
Vuls также может обнаруживать уязвимости в пакетах, не относящихся к операционной системе. К ним относятся пакеты, скомпилированные самостоятельно, языковые библиотеки, фреймворки и т.д., если они зарегистрированы в Common Platform Enumeration (CPE). Инструмент содержит учебное пособие, которое поможет вам начать работу с ним, а также поддерживает уведомления по электронной почте и в Slack, что позволяет получать уведомления о результатах сканирования или другую информацию.
Как выбрать лучший инструмент?
Все инструменты, о которых мы рассказали выше, работают очень хорошо, и если инструмент популярен в среде Linux, можно быть уверенным, что тысячи опытных пользователей используют его. Но системным администраторам следует помнить, что каждое приложение обычно зависит от других программ. Например, так обстоит дело с ClamAV и OpenVAS. Необходимо понять, что нужно вашей системе и в каких областях она может иметь уязвимости. Сначала с помощью легкого инструмента изучите, какой участок требует внимания. Затем используйте соответствующий инструмент для решения проблемы.