[freebsd] jailaudit и репозиторий pkg FreeBSD-latest

Konstantin Stefanov cstef at parallel.ru
Tue May 14 09:41:09 EEST 2019


On 13.05.2019 16:09, Eugene Grosbein wrote:
> 13.05.2019 14:48, Konstantin Stefanov пишет:
> 
>> Приветствую.
>>
>> Есть у меня сервер с несколькими jail. В одном из джейлов для pkg заведен репозиторий вот в такой конфигурации:
>> FreeBSD-latest: {
>>    url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
>>    mirror_type: "srv",
>>    signature_type: "fingerprints",
>>    fingerprints: "/usr/share/keys/pkg",
>>    enabled: yes,
>>    priority: 1
>> }
>>
>> И есть на это сервере пакет jailaudit, который, в принципе, должен для всех джейлов сделать pkg audit, и результат выдать в ежедневную выдачу security. И вот на этот джейл этот самый jailaudit вываливает кучу сообщений типа
>>
>> FreeBSD-latest.meta is vulnerable:
>> openssh -- multiple vulnerabilities
>> CVE: CVE-2006-5051
>> CVE: CVE-2006-4924
>> WWW: https://vuxml.FreeBSD.org/freebsd/32db37a5-50c3-11db-acf3-000c6ec775d9.html
>>
>> с CVE лохматых годов, которые, очевидно, в текущей версии уже закрыты.
>> Небольшие разборки показали, что список пакетов (кроме стандартного pkg query -a) jailaudit дополняет при помощи
>> ls -1 /var/db/pkg/ |grep -v '.sqlite$' |grep -v 'auditfile'|grep -v 'vuln.xml'
>> и файл /var/db/pkg/FreeBSD-latest.meta попадает в список установленных пакетов, после чего передается в pkg audit FreeBSD-latest.meta и получается простыня непойми чего.
>>
>> Собственно вопросы:
>> 1. А зачем вообще смотреть на файлы в /var/db/pkg и отдавать их имена в pkg audit, что там может быть такого интересного?
>> 2. Зачем вообще в базе, куда смотрит pkg audit, запись с ключом FreeBSD-latest.meta и содержимым за много-много лет?
>> 3. А я чем-то рискую, выкинув файлы .meta из рассмотрения (добавив еще один grep -v в скрипт?
>>
>> Ну и может вообще у кого-то есть мысли по поводу?
> 
> Не знаю ответов на вопросы, но судя по pkg-descr порта jailaudit, это очень старый порт,
> который появился, когда pkgng ещё не было в природе и вместо pkg audit использовался
> portaduit.
Это да, но потом туда пришла поддержка pkg audit.

> jailaudit решает несуществующую нынче проблему и IMHO не нужен вообще.
> Вполне достаточного коротенького скрипта типа такого:
> 
> jls | awk 'NR>1 {print $3, $4}' | while read name root
> do
>    printf "\nAudit for $name:\n"
>    env PKG_DBDIR=$root/var/db/pkg pkg audit
> done
> 
В общем, он примерно это и делает. Плюс ставит скрипт в 
periodic/security, и отчет приходит в общем security output.

Как по мне, так если есть готовый пакет, который делает то, что мне 
надо, я поставлю его, и не буду потом при апгрейде вспоминать, что там 
за скрипты и почему что-то отвалилось. И сейчас мне проще поправить 
готовый скрипт, чем делать свое. Основной вопрос - зачем он все-таки 
смотрит в /var/db/pkg (может, там раньше что-то было, по чему можно 
определить имена установленных пакетов) и насколько безопасно ему это 
оторвать?

-- 
Константин Стефанов,

Лаборатория параллельных информационных технологий НИВЦ МГУ

тел. +7 (495) 939-23-41


More information about the freebsd mailing list