Статья Lynis – Инструмент для проверки безопасности и проведения пентеста с открытым исходным кодом – детальное разъяснение

  • Автор темы AnnaDavydova
  • Дата начала
  • Теги
    linux
AnnaDavydova

AnnaDavydova

Перевожу для codeby
06.08.2016
98
714
Lynis - это инструмент аудита безопасности с открытым исходным кодом. Его основная задача - аудирование и упрочнение систем на базе Unix и Linux. Он сканирует систему, выполняя многие проверки контроля безопасности. Примеры включают поиск установленного программного обеспечения и определение возможных недостатков конфигурации.

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

Lynis является одним из самых надежных автоматизированных инструментов аудита для управления исправлениями программного обеспечения, сканирования вредоносных программ и обнаружения уязвимостей в системах на базе Unix/Linux. Этот инструмент полезен для аудиторов, сетевых и системных администраторов, специалистов в сфере безопасности, а также тестировщиков на проникновение.

Целевая аудитория:

Lynis сможет помочь аудиторам в проверке Basel II, GLBA, HIPAA, PCI DSS and SOX (Sarbanes-Oxley).
Данный инструмент отлично подойдет для специалистов в сфере безопасности, тестировщиков на проникновение, системных аудиторов, системных/ сетевых менеджеров, инженеров по безопасности.

Lynis совместим со многими операционными системами, такими как:
  • AIX
  • Arch Linux
  • BackTrack Linux
  • CentOS
  • Debian, DragonFlyBSD
  • Fedora Core, FreeBSD
  • Gentoo
  • HPUX
  • Kali, Knoppix
  • Linux Mint
  • MacOS X, Mageia, Mandriva
  • NetBSD
  • OpenBSD, OpenSolaris, openSUSE, Oracle Linux
  • PcBSD, PCLinuxOS
  • Red Hat Enterprise Linux (RHEL) и все от него производные
  • Sabayon, Scientific Linux, Slackware, Solaris 10, SuSE
  • TrueOS
  • Ubuntu и все от него производные
Lynis также может выполнять аудит программного обеспечения, такого как:

  • Сервера баз данных: MySQL, Oracle, PostgreSQL
  • Time daemons: dntpd, ntpd, timed
  • Вебсерверы: Apache, Nginx
Как только lynis начинает сканировать вашу систему, он выполнит проверку в следующих категориях:
  • Системные инструменты: системные двоичные файлы
  • Загрузка и службы: загрузчики, службы запуска
  • Ядро: уровень запуска, загруженные модули, конфигурация ядра, дампы ядра
  • Память и процессы: процессы-зомби, процессы ожидания ввода-вывода
  • Пользователи, группы и аутентификация: идентификаторы групп, sudoers, конфигурация PAM, старение паролей, маска по умолчанию
  • Shells
  • Файловые системы: точки монтирования, / tmp-файлы, корневая файловая система
  • Хранилища: usb-хранилище, firewire ohci
  • NFS
  • Программное обеспечение: службы имен: домен DNS-поиска, BIND
  • Порты и пакеты: уязвимые/обновляемые пакеты, репозиторий безопасности
  • Сеть: имена серверов, смешанные интерфейсы, соединения
  • Принтеры и спулы: cups конфигурации
  • Программное обеспечение: электронная почта и обмен сообщениями
  • Программное обеспечение: брандмауэры: iptables, pf
  • Программное обеспечение: веб-сервер: Apache, nginx
  • SSH поддержка: SSH конфигурации
  • SNMP поддержка
  • Базы данных: MySQL root пароль
  • LDAP службы
  • Программное обеспечение: php: php опции
  • Squid поддержка
  • Протоколирование ифайлы: Syslog демон, log директории
  • Ненадежные службы: inetd
  • Баннеры и идентификация
  • Назначенные задания: crontab/cronjob, atd
  • Учет: sysstat data, auditd
  • Время и синхронизация: ntp демон
  • Криптография: Срок действия сертификата SSL
  • Виртуализация
  • Фреймворки безопасности: AppArmor, SELinux, статус безопасности
  • Программное обеспечение: целостность файла
  • Программное обеспечение: сканеры вредоносных программ
  • Домашние директории: файлы истории shell
Как работает Lynis:

В этом , чтобы запустить его в первый раз, рекомендуется использовать -cparamater. –c параметр означает выполнение всех тестов для проверки систем. Если вы хотите поместить имя аудитора, просто добавьте параметр -auditor. Вот некоторые

