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
_______________________________________________
freebsd mailing list
[email protected]
http://mailman.uafug.org.ua/mailman/listinfo/freebsd