Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Security —> portaudit

контроль версий и обновление портов

Автор: Al.


Даж и не знаю, с чего начать.....
Короче,если имеется немного паранои по поводу свежести установленных портов или хочется всегда иметь последнии версии,ставим:

/usr/ports/ports-mgmt/portaudit

Эта прога не висит в памяти, а запускается как бинарник в удобное время или добавляем в periodic следующее (но у меня и без этого запускалось):

daily_status_security_portaudit_enable="YES"
daily_status_security_portaudit_expiry="2"
daily_status_security_portaudit_user="nobody"

В случае обнареженя уязвимости при запуски из periodic на рутовую почту шлется письмо.

после установки не забываем rehash и пробуем

portaudit -a -выводит отчет об уязвимости установленных портов.если че,ругается примерно так: Affected package: png-1.2.18
portaudit -C -выводит отчет об уязвимости порта, находящегося в текущей директории.В основн,для разработчиков
portaudit -F -скачиваем последнюю базу по портам (там всего-ничего)
portaudit -q - "тихий" режим
portaudit -d - смотрим,когда последний раз качалась база по портам
portaudit -V - покажет свою версию
portaudit -v - Verbose mode
portaudit -X days - загружает базу,если она старше "days"
portaudit -f <file> - проверка пакетов,описанных(перечисленных) в файле
portaudit <пакет> - информация по дырам в конкретном пакете
portaudit -r - сам не понял.. Используется для тестирования новых включений.

Также portaudit не дает устанавливать порты,версия которых младше текущей.
Порт можно скомпилить даж с уязвимостями ,если указать в /etc/make.conf
DISABLE_VULNERABILITIES=yes

Если еще и обновляться хочется легко и просто, то ставим /usr/ports/ports-mgmt/portupgrade. Далее порты обновляются так:
potupgrade <имя порта>

Не забывая при этом бэкапить конфиги

И ставятся несложно:
portinstall <имя порта>

Ключи potupgrade и portinstall

-h -показать хэлп
-a -для всех установленных пакетов
-b -сохранять бэкап пакетов предыдущих версий
-B CMD -выполнить команду перед сборкой каждого пакета
-c -сделать make clean перед сборкой каждого пакета
-C -сделать make clean после каждой инсталяции
-D -удаляет файлы из distfiles,если не сошлась контрольная сумма
-e -вывести информацию после обработки каждого порта
-f -проапгрейдить пакет,даже если это запрещено
-F -просто скачать необходимые файлы,не устанавливая их
-i -интерактивный режим.Спросят согласие на обновление каждого компонента
-j -jet-mode. не сделано пока
-k -проапгрейдить все раво, даже если какой-то компонент не удалось обновить
-l FILE -сохранить результат в файл
-L FORMAT -задать формат префикса для файла каждого порта
-m -задать аргументы команды make
-n -не устанавливать или не обновлять пакеты.Просто показать,какие действия необходимо сделать
-N -приимущественно для установки новых портов.асе необходимые пакеты обновлены
-o ORIGIN -указывает для апгрейда с указанным пакетом
-O -пропускать "правильную" проверку для зависимостей
-q -не читать конф. файл $PREFIX/etc/pkgtools.conf
-r -рекурсивное действие над пакетами,зависящими от указанного как такового (без зависимостей)
-R -рекурсивное действие над пакетами,необходимыми указанному как таковому (без зависимостей)
-s -запускать под sudo
-S CMD - указать альтернативу sudo (напр 'su root -c %s' )
-u -не сохранять старые библиотеки
-v -вывод на экран подробной информации
-w -не делать make clean перед каждой сборкой
-x GLOB -не включеть пакеты,не подходящие под шаблон GLOB.напр. pkg_info -x samba, а не samba-3.24..
-y -отвечать "да" на все вопросы


Так же есть забавная утилитка portversion, которая поставляется с portupgrade.
portversion -v -подробно показывает,версия установленного портя является последней или уже появилась более свежая.Ее аналог - pkg_version

= установленная версия является текущей

