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

Eugene Grosbein eugen at grosbein.net
Mon May 13 16:09:21 EEST 2019


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.

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



More information about the freebsd mailing list