Скачайте и установите Lynis с

Код:
git clone https://github.com/CISOfy/lynis
Код:
$ cd lynis-1.3.8
# ./lynis
Примеры возможных выводов данных:

Как только вы завершите процесс установке, запустите программу, используя имя аудитора или пентестера.

Код:
# lynis -c –auditor “BALAJI”
Рисунок 1. Инициализация



Рисунок 2. Системные инструменты




Рисунок 3. Загрузка и службы и ядро



Рисунок 4. Пользователи и группы



Рисунок 5. Shell и хранилище



Рисунок 6. Программное обеспечение, порты и пакеты




Рисунок 7. Сетевое оборудование и принтеры



Рисунок 8. Электронная почта, Брандмауэр и вебсервер




Рисунок 9. SSH, SNMP и базы данных




Рисунок 10. PHP, Squid прокси протоколирование



Рисунок 11. Inetd, Баннер и Cron




Рисунок 12. Учет, NTP и криптография




Рисунок 13. Виртуализация, фреймворки безопасности и целостность файла




Рисунок 14. Сканеры вредоносных программ, системный инструмент и домашний каталог





Рисунок 15. Укрепление ядра




Рисунок 16. Упрочнение, пользовательские тесты и результаты



Рисунок 17. Упрочнение индекса



Запуск настраиваемых тестов в Lynis

Возможно, вашей системе не нужно выполнять все тесты. Если ваш сервер не работает с веб-сервером, вам не нужно его проверять. Для этого мы можем использовать параметр -tests. Синтаксис выглядит следующим образом:

Код:
# lynis –tests “Test-IDs”

Существует более 100 тестов, которые мы можем выполнить. Вот список тестов идентификаторов тестов в Lynis.

  • FILE-7502 (Проверка всех системных двоичных файлов)
  • BOOT-5121 (Проверить наличие загрузчика GRUB).
  • BOOT-5139 (Проверить наличие загрузчика LILO)
  • BOOT-5142 (Проверить SPARC Улучшенный загрузчик (SILO))
  • BOOT-5155 (Проверьте файл конфигурации загрузчика YABOOT)
  • BOOT-5159 (Проверить наличие загрузчика OpenBSD i386)
  • BOOT-5165 (Проверить наличие загрузочных служб FreeBSD)
  • BOOT-5177 (Проверка загрузки и запуска Linux)
  • BOOT-5180 (Проверка загрузочных служб Linux (Debian style))
  • BOOT-5184 (Проверить разрешения для загрузочных файлов/скриптов)
  • BOOT-5202 (Проверка работоспособности системы)
  • KRNL-5677 (Проверьте параметры процессора и поддержку)
  • KRNL-5695 (Определить версию ядра Linux и номер выпуска)
  • KRNL-5723 (Определение того, является ли ядро Linux монолитным)
  • KRNL-5726 (Проверка загруженных модулей ядра Linux)
  • KRNL-5728 (Проверка конфигурации ядра Linux)
  • KRNL-5745 (Проверка загруженных модулей ядра FreeBSD)
  • [04:57:04] Причина пропуска: Тест отсутствует в списке тестов для выполнения (Reason to skip: Test not in list of tests to perform)
  • KRNL-5770 (Проверка активных модулей ядра)
  • KRNL-5788 (Проверка доступности нового ядра)
  • KRNL-5820 (Проверка конфигурации дампов ядра)
Ниже приведен пример команды для запуска проверки работоспособности системы и запуска теста для проверки конфигурации дампов ядра. Если вы хотите добавить больше тестов, просто добавьте больше идентификаторов тестов, разделенных пробелом.

Код:
# ./lynis –tests “BOOT-5202 KRNL-5820”



Для того чтобы получить больше идентификаторов тестов, вы сможете найти их в /var/log/lynis.log. Ниже приведен способ, как это сделать.

1. Для начала, нам необходимо запустить lynis с параметром -c (проверить все (check-all)).

Код:
# ./lynis -c -Q
2. Then look at inside /var/log/lynis.log file. Используйте команду cat и соедините её с grep. Скажем, вы хотите найти идентификатор теста, относящийся к ядру. Используйте ключевое слово KRNL для того, чтобы найти его.

Код:
# cat /var/log/lynis.log | grep KRNL


Ниже приведены полные ключевые слова идентификаторов тестов, доступных в Lynis.