< установленная версия старше(старее) текущей.

> установленная версия новее текущей.Это может произойти,если используется старый индексный
файл или при тестировании нового порта

Также можно для отдельного пакета
portversion -v <имя пакета>

После обновления коллекции портов бавает,что make search name=portaudit находит порт,но в местонахождении в коллекции портов указывает на несуществующую директорию.Такое бывает, когда порт перемещается в другую категорию,например. Вообще make search name=portaudit не ищет по файловой системе,а обращается к специальному индексному файлу INDEX.Так вот,коллекцию мы обновили,а индексный файл остался прежним.Обновить его мона двумя путями:
Скачать свеженький с нета (при условии полного обновления коллекции портов).На официальных сайтах обновляется каждые несколько часов.качает около метра
portsdb -Fu

Или переиндексировать,основываясь на портах,находящихся в /usr/ports,но это довольно долго (делает что-то типа "cd /usr/ports; make index")
portsdb -Uu

Ну вот,вроде,и все.
С удовольствием выслушаю дополнения и ошибки





размещено: 2007-10-26,
последнее обновление: 2007-10-26,
автор: Al


dikens3, 2007-10-26 в 14:41:01

Забыл про важную команду:
portversion -vl "<"

Вывод всех пакетов имеющих обновления.

friend, 2007-10-26 в 16:20:55

ниочем

www2, 2007-10-26 в 23:54:48

Мельчает сайт, мельчает. Скоро handbook наначнёт пересказывать...

lissyara, 2007-10-27 в 0:08:19

если не читают - будем пересказывать.
==========
вместо жалоб, лучше бы написал сам статью - о крупном.

И ещё - очень многие не знают простых вещей... и дело не влени и не в манах - просто не знают. Это нормально. И их надо рассказывать. Иначе так и не узнают.

Key, 2007-10-28 в 1:20:11

Да все Ок Лис... Статья полезная для новичков, должна быть на сайте, тем более тема о секьюрности =)

гы, 2007-10-28 в 11:55:06

лис все прально делает. спасибо ему огромное.
пришлось тут намедни с фрей столкнуться... не знаю че бы я делал без этого сайта - все нужное в одном месте, доступно, без сильных излияний теории.
какочи зачот, пишы исчо :)

приходящий, 2007-10-29 в 22:02:25

хороший сайт - у мня rss отслеживается на нем.
продолжай своё дело товарищщщ  :-)

dialup, 2008-04-25 в 0:15:55

Лис все нормально... вместо того что б серфить по статьям опеннет всегда можно зайти сюда и с вероятность 90% найти статью... и не заморачиваться...

Sinyak, 2008-06-24 в 9:07:19

Как обычно куча полезной инфы для таких как я - новичнов.
Спасибо.

Перец, 2008-07-10 в 14:36:42

DISABLE_VULNERABILITIES=yes
Оч помогло =) Спасибо.

pr0x1ndei, 2009-05-28 в 4:28:33

Несомненно нужная статья, я сам о портаудит узнал при установке фри в пкаджах был рядом с портапгрейдом
поставил, попробовал, понравилось!

KrivoSoft, 2009-06-18 в 11:12:59

Недавно случайно наткнулся в портах на програмку jailaudit(ports-mgmt/jailaudit).
Она полезна в случаях, когда на машине много клеток, и в клетках не установлен portaudit и/или не настроена отправка security отчетов.
jailaudit надо ставить на основную систему, добавлять daily_status_security_jailaudit_enable="YES" в /etc/periodic.conf и после получать в security отчете инфо о уязвимом софте по всех клетках.

prince, 2012-01-14 в 18:05:53

Очень полезные вещи на сайте. Очень рад вашему проекту!
При работе с портами можно посоветьать малую утилиту ports-mgmt/xps.  Чем то схожа с eix в gentoo. Позволяет легко искать пакеты в портах.



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0356 секунд
Из них PHP: 21%; SQL: 79%; Число SQL-запросов: 77 шт.
Исходный размер: 26887; Сжатая: 7621