Как стать автором
Обновить

Portaudit: безопастность ваших портов в FreeBSD

За время работы администратором я столько раз сталкивался с таким небрежным отношением к установке приложений и последующей их поддержки в актуальном состоянии.
Многие начинающие администраторы, скорее всего считают, что довольно неплохо следят за своей системой и ее безопасностью. Но возможно для некоторых из них эта статья станет поучительной.

Начнем:

Что нового можно придумать в порядке установки портов в FreeBSD? Стандартная схема имеет такой вид:

whereis app
cd /usr/ports/.../app
make
make install clean
rehash


Но постойте, обращаете ли вы внимание, на вывод команды make install clean? Или вы только ждете сообщения об успешной установке приложения?

Наверняка многие из вас видели следующую строчку, пробегающую при выполнении команды make install clean:
(взято из первого найденного по гуглу топика)

cd /usr/ports/graphics/kdegraphics3/
#Make
===> Vulnerability check disabled, database not found <<<< Именно эту, я даже не знаю, как еще жирнее выделить
===> Found saved configuration for kdegraphics-3.5.3
===> Extracting for kdegraphics-3.5.3


Теперь внимательно прочитайте строчку и поймите ее смысл. Для того, чтобы больше эта строка не появлялась при установке и для того, чтобы вы всегда были в курсе уязвимостей в портах вам надо установить небольшой порт, под названием Portaudit.

Приступим:

test# whereis portaudit
portaudit: /usr/ports/ports-mgmt/portaudit
test# cd /usr/ports/ports-mgmt/portaudit
test# make
===> Vulnerability check disabled, database not found
===> Extracting for portaudit-0.5.12
===> Patching for portaudit-0.5.12
===> Configuring for portaudit-0.5.12
===> Building for portaudit-0.5.12
test# make install clean
===> Installing for portaudit-0.5.12
===> Generating temporary packing list //// Заметьте, система не выводит предупреждения =)
===> Checking if ports-mgmt/portaudit already installed

===> To check your installed ports for known vulnerabilities now, do:

/usr/local/sbin/portaudit -Fda

===> Compressing manual pages for portaudit-0.5.12
===> Registering installation for portaudit-0.5.12
===> Cleaning for portaudit-0.5.12
test# rehash



Теперь выполним, то что он просит. А именно, проверим все установленные порты на известные уязвимости:

test# /usr/local/sbin/portaudit -Fda
auditfile.tbz 100% of 54 kB 53 kBps
New database installed.
Database created: Mon Feb 23 03:40:01 MSK 2009
Affected package: perl-5.8.8_1
Type of problem: perl -- Directory Permissions Race Condition.
<<<< Опа, обнаружена уязвимость/баг
Reference: <www.FreeBSD.org/ports/portaudit/4a99d61c-f23a-11dd-9f55-0030843d3802.html
>

1 problem(s) in your installed packages found.

You are advised to update or deinstall the affected package(s) immediately.



Как видим при проверке была обнаружена уязвимость, а значит порт надо обновить. А это тема уже другой статьи, которую я напишу пожже. ( Сначала хочу закончить статью о монтировании SFTP дисков). Но для многих портов подойдет обычный pkg_delete и повторная установка.

Теперь при установке порта мы будем видеть:
/usr/ports/sysutils/php5-posix
===> php5-posix-5.2.6 has known vulnerabilities:
=> php -- input validation error in posix_access function.
Reference: < http://www.FreeBSD.org/ports/portaudit/ee6fa2bd-406a-11dd-936a-0015af872849.html >
=> Please update your ports tree and try again.
*** Error code 1

Stop in /usr/ports/sysutils/php5-posix.
*** Error code 1

Stop in /usr/ports/lang/php5-extensions.
*** Error code 1

Stop in /usr/ports/lang/php5-extensions.


Это означает, что порт с уязвимостью или багом. И ставить его вам не дадут. Вам надо либо обновить порты и попробовать снова, либо воспользоваться ключиком:

make -DDISABLE_VULNERABILITIES

Portaudit можно применять и в повседневной жизни: например для проверки уязвимостей в портах:

portaudit -a

Базу уязвимостей надо периодически обновлять(засуньте в крон, а иначе начнете получать предупреждения при установке портов о том, что database is out of date):
portaudit -F

Две предыдущие команды можно объединить в одну, что будет разумнее для разовой проверки:

portaudit -Fda

Остальные возможности можно прочитать в man

Удачи и оставайтесь защищенными всегда!
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.