BOOT
KRNL (ядро (kernel))
PROC (процессор (processor))
AUTH (аутентификация (authentication))
SHLL (shell)
FILE
STRG (хранилище (storage))
NAME (dns)
PKGS (пакетирование (packaging))
NETW (сеть (network))
PRNT (принтер (printer))
MAIL
FIRE (брандмауэр (firewall))
HTTP (вебсервер (webserver))
SSH
SNMP
DBS (база данных (database))
PHP
LDAP
SQD (squid proxy)
LOGG (протоколирование (logging))
INSE (insecure services – inetd)
SCHD (scheduling – cron job)
ACCT (учет (accounting))
TIME (time protocol – NTP)
CRYP (криптография (cryptography))
VIRT (виртуализация (virtualization))
MACF (AppArmor – SELINUX)
MALW (вредоносное ПО (malware))
HOME
HRDN (упрочнение (hardening))
Запуск lynis с категориями

Если вы ощущаете, что много идентификаторов тестов слишком тягостно для вас, вы можете использовать параметр -test-category. С помощью этой опции Lynis запускает идентификаторы тестов, которые входят в определенную категорию. Например, вы хотите запустить тесты брандмауэра и ядра. Тогда вы можете сделать это:

Код:
# ./lynis –tests-category “firewalls kernel”



Запуск Lynis как Cronjob

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

Чтобы сделать это, мы можем запустить Lynis как cronjob. Вот пример cronjob для запуска его каждый месяц.

Код:
#!/bin/sh
AUDITOR=”automated”
DATE=$(date +%Y%m%d)
HOST=$(hostname)
LOG_DIR=”/var/log/lynis”
REPORT=”$LOG_DIR/report-${HOST}.${DATE}”
DATA=”$LOG_DIR/report-data-${HOST}.${DATE}.txt”
cd /usr/local/lynis
./lynis -c –auditor “${AUDITOR}” –cronjob > ${REPORT}
mv /var/log/lynis-report.dat ${DATA}
# End
Сохраните скрипт в /etc/cron.monthly/lynis. Не забудьте добавить соответствующие пути (/usr/local/lynis and /var/log/lynis), иначе скрипт будет работать неправильно.

Источник:
 
J

jess_hide

Member
04.09.2018
14
2
А на termux запуститься?)
 
CyberX88

CyberX88

Well-known member
05.02.2017
114
42
Lynis - это инструмент аудита безопасности с открытым исходным кодом. Его основная задача - аудирование и упрочнение систем на базе Unix и Linux. Он сканирует систему, выполняя многие проверки контроля безопасности. Примеры включают поиск установленного программного обеспечения и определение возможных недостатков конфигурации.

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

Lynis является одним из самых надежных автоматизированных инструментов аудита для управления исправлениями программного обеспечения, сканирования вредоносных программ и обнаружения уязвимостей в системах на базе Unix/Linux. Этот инструмент полезен для аудиторов, сетевых и системных администраторов, специалистов в сфере безопасности, а также тестировщиков на проникновение.

Целевая аудитория:

Lynis сможет помочь аудиторам в проверке Basel II, GLBA, HIPAA, PCI DSS and SOX (Sarbanes-Oxley).
Данный инструмент отлично подойдет для специалистов в сфере безопасности, тестировщиков на проникновение, системных аудиторов, системных/ сетевых менеджеров, инженеров по безопасности.

Lynis совместим со многими операционными системами, такими как:
  • AIX
  • Arch Linux
  • BackTrack Linux
  • CentOS
  • Debian, DragonFlyBSD
  • Fedora Core, FreeBSD
  • Gentoo
  • HPUX
  • Kali, Knoppix
  • Linux Mint
  • MacOS X, Mageia, Mandriva
  • NetBSD
  • OpenBSD, OpenSolaris, openSUSE, Oracle Linux
  • PcBSD, PCLinuxOS
  • Red Hat Enterprise Linux (RHEL) и все от него производные
  • Sabayon, Scientific Linux, Slackware, Solaris 10, SuSE
  • TrueOS
  • Ubuntu и все от него производные
Lynis также может выполнять аудит программного обеспечения, такого как:

  • Сервера баз данных: MySQL, Oracle, PostgreSQL
  • Time daemons: dntpd, ntpd, timed
  • Вебсерверы: Apache, Nginx
