Как много уязвимостей и эксплойтов Linux было открытов за последние 6 месяцев? Много. Недавние Shellshock, Heartbleed, Poodle, Ghost и, может быть, это ещё далеко не конец. В какой-то момент я перестал чувствовать себя в безопасности с моим Linux, ведь подверженными оказались базовые пакеты. Что дальше? Мой openVPN больше не безопасен? Мои ключи сессии SSH уязвимы? Я решил сделать аудит безопасности моей системы Linux. После настройки внешнего файервола, я вдруг понял, что это просто слишком большая задача для меня, если выполнять её вручную. Вот тогда я и обнаружил Lynis. Lynis — это инструмент аудита безопасности с открытым исходным кодом. Он достаточно хорошо документирован и сделал быстро многие вещи, на которые бы у меня ушла уйма времени.
На протяжении всего теста я использовал бесплатную версию Lynis.
Как работает аудит безопасности Linux?
Lynis выполняет сотни индивидуальных тестов для определения состояния безопасности системы. Многие из этих тестов являются частью общих руководящих принципов безопасности и стандартов. Примеры включают в себя поиск установленного программного обеспечения и определение возможных недостатков конфигурации. Lynis идёт дальше и делает также тест индивидуальных компонентов программного обеспечения, проверяет связанные конфигурационные файлы и измеряет производительности. После этих тестов, будет отображён отчёт по сканированию с вскрытыми находками.
Обычное использование Lynis:
- Аудит безопасности
- Сканирование на уязвимости
- Усиление системы
Установка
Вы можете установить Lynis из репозитория (например, используя yum или apt-get), но я обнаружил, что там не самая последняя версия Lynis. Лучше загрузите её в локальную директорию и запустите её оттуда.
Lynis с установкой — пакет
Хотя установка не требуется, обычным методом использования Lynis является установка её с помощью пакета. Он может быть из репозитория операционной системы или сделанным вручную. Пожалуйста, обратите внимание, в погоне за стабильностью некоторые репозитории не обновляют программное обеспечение после релиза, за исключением обновлений безопасности. Это может стать результатом использования очень старой версии Lynis, что не является предпочтительным.
Основанные на Red Hat: $ sudo yum install lynis
Основанные на Debian: $ sudo apt-get install lynis
Но, пожалуйста, не используйте этот способ. Это бесполезный запуск старого пакета! Зачем вообще тогда проводить аудит безопасности?
Lynis без установки — портативная версия
Пойдя этим путём, вы получите самый свежий пакет.
Создайте директорию (например /usr/local/lynis)
Lynis может быть запущен из любой директории (или со съёмного носителя).
mial@mial-VirtualBox ~ $ sudo -s [sudo] password for mial: mial-VirtualBox ~ # mkdir /usr/local/lynis mial-VirtualBox ~ # cd /usr/local/lynis/ mial-VirtualBox lynis #
Загружаем архив Lynis
Идём в секцию загрузок и копируем ссылку на тарболл (архив) Lynis (текущая версия lynis-1.6.4.tar.gz). Используйте эту ссылку вместе с wget (обычно уже установлен по умолчанию). Пользователи Mac OS могут использовать инструмент curl, тогда как BSD пользователи могут использовать fetch.
mial-VirtualBox lynis # wget --2015-02-15 12:55:25-- Распознаётся cisofy.com (cisofy.com)… 149.210.134.182 Подключение к cisofy.com (cisofy.com)|149.210.134.182|:443... соединение установлено. HTTP-запрос отправлен. Ожидание ответа... 200 OK Длина: 171953 (168K) [application/octet-stream] Сохранение в: «lynis-1.6.4.tar.gz» 100%[======================================>] 171,953 168KB/s за 1.0s 2015-02-15 12:55:29 (168 KB/s) - «lynis-1.6.4.tar.gz» сохранён [171953/171953] mial-VirtualBox lynis # sha256sum lynis-1.6.4.tar.gz 886c74b591706f896149fe74adb481b58c549d32243d0cf620b46dfdd25dc66d lynis-1.6.4.tar.gz mial-VirtualBox lynis #
После скачивания, протестируйте файл, чтобы подтвердить его целостность загрузки. Связанные хэши SHA1, SHA256 присутствуют также на официальном сайте. В зависимости от вашей ОС, это может быть выполнено в командной строке с sha1, sha1sum, sha256sum или с openssl.
mial-VirtualBox lynis # sha1sum lynis-1.6.4.tar.gz mial-VirtualBox lynis # sha1 lynis-1.6.4.tar.gz mial-VirtualBox lynis # openssl sha1 lynis-1.6.4.tar.gz
Отображаемый в результате хэш должен быть в точности таким же, как на веб-сайте. Если не так, загрузите программу на другую машину или через браузер, для подтверждения, что загрузка не повреждена.
Распаковка архива
Теперь распакуйте архив и перейдите в каталог lynis
mial-VirtualBox lynis # tar zxvf lynis-1.6.4.tar.gz mial-VirtualBox lynis # cd lynis/
Меню помощи Lynis
Lynis поставляется со своим собственным меню помощи, которое показывает некоторые базовые опции и как выполнить простейшие действия.
mial-VirtualBox lynis # ./lynis --help [ Lynis 1.6.4 ] ################################################################################ Lynis comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under the terms of the GNU General Public License. See the LICENSE file for details about using this software. Copyright 2007-2014 - CISOfy & Michael Boelen, https://cisofy.com/ Enterprise support and plugins available via CISOfy - https://cisofy.com/ ################################################################################ [+] Initializing program ------------------------------------ Scan options: --auditor "<name>" : Auditor name --check-all (-c) : Check system --no-log : Don't create a log file --pentest : Non-privileged scan (useful for pentest) --profile <profile> : Scan the system with the given profile file --quick (-Q) : Quick mode, don't wait for user input --tests "<tests>" : Run only tests defined by <tests> --tests-category "<category>" : Run only tests defined by <category> Layout options: --no-colors : Don't use colors in output --quiet (-q) : No output, except warnings --reverse-colors : Optimize color display for light backgrounds Misc options: --check-update : Check for updates --debug : Debug logging to screen --view-manpage (--man) : View man page --version (-V) : Display version number and quit Enterprise options: --plugin-dir "<path>" : Define path of available plugins --upload : Upload data to central node See man page and documentation for all available options.
Запуск Lynis
Я сделал быстрый тест на моей Linux Mint с использованием Lynis.
./lynis --auditor "MiAl" -c -Q
Если у кого-то «затык» при проверки PHP:
[+] Software: PHP
————————————
— Checking PHP [ NOT FOUND ]
— Checking PHP disabled functions [ NONE ]
То отредактируйте файл include/tests_php — сделайте инклуд файла php.ini.
Вы можете использовать различные команды:
mial-VirtualBox lynis # ./lynis -c (или) mial-VirtualBox lynis # ./lynis --auditor "codeby.net" -c -Q (или) mial-VirtualBox lynis # ./lynis --auditor "codeby.net" -c -Q -q (или) mial-VirtualBox lynis # ./lynis --auditor "codeby.net" -c -q -Q --pentest (или подобные)
Изучение отчёта Lynis
Lynis сохраняет свои отчёты в /var/log/lynis.log. Быстрое сканирование Lynis не выявило уязвимостей вроде Shellshock или тому подобных. Но, тем не менее, программа выдала несколько предупреждений и множество советов как усилить систему.
Особенно меня обрадовали советы по укреплению веб-сервера и почтового сервера — т. е. Lynis и их.
Отчёт сохраняется в файле /var/log/lynis.log в нём можно найти дополнительные детали.
Хорошее
То, что мне понравилось в Lynis (версия с открытым кодом):
- Для бесплатного инструмента, Lynis обеспечивает хорошее тестирование.
- Отчёты просты для понимания.
- Она использует GPLv3 — спасибо.
- Пользователи могут писать собственные плагины для использования с ней.
- Присутствует не просто анализ системы, а также тестирование установленного софта. Особенно интересно было читать рекомендации по укреплению веб-сервера и почтового сервера.
Возможные улучшения
Хотелось бы, чтобы в следующее обновление добавили:
- Добротный HTML отчёт (с раскрывающимися секциями).
- Тест на целостность файловой системы и пакетов.
- Добавление ссылок на CVE статьи — очень бы пригодилось с HTML отчётом.
- Высокоуровневый обзор для высшего управления.
- SQLi тесты и предложения для базы данных серверов.
- Подробнее о вероятных решениях/предложениях.
- Пропуск теста, когда файлы config/include имеют некорректный путь.
Заключение
В целом, я думаю это хороший инструмент, который нужно иметь хотя бы для автоматизации большого количества тестов. Всё можно улучшить, и Lynis не исключение. Любой сервер, будь то Linux, Windows или Unix требует регулярного аудита. Хотя нет спасения от уязвимости нулевого дня, но с регулярным аудитом вы сможете сохранить ваши ценные ресурсы. Lynis — это хороший инструмент, но вам следует использовать более чем один инструмент хотя бы потому, что различные поставщики (или разработчики софта) имеют различный взгляд на безопасность. А нам важно обеспечить безопасность сервера с высоким аптаймом и надёжно защищёнными данными.
Инструмент: Lynis
Страница проекта: http://cisofy.com/lynis/
Использование: Бесплатно
Лицензия: GPLv3
Загрузка http://cisofy.com/downloads/
Итак, делайте аудит своей системы и исправьте все оставшиеся проблемы, которые, по вашему мнению, могут затронуть вас.