За время работы администратором я столько раз сталкивался с таким небрежным отношением к установке приложений и последующей их поддержки в актуальном состоянии.
Многие начинающие администраторы, скорее всего считают, что довольно неплохо следят за своей системой и ее безопасностью. Но возможно для некоторых из них эта статья станет поучительной.
Начнем:
Что нового можно придумать в порядке установки портов в FreeBSD? Стандартная схема имеет такой вид:
Но постойте, обращаете ли вы внимание, на вывод команды make install clean? Или вы только ждете сообщения об успешной установке приложения?
Наверняка многие из вас видели следующую строчку, пробегающую при выполнении команды make install clean:
(взято из первого найденного по гуглу топика)
Теперь внимательно прочитайте строчку и поймите ее смысл. Для того, чтобы больше эта строка не появлялась при установке и для того, чтобы вы всегда были в курсе уязвимостей в портах вам надо установить небольшой порт, под названием Portaudit.
Приступим:
Теперь выполним, то что он просит. А именно, проверим все установленные порты на известные уязвимости:
Как видим при проверке была обнаружена уязвимость, а значит порт надо обновить. А это тема уже другой статьи, которую я напишу пожже. ( Сначала хочу закончить статью о монтировании SFTP дисков). Но для многих портов подойдет обычный pkg_delete и повторная установка.
Теперь при установке порта мы будем видеть:
Это означает, что порт с уязвимостью или багом. И ставить его вам не дадут. Вам надо либо обновить порты и попробовать снова, либо воспользоваться ключиком:
Portaudit можно применять и в повседневной жизни: например для проверки уязвимостей в портах:
Базу уязвимостей надо периодически обновлять(засуньте в крон, а иначе начнете получать предупреждения при установке портов о том, что
Две предыдущие команды можно объединить в одну, что будет разумнее для разовой проверки:
Остальные возможности можно прочитать в man
Удачи и оставайтесь защищенными всегда!
Многие начинающие администраторы, скорее всего считают, что довольно неплохо следят за своей системой и ее безопасностью. Но возможно для некоторых из них эта статья станет поучительной.
Начнем:
Что нового можно придумать в порядке установки портов в 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
Удачи и оставайтесь защищенными всегда!