Как только lynis начинает сканировать вашу систему, он выполнит проверку в следующих категориях:
  • Системные инструменты: системные двоичные файлы
  • Загрузка и службы: загрузчики, службы запуска
  • Ядро: уровень запуска, загруженные модули, конфигурация ядра, дампы ядра
  • Память и процессы: процессы-зомби, процессы ожидания ввода-вывода
  • Пользователи, группы и аутентификация: идентификаторы групп, sudoers, конфигурация PAM, старение паролей, маска по умолчанию

  • Shells

  • Файловые системы: точки монтирования, / tmp-файлы, корневая файловая система

  • Хранилища: usb-хранилище, firewire ohci
  • NFS

  • Программное обеспечение: службы имен: домен DNS-поиска, BIND
  • Порты и пакеты: уязвимые/обновляемые пакеты, репозиторий безопасности

  • Сеть: имена серверов, смешанные интерфейсы, соединения
  • Принтеры и спулы: cups конфигурации

  • Программное обеспечение: электронная почта и обмен сообщениями
  • Программное обеспечение: брандмауэры: iptables, pf
  • Программное обеспечение: веб-сервер: Apache, nginx

  • SSH поддержка: SSH конфигурации
  • SNMP поддержка
  • Базы данных: MySQL root пароль
  • LDAP службы
  • Программное обеспечение: php: php опции
  • Squid поддержка
  • Протоколирование ифайлы: Syslog демон, log директории
  • Ненадежные службы: inetd

  • Баннеры и идентификация

  • Назначенные задания: crontab/cronjob, atd
  • Учет: sysstat data, auditd
  • Время и синхронизация: ntp демон

  • Криптография: Срок действия сертификата SSL

  • Виртуализация
  • Фреймворки безопасности: AppArmor, SELinux, статус безопасности

  • Программное обеспечение: целостность файла
  • Программное обеспечение: сканеры вредоносных программ

  • Домашние директории: файлы истории shell
Как работает Lynis:

В этом , чтобы запустить его в первый раз, рекомендуется использовать -cparamater. –c параметр означает выполнение всех тестов для проверки систем. Если вы хотите поместить имя аудитора, просто добавьте параметр -auditor. Вот некоторые

Скачайте и установите Lynis с

Код:
git clone https://github.com/CISOfy/lynis
Код:
$ cd lynis-1.3.8
# ./lynis
Примеры возможных выводов данных:

Как только вы завершите процесс установке, запустите программу, используя имя аудитора или пентестера.

Код:
# lynis -c –auditor “BALAJI”
Рисунок 1. Инициализация



Рисунок 2. Системные инструменты




Рисунок 3. Загрузка и службы и ядро



Рисунок 4. Пользователи и группы



Рисунок 5. Shell и хранилище



Рисунок 6. Программное обеспечение, порты и пакеты




Рисунок 7. Сетевое оборудование и принтеры



Рисунок 8. Электронная почта, Брандмауэр и вебсервер




Рисунок 9. SSH, SNMP и базы данных




Рисунок 10. PHP, Squid прокси протоколирование



Рисунок 11. Inetd, Баннер и Cron




Рисунок 12. Учет, NTP и криптография




Рисунок 13. Виртуализация, фреймворки безопасности и целостность файла




Рисунок 14. Сканеры вредоносных программ, системный инструмент и домашний каталог





Рисунок 15. Укрепление ядра




Рисунок 16. Упрочнение, пользовательские тесты и результаты



Рисунок 17. Упрочнение индекса



Запуск настраиваемых тестов в Lynis

Возможно, вашей системе не нужно выполнять все тесты. Если ваш сервер не работает с веб-сервером, вам не нужно его проверять. Для этого мы можем использовать параметр -tests. Синтаксис выглядит следующим образом:

Код:
# lynis –tests “Test-IDs”

