Архив метки: SOVA

Про ткачество и CIS-бенчмарки

Про ткачество и CIS-бенчмаркиПро ткачество и CIS-бенчмаркиПро ткачество и CIS-бенчмаркиПро ткачество и CIS-бенчмарки

Про ткачество и CIS-бенчмарки. Вчера у нас был день пастилы и пряников, а сегодня осваивали основы ткачества в музее Шёлковая фабрика. Соткали себе браслетики. У доченьки лучше всех получился.

Весьма медитативное занятие, как оказалось… Практически как написание проверок по CIS-бенчмаркам. 🙂

С теплотой вспоминаю продолжительный период работы в Positive Technologies (года 2-3), когда днями напролёт придумывал и пилил обработчики универсальных проверок (наличие строки в конфиге, значение параметра в конфиге, проверка прав на файлы и т.п.) на PAZL и sh, а потом описывал на них логику проверок из CIS бенчмарков для комплаенсов MaxPatrol 8. 😇 Работа понятная, конкретная, регулярная, легко планируемая, с наглядными результатами. При этом такая работа мотивирует разбираться, ЗАЧЕМ системы нужно настраивать именно так. Просто чудо, а не работа! ♥️ Нужно будет попробовать в каком-то виде вернуться к этой теме в рамках SOVA. 🙂

В отпуске поразмышлял о том, как могла бы выглядеть более жизнеспособная альтернатива OVAL-у - проект SOVA

В отпуске поразмышлял о том, как могла бы выглядеть более жизнеспособная альтернатива OVAL-у - проект SOVA

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

Пока основные идеи такие:

📃 Отказаться от XML в пользу JSON, с которым проще работать и автоматически, и вручную.

⚙️ Сохранить основную фишку OVAL-а - статусы дефинишенов определять комбинацией статусов тестов или других дефинишенов.

🧪 Типы тестов вынести из спецификации языка и упростить их заведение. Вплоть до возможности создания тестов с выполнением произвольного bash-скрипта на хосте или выполнением веб-запросов. 😈

🧭 Описание параметров тестов (объектов и стейтов) хранить прямо в блоке с логикой детектирования статуса дефинишена. Тогда не придётся бегать по разным разделам документа, чтобы понять фактическую логику детектирования. И это важнее некоторой избыточности описания. 😉