Merge branch 'CISOfy:master' into teoberi-(E)LILO-warning

This commit is contained in:
teoberi 2024-10-04 21:38:10 +03:00 committed by GitHub
commit b1898cb280
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 130 additions and 118 deletions

View File

@ -2,10 +2,14 @@
## Lynis 3.1.3 (not released yet)
### Added
- Detection of Buildroot, Fedora Linux Asahi Remix, Peppermint OS
### Changed
- FILE-6398 - Only perform test if we know if Linux kernel is monolithic/modular
- FIRE-4508 - Fix typo in conditional expression
- KRNL-5622 - Test if systemctl binary is set
- OS detection for Fedora Linux Asahi Remix
- Update of translations: Russian
---------------------------------------------------------------------------------
@ -28,7 +32,7 @@
### Changed
- Correction of software EOL database and inclusion of AIX entries
- Support sysctl value perf_event_paranoid -> 2|3
- Update of translations: German, Portuguest, Turkish
- Update of translations: German, Portuguese, Turkish
- Grammar and spell improvements
- Improved package detection on Alpine Linux
- Slackware support to check installed packges (functionPackageIsInstalled())

View File

@ -100,7 +100,7 @@ Lynis is collecting some awards along the way and we are proud of that.
* 2015
* [![ToolsWatch Best Tools (second place)](https://www.toolswatch.org/badges/toptools/2015.svg)](https://www.toolswatch.org/2016/02/2015-top-security-tools-as-voted-by-toolswatch-org-readers/)
* [Best of Open Source Software Awards 2015](http://www.idgenterprise.com/news/press-release/infoworld-announces-the-2015-best-of-open-source-software-awards/).
* [Best of Open Source Software Awards 2015](http://www.idgenterprise.com/news/press-release/infoworld-announces-the-2015-best-of-open-source-software-awards/) ([mirror](https://web.archive.org/web/20210313082124/https://www.idg.com/news/infoworld-announces-the-2015-best-of-open-source-software-awards/)).
* 2014
* [![ToolsWatch Best Tools (third place)](https://www.toolswatch.org/badges/toptools/2014.svg)](https://www.toolswatch.org/2015/01/2014-top-security-tools-as-voted-by-toolswatch-org-readers/)

View File

@ -1,75 +1,75 @@
ERROR_NO_LICENSE="Лицензионный ключ не настроен"
ERROR_NO_UPLOAD_SERVER="Загрузочный сервер не настроен"
GEN_CHECKING="Проверка"
GEN_CURRENT_VERSION="Текущая версия"
GEN_DEBUG_MODE="Режим отладки"
GEN_INITIALIZE_PROGRAM="Инициализация программы"
GEN_LATEST_VERSION="Последняя версия"
GEN_PHASE="Стадия"
GEN_PLUGINS_ENABLED="Плагины включены"
GEN_UPDATE_AVAILABLE="доступно обновление"
GEN_VERBOSE_MODE="Подробный режим"
GEN_WHAT_TO_DO="Что сделать"
NOTE_EXCEPTIONS_FOUND_DETAILED="Были найдены некоторые исключительные события или информация"
NOTE_EXCEPTIONS_FOUND="Найдены исключения"
NOTE_PLUGINS_TAKE_TIME="Примечание: плагины имеют более обширные тесты и могут занять несколько минут до завершения"
NOTE_SKIPPED_TESTS_NON_PRIVILEGED="Тесты пропущены из-за использования непривилегированного режима"
SECTION_ACCOUNTING="Учёт"
SECTION_BANNERS_AND_IDENTIFICATION="Баннеры и идентификаторы"
SECTION_BASICS="Основное"
SECTION_BOOT_AND_SERVICES="Загрузка и сервисы"
SECTION_CONTAINERS="Контейнеры"
SECTION_CRYPTOGRAPHY="Криптография"
SECTION_CUSTOM_TESTS="Пользовательские тесты"
SECTION_DATABASES="Базы данных"
SECTION_DATA_UPLOAD="Отправка данных"
SECTION_DOWNLOADS="Загрузки"
SECTION_EMAIL_AND_MESSAGING="Программное обеспечение: e-mail и отправка сообщений"
ERROR_NO_LICENSE="ОШИБКА: ЛИЦЕНЗИОННЫЙ КЛЮЧ НЕ НАСТРОЕН"
ERROR_NO_UPLOAD_SERVER="ОШИБКА: ЗАГРУЗОЧНЫЙ СЕРВЕР НЕ НАСТРОЕН"
GEN_CHECKING="ПРОВЕРКА"
GEN_CURRENT_VERSION="ТЕКУЩАЯ ВЕРСИЯ"
GEN_DEBUG_MODE="РЕЖИМ ОТЛАДКИ"
GEN_INITIALIZE_PROGRAM="ИНИЦИАЛИЗАЦИЯ ПРОГРАММЫ"
GEN_LATEST_VERSION="ПОСЛЕДНЯЯ ВЕРСИЯ"
GEN_PHASE="СТАДИЯ"
GEN_PLUGINS_ENABLED="ПЛАГИНЫ ВКЛЮЧЕНЫ"
GEN_UPDATE_AVAILABLE="ДОСТУПНО ОБНОВЛЕНИЕ"
GEN_VERBOSE_MODE="ПОДРОБНЫЙ РЕЖИМ"
GEN_WHAT_TO_DO="ЧТО СДЕЛАТЬ?"
NOTE_EXCEPTIONS_FOUND_DETAILED="БЫЛИ ОБНАРУЖЕНЫ УНИКАЛЬНЫЕ СОБЫТИЯ ИЛИ СВЕДЕНИЯ"
NOTE_EXCEPTIONS_FOUND="НАЙДЕННЫ ИСКЛЮЧЕНИЯ"
NOTE_PLUGINS_TAKE_TIME="ПРИМЕЧАНИЕ: ПЛАГИНЫ ИМЕЮТ БОЛЕЕ ОБШИРНЫЕ ТЕСТЫ И МОГУТ ЗАНЯТЬ НЕСКОЛЬКО МИНУТ ДО ЗАВЕРШЕНИЯ"
NOTE_SKIPPED_TESTS_NON_PRIVILEGED="ТЕСТЫ ПРОПУЩЕНЫ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ НЕПРЕВЕЛИГИРОВАННОГО РЕЖИМА"
SECTION_ACCOUNTING="УЧЁТ"
SECTION_BANNERS_AND_IDENTIFICATION="БАННЕРЫ И ИДЕНТИФИКАТОРЫ"
SECTION_BASICS="ОСНОВНОЕ"
SECTION_BOOT_AND_SERVICES="ЗАГРУЗКА И СЕРВИСЫ"
SECTION_CONTAINERS="КОНТЕЙНЕРЫ"
SECTION_CRYPTOGRAPHY="КРИПТОГРАФИЯ"
SECTION_CUSTOM_TESTS="ПОЛЬЗОВАТЕЛЬСКИЕ ТЕСТЫ"
SECTION_DATABASES="БАЗЫ ДАННЫХ"
SECTION_DATA_UPLOAD="ОТПРАВКА ДАННЫХ"
SECTION_DOWNLOADS="ЗАГРУЗКИ"
SECTION_EMAIL_AND_MESSAGING="ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: E-MAIL И ОТПРАВКА СООБЩЕНИЙ"
SECTION_FILE_INTEGRITY="Программное обеспечение: целостность файлов"
SECTION_FILE_PERMISSIONS="Права доступа к файлам"
SECTION_FILE_SYSTEMS="Файловые системы"
SECTION_FIREWALLS="Программное обеспечение: firewall"
SECTION_GENERAL="Общее"
SECTION_HARDENING="Усиление"
SECTION_HOME_DIRECTORIES="Домашние директории"
SECTION_IMAGE="Образы"
SECTION_INITIALIZING_PROGRAM="Инициализация программы"
SECTION_INSECURE_SERVICES="Небезопасные сервисы"
SECTION_KERNEL_HARDENING="УСиления ядра"
SECTION_KERNEL="Ядро"
SECTION_LDAP_SERVICES="Сервисы LDAP"
SECTION_LOGGING_AND_FILES="Логирование и файлы"
SECTION_MALWARE="Вредоносное ПО"
SECTION_MEMORY_AND_PROCESSES="Память и процессы"
SECTION_NAME_SERVICES="Серверы имён"
SECTION_NETWORKING="Сети"
SECTION_PERMISSIONS="Права доступа"
SECTION_PORTS_AND_PACKAGES="Пакеты"
SECTION_PRINTERS_AND_SPOOLS="Принтеры и спулеры"
SECTION_PROGRAM_DETAILS="Подробности о программе"
SECTION_SCHEDULED_TASKS="Запланированные задачи"
SECTION_SECURITY_FRAMEWORKS="Фреймворки"
SECTION_SHELLS="Командные оболочки"
SECTION_SNMP_SUPPORT="Поддержка SNMP"
SECTION_SOFTWARE="Программное обеспечение"
SECTION_SQUID_SUPPORT="Поддержка Squid"
SECTION_SSH_SUPPORT="Поддержка SSH"
SECTION_STORAGE="Хранилище"
SECTION_SYSTEM_INTEGRITY="Программное обеспечение: целостность системы"
SECTION_SYSTEM_TOOLING="рограммное обеспечение: системные инструменты"
SECTION_SYSTEM_TOOLS="Системные утилиты"
SECTION_TIME_AND_SYNCHRONIZATION="Время и его синхронизация"
SECTION_USB_DEVICES="USB Устройства"
SECTION_USERS_GROUPS_AND_AUTHENTICATION="Пользователи, группы и Аутентификация"
SECTION_VIRTUALIZATION="Виртуализация"
SECTION_WEBSERVER="Программное обеспечение: веб-серверы"
SECTION_FILE_PERMISSIONS="ПРАВА ДОСТУПА К ФАЙЛАМ"
SECTION_FILE_SYSTEMS="ФАЙЛОВЫЕ СИСТЕМЫ"
SECTION_FIREWALLS="ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: FIREWALL"
SECTION_GENERAL="ОБЩЕЕ"
SECTION_HARDENING="УСИЛЕНИЕ"
SECTION_HOME_DIRECTORIES="ДОМАШНИЕ ДИРЕКТОРИИ"
SECTION_IMAGE="ОБРАЗЫ"
SECTION_INITIALIZING_PROGRAM="ИНИЦИАЛИЗАЦИЯ ПРОГРАММЫ"
SECTION_INSECURE_SERVICES="НЕБЕЗОПАСНЫЕ СЕРВИСЫ"
SECTION_KERNEL_HARDENING="УСИЛЕНИЕ ЯДРА"
SECTION_KERNEL="ЯДРО"
SECTION_LDAP_SERVICES="СЕРВИСЫ LDAP"
SECTION_LOGGING_AND_FILES="ЛОГИРОВАНИЕ И ФАЙЛЫ"
SECTION_MALWARE="ВРЕДОНОСНОЕ ПО"
SECTION_MEMORY_AND_PROCESSES="ПАМЯТЬ И ПРОЦЕССОРЫ"
SECTION_NAME_SERVICES="СЕРВЕРЫ ИМЁН"
SECTION_NETWORKING="СЕТИ"
SECTION_PERMISSIONS="ПРАВА ДОСТУПА"
SECTION_PORTS_AND_PACKAGES="ПАКЕТЫ"
SECTION_PRINTERS_AND_SPOOLS="ПРИНТЕРЫ И СПУЛЕРЫ"
SECTION_PROGRAM_DETAILS="ПОДРОБНОСТИ О ПРОГРАММЕ"
SECTION_SCHEDULED_TASKS="ЗАПЛАНИРОВАННЫЕ ЗАДАЧИ"
SECTION_SECURITY_FRAMEWORKS="ФРЕЙМВОРКИ"
SECTION_SHELLS="КОМАНДНЫЕ ОБОЛОЧКИ"
SECTION_SNMP_SUPPORT="ПОДДЕРЖКА SNMP"
SECTION_SOFTWARE="ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ"
SECTION_SQUID_SUPPORT="ПОДДЕРЖКА Squid"
SECTION_SSH_SUPPORT="ПОДДЕРЖКА SSH"
SECTION_STORAGE="ХРАНИЛИЩЕ"
SECTION_SYSTEM_INTEGRITY="ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: ЦЕЛОСТНОСТЬ СИСТЕМЫ"
SECTION_SYSTEM_TOOLING="ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: СИСТЕМНЫЕ ИНСТУРМЕНТЫ"
SECTION_SYSTEM_TOOLS="СИСТЕМНЫЕ УТИЛИТЫ"
SECTION_TIME_AND_SYNCHRONIZATION="ВРЕМЯ И ЕГО СИНХРОНИЗАЦИЯ"
SECTION_USB_DEVICES="USB УСТРОЙСТВА"
SECTION_USERS_GROUPS_AND_AUTHENTICATION="ПОЛЬЗОВАТЕЛИ, ГРУППЫ И АУТЕНТИФИКАЦИЯ"
SECTION_VIRTUALIZATION="ВИРТУАЛИЗАЦИЯ"
SECTION_WEBSERVER="ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: WEB-СЕРВЕРЫ"
STATUS_ACTIVE="АКТИВЕН"
STATUS_CHECK_NEEDED="ТРЕБУЕТСЯ ПРОВЕРКА"
STATUS_DEBUG="ОТЛАДКА"
STATUS_DEFAULT="ПО УМОЛЧАНИЮ"
STATUS_DIFFERENT="ОТЛИЧАЕТСЯ"
STATUS_DISABLED="ОТКЛЮЧЕНО"
STATUS_DONE="Завершено"
STATUS_DONE="ЗАВЕРШЕНО"
STATUS_ENABLED="ВКЛЮЧЕНО"
STATUS_ERROR="ОШИБКА"
STATUS_EXPOSED="УЯЗВИМО"
@ -81,8 +81,8 @@ STATUS_INSTALLED="УСТАНОВЛЕНО"
STATUS_LOCAL_ONLY="ТОЛЬКО ЛОКАЛЬНО"
STATUS_MEDIUM="СРЕДНИЙ"
STATUS_NON_DEFAULT="НЕ ПО УМОЛЧАНИЮ"
STATUS_NONE="Отсутствует"
STATUS_NOT_ACTIVE="NOT ACTIVE"
STATUS_NONE="ОТСУТСТВУЕТ"
STATUS_NOT_ACTIVE="НЕ АКТИВЕН"
STATUS_NOT_CONFIGURED="НЕ СКОНФИГУРИРОВАНО"
STATUS_NOT_DISABLED="НЕ ОТКЛЮЧЕНО"
STATUS_NOT_ENABLED="НЕ ВКЛЮЧЕНО"
@ -90,9 +90,9 @@ STATUS_NOT_FOUND="НЕ НАЙДЕНО"
STATUS_NOT_RUNNING="НЕ ЗАПУЩЕНО"
STATUS_NO_UPDATE="ОБНОВЛЕНИЙ НЕТ"
STATUS_NO="НЕТ"
STATUS_OFF="Выключено"
STATUS_OFF="ВЫКЛЮЧЕНО"
STATUS_OK="ОК"
STATUS_ON="Включено"
STATUS_ON="ВКЛЮЧЕНО"
STATUS_PARTIALLY_HARDENED="ЧАСТИЧНО УСИЛЕНО"
STATUS_PROTECTED="ЗАЩИЩЕНО"
STATUS_RUNNING="ЗАПУЩЕНО"
@ -104,6 +104,6 @@ STATUS_UPDATE_AVAILABLE="ДОСТУПНЫ ОБНОВЛЕНИЯ"
STATUS_WARNING="ПРЕДУПРЕЖДЕНИЕ"
STATUS_WEAK="СЛАБЫЙ"
STATUS_YES="ДА"
TEXT_UPDATE_AVAILABLE="доступно обновление"
TEXT_YOU_CAN_HELP_LOGFILE="Вы можете помочь, предоставив ваш лог-файл"
#SECTION_KERBEROS="Kerberos"
TEXT_UPDATE_AVAILABLE="ДОСТУПНО ОБНОВЛЕНИЕ"
TEXT_YOU_CAN_HELP_LOGFILE="ПОЖАЛУЙСТА, ПОМОГИТЕ НАМ, ОТПРАВИВ ВАШ LOG-ФАЙЛ"
SECTION_KERBEROS="KERBEROS"

View File

@ -202,6 +202,12 @@
OS_VERSION=$(grep "^VERSION_ID=" /etc/os-release | awk -F= '{print $2}' | tr -d '"')
OS_VERSION_FULL=$(grep "^VERSION=" /etc/os-release | awk -F= '{print $2}' | tr -d '"')
;;
"buildroot")
LINUX_VERSION="Buildroot"
OS_NAME="Buildroot"
OS_VERSION=$(grep "^VERSION_ID=" /etc/os-release | awk -F= '{print $2}' | tr -d '"')
OS_VERSION_FULL=$(grep "^PRETTY_NAME=" /etc/os-release | awk -F= '{print $2}' | tr -d '"')
;;
"bunsenlabs")
LINUX_VERSION="BunsenLabs"
OS_NAME="BunsenLabs"
@ -406,6 +412,13 @@
OS_VERSION=$(grep "^VERSION_ID=" /etc/os-release | awk -F= '{print $2}' | tr -d '"')
OS_VERSION_FULL=$(grep "^PRETTY_NAME=" /etc/os-release | awk -F= '{print $2}' | tr -d '"')
;;
"peppermint")
LINUX_VERSION="Peppermint OS"
LINUX_VERSION_LIKE="Debian"
OS_NAME="Peppermint OS"
OS_VERSION=$(grep "^PRETTY_NAME=" /etc/os-release | awk -F= '{print $2}' | tr -d '"')
OS_VERSION_FULL=$(grep "^VERSION_CODENAME=" /etc/os-release | awk -F= '{print $2}' | tr -d '"')
;;
"poky")
LINUX_VERSION="Poky"
OS_NAME="openembedded"

View File

@ -122,7 +122,7 @@
LogText "Result: iptables ${table} -- ${chainname} policy is ${policy}."
LogText "Result: ${policy}"
if [ "${TABLE}" = "filter" ]; then
if [ "${table}" = "filter" ]; then
if [ "${chainname}" = "INPUT" ]; then
case ${policy} in
"ACCEPT")

View File

@ -39,55 +39,50 @@
# Description : Check default run level on Linux machines
Register --test-no KRNL-5622 --os Linux --weight L --network NO --category security --description "Determine Linux default run level"
if [ ${SKIPTEST} -eq 0 ]; then
# Only run if systemctl binary is available
if [ -n "${SYSTEMCTLBINARY}" ]; then
# Checking if we can find the systemd default target
LogText "Test: Checking for systemd default.target"
if [ $(${SYSTEMCTLBINARY} get-default) ]; then
FIND=$(${SYSTEMCTLBINARY} get-default)
FIND2=$(${ECHOCMD} ${FIND} | ${EGREPBINARY} "runlevel5|graphical")
if HasData "${FIND2}"; then
LogText "Result: Found match on runlevel5/graphical"
Display --indent 2 --text "- Checking default runlevel" --result "runlevel 5" --color GREEN
Report "linux_default_runlevel=5"
# Checking if we can find the systemd default target
LogText "Test: Checking for systemd default.target"
if [ $( [ ! -z ${SYSTEMCTLBINARY} ] && ${SYSTEMCTLBINARY} get-default) ]; then
FIND=$(${SYSTEMCTLBINARY} get-default)
FIND2=$(${ECHOCMD} ${FIND} | ${EGREPBINARY} "runlevel5|graphical")
if HasData "${FIND2}"; then
LogText "Result: Found match on runlevel5/graphical"
Display --indent 2 --text "- Checking default runlevel" --result "runlevel 5" --color GREEN
Report "linux_default_runlevel=5"
else
LogText "Result: No match found on runlevel, defaulting to runlevel 3"
Display --indent 2 --text "- Checking default runlevel" --result "runlevel 3" --color GREEN
Report "linux_default_runlevel=3"
fi
else
LogText "Result: no systemd found, so trying inittab"
LogText "Test: Checking ${ROOTDIR}etc/inittab"
if [ -f ${ROOTDIR}etc/inittab ]; then
LogText "Result: file ${ROOTDIR}etc/inittab found"
LogText "Test: Checking default Linux run level"
FIND=$(${AWKBINARY} -F: '/^id/ { print $2; }' ${ROOTDIR}etc/inittab | head -n 1)
if IsEmpty "${FIND}"; then
Display --indent 2 --text "- Checking default runlevel" --result "${STATUS_UNKNOWN}" --color YELLOW
LogText "Result: Can't determine default run level from ${ROOTDIR}etc/inittab"
else
LogText "Result: No match found on runlevel, defaulting to runlevel 3"
Display --indent 2 --text "- Checking default runlevel" --result "runlevel 3" --color GREEN
Report "linux_default_runlevel=3"
Display --indent 2 --text "- Checking default run level" --result "${FIND}" --color GREEN
LogText "Found default run level '${FIND}'"
Report "linux_default_runlevel=${FIND}"
fi
else
LogText "Result: no systemd found, so trying inittab"
LogText "Test: Checking ${ROOTDIR}etc/inittab"
if [ -f ${ROOTDIR}etc/inittab ]; then
LogText "Result: file ${ROOTDIR}etc/inittab found"
LogText "Test: Checking default Linux run level"
FIND=$(${AWKBINARY} -F: '/^id/ { print $2; }' ${ROOTDIR}etc/inittab | head -n 1)
if IsEmpty "${FIND}"; then
Display --indent 2 --text "- Checking default runlevel" --result "${STATUS_UNKNOWN}" --color YELLOW
LogText "Result: Can't determine default run level from ${ROOTDIR}etc/inittab"
else
Display --indent 2 --text "- Checking default run level" --result "${FIND}" --color GREEN
LogText "Found default run level '${FIND}'"
LogText "Result: file ${ROOTDIR}etc/inittab not found"
if [ "${LINUX_VERSION}" = "Debian" ] || [ "${LINUX_VERSION}" = "Ubuntu" ] || [ "${LINUX_VERSION_LIKE}" = "Debian" ] || [ "${LINUX_VERSION_LIKE}" = "Ubuntu" ]; then
LogText "Test: Checking run level with who -r, for Debian based systems"
FIND=$(who -r | ${AWKBINARY} '{ if ($1=="run-level") { print $2 } }')
if HasData "${FIND}"; then
LogText "Result: Found default run level '${FIND}'"
Report "linux_default_runlevel=${FIND}"
fi
else
LogText "Result: file ${ROOTDIR}etc/inittab not found"
if [ "${LINUX_VERSION}" = "Debian" ] || [ "${LINUX_VERSION}" = "Ubuntu" ] || [ "${LINUX_VERSION_LIKE}" = "Debian" ] || [ "${LINUX_VERSION_LIKE}" = "Ubuntu" ]; then
LogText "Test: Checking run level with who -r, for Debian based systems"
FIND=$(who -r | ${AWKBINARY} '{ if ($1=="run-level") { print $2 } }')
if HasData "${FIND}"; then
LogText "Result: Found default run level '${FIND}'"
Report "linux_default_runlevel=${FIND}"
Display --indent 2 --text "- Checking default run level" --result "RUNLEVEL ${FIND}" --color GREEN
else
LogText "Result: Can't determine default run level from who -r"
Display --indent 2 --text "- Checking default run level" --result "${STATUS_UNKNOWN}" --color YELLOW
fi
Display --indent 2 --text "- Checking default run level" --result "RUNLEVEL ${FIND}" --color GREEN
else
LogText "Result: Can't determine default run level from who -r"
Display --indent 2 --text "- Checking default run level" --result "${STATUS_UNKNOWN}" --color YELLOW
fi
fi
fi
else
LogText "Result: test skipped, as systemctl binary could not be found"
fi
fi
#