Существует более 100 тестов, которые мы можем выполнить. Вот список тестов идентификаторов тестов в Lynis.

  • FILE-7502 (Проверка всех системных двоичных файлов)
  • BOOT-5121 (Проверить наличие загрузчика GRUB).
  • BOOT-5139 (Проверить наличие загрузчика LILO)
  • BOOT-5142 (Проверить SPARC Улучшенный загрузчик (SILO))
  • BOOT-5155 (Проверьте файл конфигурации загрузчика YABOOT)
  • BOOT-5159 (Проверить наличие загрузчика OpenBSD i386)
  • BOOT-5165 (Проверить наличие загрузочных служб FreeBSD)
  • BOOT-5177 (Проверка загрузки и запуска Linux)
  • BOOT-5180 (Проверка загрузочных служб Linux (Debian style))
  • BOOT-5184 (Проверить разрешения для загрузочных файлов/скриптов)
  • BOOT-5202 (Проверка работоспособности системы)
  • KRNL-5677 (Проверьте параметры процессора и поддержку)
  • KRNL-5695 (Определить версию ядра Linux и номер выпуска)
  • KRNL-5723 (Определение того, является ли ядро Linux монолитным)
  • KRNL-5726 (Проверка загруженных модулей ядра Linux)
  • KRNL-5728 (Проверка конфигурации ядра Linux)
  • KRNL-5745 (Проверка загруженных модулей ядра FreeBSD)
  • [04:57:04] Причина пропуска: Тест отсутствует в списке тестов для выполнения (Reason to skip: Test not in list of tests to perform)
  • KRNL-5770 (Проверка активных модулей ядра)
  • KRNL-5788 (Проверка доступности нового ядра)
  • KRNL-5820 (Проверка конфигурации дампов ядра)
Ниже приведен пример команды для запуска проверки работоспособности системы и запуска теста для проверки конфигурации дампов ядра. Если вы хотите добавить больше тестов, просто добавьте больше идентификаторов тестов, разделенных пробелом.

Код:
# ./lynis –tests “BOOT-5202 KRNL-5820”



Для того чтобы получить больше идентификаторов тестов, вы сможете найти их в /var/log/lynis.log. Ниже приведен способ, как это сделать.

1. Для начала, нам необходимо запустить lynis с параметром -c (проверить все (check-all)).

Код:
# ./lynis -c -Q
2. Then look at inside /var/log/lynis.log file. Используйте команду cat и соедините её с grep. Скажем, вы хотите найти идентификатор теста, относящийся к ядру. Используйте ключевое слово KRNL для того, чтобы найти его.

Код:
# cat /var/log/lynis.log | grep KRNL


Ниже приведены полные ключевые слова идентификаторов тестов, доступных в Lynis.

BOOT
KRNL
(ядро (kernel))
PROC (процессор (processor))
AUTH (аутентификация (authentication))
SHLL (shell)
FILE
STRG
(хранилище (storage))
NAME (dns)
PKGS (пакетирование (packaging))
NETW (сеть (network))
PRNT (принтер (printer))
MAIL
FIRE
(брандмауэр (firewall))
HTTP (вебсервер (webserver))
SSH
SNMP
DBS
(база данных (database))
PHP
LDAP
SQD
(squid proxy)
LOGG (протоколирование (logging))
INSE (insecure services – inetd)
SCHD (scheduling – cron job)
ACCT (учет (accounting))
TIME (time protocol – NTP)
CRYP (криптография (cryptography))
VIRT (виртуализация (virtualization))
MACF (AppArmor – SELINUX)
MALW (вредоносное ПО (malware))
HOME
HRDN
(упрочнение (hardening))
Запуск lynis с категориями

Если вы ощущаете, что много идентификаторов тестов слишком тягостно для вас, вы можете использовать параметр -test-category. С помощью этой опции Lynis запускает идентификаторы тестов, которые входят в определенную категорию. Например, вы хотите запустить тесты брандмауэра и ядра. Тогда вы можете сделать это:

Код:
# ./lynis –tests-category “firewalls kernel”



Запуск Lynis как Cronjob

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

Чтобы сделать это, мы можем запустить Lynis как cronjob. Вот пример cronjob для запуска его каждый месяц.

Код:
#!/bin/sh
AUDITOR=”automated”
DATE=$(date +%Y%m%d)
HOST=$(hostname)
LOG_DIR=”/var/log/lynis”
REPORT=”$LOG_DIR/report-${HOST}.${DATE}”
DATA=”$LOG_DIR/report-data-${HOST}.${DATE}.txt”
cd /usr/local/lynis
./lynis -c –auditor “${AUDITOR}” –cronjob > ${REPORT}
mv /var/log/lynis-report.dat ${DATA}
# End
Сохраните скрипт в /etc/cron.monthly/lynis. Не забудьте добавить соответствующие пути (/usr/local/lynis and /var/log/lynis), иначе скрипт будет работать неправильно.

Источник:
Этот инструмент для внутреннего аудита?
 
Литиум

Литиум

Well-known member
13.12.2017
334
602
Кому интересно -== Тык -== .
 
Мы в соцсетях: