Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-doc
Path: blob/main/documentation/content/ru/books/porters-handbook/security/_index.po
18099 views
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR The FreeBSD Project
# This file is distributed under the same license as the FreeBSD Documentation package.
# Vladlen Popolitov <[email protected]>, 2025, 2026.
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
"POT-Creation-Date: 2025-08-17 20:54+0100\n"
"PO-Revision-Date: 2026-04-05 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <[email protected]>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksporters-handbooksecurity_index/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"

#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/security/_index.adoc:1
#, no-wrap
msgid "Security instructions when making a FreeBSD Port"
msgstr "Инструкции по безопасности при создании порта FreeBSD"

#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/security/_index.adoc:1
#, no-wrap
msgid "Chapter 12. Security"
msgstr "Глава 12. Безопасность портов"

#. type: Title =
#: documentation/content/en/books/porters-handbook/security/_index.adoc:14
#, no-wrap
msgid "Security"
msgstr "Безопасность"

#. type: Title ==
#: documentation/content/en/books/porters-handbook/security/_index.adoc:52
#, no-wrap
msgid "Why Security is So Important"
msgstr "Почему безопасность так важна"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:58
msgid ""
"Bugs are occasionally introduced to the software.  Arguably, the most "
"dangerous of them are those opening security vulnerabilities.  From the "
"technical viewpoint, such vulnerabilities are to be closed by exterminating "
"the bugs that caused them.  However, the policies for handling mere bugs and "
"security vulnerabilities are very different."
msgstr ""
"Ошибки в программном обеспечении появляются случайно. Возможно, самые "
"опасные из них те, что создают уязвимости безопасности. С технической точки "
"зрения подобные уязвимости должны быть закрыты путем исправления вызывающих "
"их ошибок. Тем не менее, политики обработки несущественных ошибок и "
"уязвимостей очень различаются."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:64
msgid ""
"A typical small bug affects only those users who have enabled some "
"combination of options triggering the bug.  The developer will eventually "
"release a patch followed by a new version of the software, free of the bug, "
"but the majority of users will not take the trouble of upgrading immediately "
"because the bug has never vexed them.  A critical bug that may cause data "
"loss represents a graver issue.  Nevertheless, prudent users know that a lot "
"of possible accidents, besides software bugs, are likely to lead to data "
"loss, and so they make backups of important data; in addition, a critical "
"bug will be discovered really soon."
msgstr ""
"Обычная небольшая ошибка затрагивает только тех пользователей, которые "
"задействуют некоторые комбинации настроек, активирующие эту ошибку. "
"Разработчик в конечном счете выпустит патч, а зачтем новую версию "
"программного обеспечения, свободного от ошибки, но большинство пользователей "
"не посчитают нужным сразу же произвести обновление, поскольку эта ошибка "
"никогда у них не проявлялась. Критическая ошибка, которая может приводить к "
"потере данных, представляет серьезную проблему. Тем не менее, "
"предусмотрительные пользователи знают, что большинство возможных "
"происшествий, и среди них программные ошибки, скорее всего приводят к потере "
"данных, поэтому они выполняют резервное копирование важных данных; "
"дополнительно, критическая ошибка будет обнаружена очень скоро."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:72
msgid ""
"A security vulnerability is all different.  First, it may remain unnoticed "
"for years because often it does not cause software malfunction.  Second, a "
"malicious party can use it to gain unauthorized access to a vulnerable "
"system, to destroy or alter sensitive data; and in the worst case the user "
"will not even notice the harm caused.  Third, exposing a vulnerable system "
"often assists attackers to break into other systems that could not be "
"compromised otherwise.  Therefore closing a vulnerability alone is not "
"enough: notify the audience of it in the most clear and comprehensive "
"manner, which will allow them to evaluate the danger and take appropriate "
"action."
msgstr ""
"С уязвимостью безопасности всё иначе. Во-первых, она может сохраняться "
"необнаруженной целые годы, потому что чаще всего не вызывает ошибок в "
"работе. Во-вторых, компания злоумышленников может использовать её для "
"получения неавторизованного доступа к уязвимой системе, уничтожить или "
"подменить важные данные; в худшем случае пользователь даже не заметит "
"нанесенный урон. В-третьих, взлом уязвимой системы часто упрощает задачу "
"проникновения атакующих в другие системы, которые не могут быть "
"скомпрометированы иначе. Таким образом, устранение уязвимости как таковой "
"недостаточно: следует разослать всем заинтересованным уведомления в наиболее "
"понятной и исчерпывающей форме, что позволит оценить риск и предпринять "
"подходящие меры."

#. type: Title ==
#: documentation/content/en/books/porters-handbook/security/_index.adoc:74
#, no-wrap
msgid "Fixing Security Vulnerabilities"
msgstr "Исправление уязвимостей безопасности"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:82
msgid ""
"While on the subject of ports and packages, a security vulnerability may "
"initially appear in the original distribution or in the port files.  In the "
"former case, the original software developer is likely to release a patch or "
"a new version instantly.  Update the port promptly with respect to the "
"author's fix.  If the fix is delayed for some reason, either crossref:"
"porting-dads[dads-noinstall,mark the port as `FORBIDDEN`] or introduce a "
"patch file to the port.  In the case of a vulnerable port, just fix the port "
"as soon as possible.  In either case, follow crossref:port-upgrading[port-"
"upgrading,the standard procedure for submitting changes] unless having "
"rights to commit it directly to the ports tree."
msgstr ""
"Что касается портов и пакетов, уязвимость безопасности изначально может "
"появиться в исходном дистрибутиве или файлах порта. В первом случае, "
"разработчик исходного программного обеспечения скорее всего сразу же "
"выпустит патч или новую версию, и вам лишь понадобится сразу обновить порт в "
"соответствии с исправлением автора. Если исправление по какой-то причине "
"задерживается, вам следует либо crossref:porting-dads[dads-noinstall,"
"пометить порт как `FORBIDDEN`], либо добавить в порт ваш собственный патч. В "
"случае уязвимости порта просто исправьте этот порт как можно скорее. В любом "
"случае нужно следовать crossref:port-upgrading[port-upgrading,стандартной "
"процедуре отправки вашего изменения], если вы не обладаете правами на коммит "
"изменения непосредственно в дерево портов."

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:87
msgid ""
"Being a ports committer is not enough to commit to an arbitrary port.  "
"Remember that ports usually have maintainers, must be respected."
msgstr ""
"Быть коммиттером портов недостаточно для коммита произвольного порта. "
"Помните, что обычно у портов есть сопровождающие, мнение которых вы должны "
"учитывать."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:95
msgid ""
"Please make sure that the port's revision is bumped as soon as the "
"vulnerability has been closed.  That is how the users who upgrade installed "
"packages on a regular basis will see they need to run an update.  Besides, a "
"new package will be built and distributed over FTP and WWW mirrors, "
"replacing the vulnerable one.  Bump `PORTREVISION` unless `DISTVERSION` has "
"changed in the course of correcting the vulnerability.  That is, bump "
"`PORTREVISION` if adding a patch file to the port, but do not bump it if "
"updating the port to the latest software version and thus already touched "
"`DISTVERSION`.  Please refer to the crossref:makefiles[makefile-naming-"
"revepoch,corresponding section] for more information."
msgstr ""
"Пожалуйста, убедитесь, что ревизия порта после закрытия уязвимости "
"увеличена. Вот как пользователи, обновляющие установленные пакеты на "
"постоянной основе, увидят, что им нужно запустить обновление. Кроме того, "
"новый пакет будет собран и распространен через FTP и WWW зеркала, замещая "
"уязвимый. Если в процессе исправления уязвимости не было изменено значение "
"`PORTVERSION`, то должно быть увеличено значение `PORTREVISION`. Вам следует "
"увеличить значение `PORTREVISION` после добавления в порт файла с патчем, но "
"не когда вы обновили порт до последней версии программного обеспечения, "
"попутно затронув при этом `PORTVERSION`. За дальнейшей информацией "
"обращайтесь к crossref:makefiles[makefile-naming-revepoch,соответствующему "
"разделу]."

#. type: Title ==
#: documentation/content/en/books/porters-handbook/security/_index.adoc:97
#, no-wrap
msgid "Keeping the Community Informed"
msgstr "Обеспечение сообщества информацией"

#. type: Title ===
#: documentation/content/en/books/porters-handbook/security/_index.adoc:100
#, no-wrap
msgid "The VuXML Database"
msgstr "База данных VuXML"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:108
msgid ""
"A very important and urgent step to take as early after a security "
"vulnerability is discovered as possible is to notify the community of port "
"users about the jeopardy.  Such notification serves two purposes.  First, if "
"the danger is really severe it will be wise to apply an instant workaround.  "
"For example, stop the affected network service or even deinstall the port "
"completely until the vulnerability is closed.  Second, a lot of users tend "
"to upgrade installed packages only occasionally.  They will know from the "
"notification that they _must_ update the package without delay as soon as a "
"corrected version is available."
msgstr ""
"Очень важным и первостепенным шагом при действии как можно раньше после "
"раскрытия уязвимости является уведомление сообщества пользователей порта об "
"опасности. Такие уведомления служат двум целям. Во-первых, в случае "
"действительно серьезной угрозы, будет посоветовано применить мгновенное "
"воздействие. Например, остановить затрагиваемый сетевой сервис или даже "
"удалить порт целиком, пока уязвимость не будет устранена. Во-вторых, масса "
"пользователей имеет тенденцию обновлять установленные пакеты только от "
"случая к случаю. Из уведомления они узнают, что _должны_ обновить пакет без "
"промедления сразу же после появления исправленной версии."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:112
msgid ""
"Given the huge number of ports in the tree, a security advisory cannot be "
"issued on each incident without creating a flood and losing the attention of "
"the audience when it comes to really serious matters.  Therefore security "
"vulnerabilities found in ports are recorded in https://vuxml.freebsd.org/"
"[the FreeBSD VuXML database].  The Security Officer Team members also "
"monitor it for issues requiring their intervention."
msgstr ""
"Учитывая огромное число портов в дереве, невозможно по каждому случаю "
"выпускать бюллетень безопасности без создания флуда и потери внимания "
"сообщества к моменту появления действительно серьезных причин. Поэтому "
"уязвимости безопасности, обнаруженные в портах, записываются в http://vuxml."
"freebsd.org/[базу данных FreeBSD VuXML]. Члены Команды Офицеров Безопасности "
"также отслеживают её на предмет появления вопросов, требующих их "
"вмешательства."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:115
msgid ""
"Committers can update the VuXML database themselves, assisting the Security "
"Officer Team and delivering crucial information to the community more "
"quickly.  Those who are not committers or have discovered an exceptionally "
"severe vulnerability should not hesitate to contact the Security Officer "
"Team directly, as described on the https://www.freebsd.org/security/"
"#how[FreeBSD Security Information] page."
msgstr ""
"Если вы обладаете правами коммиттера, вы можете сам обновить базу данных "
"VuXML. Так вы поможете Команде Офицеров Безопасности и своевременно пошлете "
"ценную информацию сообществу. Тем не менее, если вы не являетесь коммиттером "
"или верите, что нашли исключительно серьезную уязвимость, то не задумываясь "
"свяжитесь с Командой Офицеров Безопасности напрямую как это описано на "
"странице https://www.freebsd.org/security/#how[информационной безопасности "
"FreeBSD]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:121
msgid ""
"The VuXML database is an XML document.  Its source file [.filename]#vuln."
"xml# is kept right inside the port package:security/vuxml[].  Therefore the "
"file's full pathname will be [.filename]#PORTSDIR/security/vuxml/vuln.xml#.  "
"Each time a security vulnerability is discovered in a port, please add an "
"entry for it to that file.  Until familiar with VuXML, the best thing to do "
"is to find an existing entry fitting the case at hand, then copy it and use "
"it as a template."
msgstr ""
"База данных VuXML является документом XML. Его исходный файл [.filename]#vuln"
".xml# содержится прямо внутри порта package:security/vuxml[]. Следовательно, "
"полное имя пути к файлу будет [.filename]#PORTSDIR/security/vuxml/vuln.xml#. "
"Каждый раз, при обнаружении вами в порте уязвимости безопасности добавьте об "
"этом запись в этот файл. Пока вы не знакомы с VuXML, лучшее, что вы можете "
"сделать, это найти существующую запись, подпадающую под ваш случай, затем "
"скопировать её и использовать в качестве шаблона."

#. type: Title ===
#: documentation/content/en/books/porters-handbook/security/_index.adoc:123
#, no-wrap
msgid "A Short Introduction to VuXML"
msgstr "Короткое вступление в VuXML"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:135
msgid ""
"The full-blown XML format is complex, and far beyond the scope of this "
"book.  However, to gain basic insight on the structure of a VuXML entry only "
"the notion of tags is needed.  XML tag names are enclosed in angle "
"brackets.  Each opening <tag> must have a matching closing </tag>.  Tags may "
"be nested.  If nesting, the inner tags must be closed before the outer ones. "
"There is a hierarchy of tags, that is, more complex rules of nesting them.  "
"This is similar to HTML.  The major difference is that XML is "
"e__X__tensible, that is, based on defining custom tags.  Due to its "
"intrinsic structure XML puts otherwise amorphous data into shape.  VuXML is "
"particularly tailored to mark up descriptions of security vulnerabilities."
msgstr ""
"В совокупности XML является очень сложным форматом, и его описание выходит "
"далеко за рамки этой книги. Тем не менее, для достижения основного понимания "
"структуры записи VuXML вам понадобится всего лишь понять теги. Имена тегов "
"XML обрамляются в угловые скобки. Каждый открывающий <tag> должен иметь "
"совпадающий закрывающий </tag>. Теги могут быть вложенными. При вложенности "
"внутренние теги должны быть закрыты до закрытия внешних. Существует иерархия "
"тегов, т.е. более сложные правила вкладывания тегов. Это похоже на HTML. "
"Основное отличие в расширяемости XML, т.е. в определении собственных тегов. "
"Из-за своей характерной структуры XML придает форму разрозненным данным. В "
"частности, XML подходит для разметки описаний уязвимостей безопасности."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:137
msgid "Now consider a realistic VuXML entry:"
msgstr "Теперь рассмотрим настоящую запись VuXML:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:184
#, no-wrap
msgid ""
"<vuln vid=\"f4bc80f4-da62-11d8-90ea-0004ac98a7b9\"> <.>\n"
"  <topic>Several vulnerabilities found in Foo</topic> <.>\n"
"  <affects>\n"
"    <package>\n"
"      <name>foo</name> <.>\n"
"      <name>foo-devel</name>\n"
"      <name>ja-foo</name>\n"
"      <range><ge>1.6</ge><lt>1.9</lt></range> <.>\n"
"      <range><ge>2.*</ge><lt>2.4_1</lt></range>\n"
"      <range><eq>3.0b1</eq></range>\n"
"    </package>\n"
"    <package>\n"
"      <name>openfoo</name> <.>\n"
"      <range><lt>1.10_7</lt></range> <.>\n"
"      <range><ge>1.2,1</ge><lt>1.3_1,1</lt></range>\n"
"    </package>\n"
"  </affects>\n"
"  <description>\n"
"    <body xmlns=\"http://www.w3.org/1999/xhtml\">\n"
"      <p>J. Random Hacker reports:</p> <.>\n"
"      <blockquote\n"
"        cite=\"http://j.r.hacker.com/advisories/1\">\n"
"        <p>Several issues in the Foo software may be exploited\n"
"          via carefully crafted QUUX requests.  These requests will\n"
"          permit the injection of Bar code, mumble theft, and the\n"
"          readability of the Foo administrator account.</p>\n"
"      </blockquote>\n"
"    </body>\n"
"  </description>\n"
"  <references> <.>\n"
"    <freebsdsa>SA-10:75.foo</freebsdsa> <.>\n"
"    <freebsdpr>ports/987654</freebsdpr> <.>\n"
"    <cvename>CVE-2023-48795</cvename> <.>\n"
"    <certvu>740169</certvu> <.>\n"
"    <uscertta>SA10-99A</uscertta> <.>\n"
"    <mlist msgid=\"[email protected]\">http://marc.theaimsgroup.com/?l=bugtraq&amp;m=203886607825605</mlist> <.>\n"
"    <url>http://j.r.hacker.com/advisories/1</url> <.>\n"
"  </references>\n"
"  <dates>\n"
"    <discovery>2010-05-25</discovery> <.>\n"
"    <entry>2010-07-13</entry> <.>\n"
"    <modified>2010-09-17</modified> <.>\n"
"  </dates>\n"
"</vuln>\n"
msgstr ""
"<vuln vid=\"f4bc80f4-da62-11d8-90ea-0004ac98a7b9\"> <.>\n"
"  <topic>Several vulnerabilities found in Foo</topic> <.>\n"
"  <affects>\n"
"    <package>\n"
"      <name>foo</name> <.>\n"
"      <name>foo-devel</name>\n"
"      <name>ja-foo</name>\n"
"      <range><ge>1.6</ge><lt>1.9</lt></range> <.>\n"
"      <range><ge>2.*</ge><lt>2.4_1</lt></range>\n"
"      <range><eq>3.0b1</eq></range>\n"
"    </package>\n"
"    <package>\n"
"      <name>openfoo</name> <.>\n"
"      <range><lt>1.10_7</lt></range> <.>\n"
"      <range><ge>1.2,1</ge><lt>1.3_1,1</lt></range>\n"
"    </package>\n"
"  </affects>\n"
"  <description>\n"
"    <body xmlns=\"http://www.w3.org/1999/xhtml\">\n"
"      <p>J. Random Hacker reports:</p> <.>\n"
"      <blockquote\n"
"        cite=\"http://j.r.hacker.com/advisories/1\">\n"
"        <p>Several issues in the Foo software may be exploited\n"
"          via carefully crafted QUUX requests.  These requests will\n"
"          permit the injection of Bar code, mumble theft, and the\n"
"          readability of the Foo administrator account.</p>\n"
"      </blockquote>\n"
"    </body>\n"
"  </description>\n"
"  <references> <.>\n"
"    <freebsdsa>SA-10:75.foo</freebsdsa> <.>\n"
"    <freebsdpr>ports/987654</freebsdpr> <.>\n"
"    <cvename>CVE-2023-48795</cvename> <.>\n"
"    <certvu>740169</certvu> <.>\n"
"    <uscertta>SA10-99A</uscertta> <.>\n"
"    <mlist msgid=\"[email protected]\">http://marc.theaimsgroup.com/?l=bugtraq&amp;m=203886607825605</mlist> <.>\n"
"    <url>http://j.r.hacker.com/advisories/1</url> <.>\n"
"  </references>\n"
"  <dates>\n"
"    <discovery>2010-05-25</discovery> <.>\n"
"    <entry>2010-07-13</entry> <.>\n"
"    <modified>2010-09-17</modified> <.>\n"
"  </dates>\n"
"</vuln>\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:187
msgid ""
"The tag names are supposed to be self-explanatory so we shall take a closer "
"look only at fields which needs to be filled in:"
msgstr ""
"Имена тегов должны быть самодокументируемыми, чтобы мы сфокусировались "
"только на полях, нужных нам для заполнения:"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:190
msgid ""
"This is the top-level tag of a VuXML entry. It has a mandatory attribute, "
"`vid`, specifying a universally unique identifier (UUID) for this entry (in "
"quotes). Generate a UUID for each new VuXML entry (and do not forget to "
"substitute it for the template UUID unless writing the entry from scratch).  "
"Use man:uuidgen[1] to generate a VuXML UUID."
msgstr ""
"Это тег верхнего уровня записи VuXML. У него есть обязательный атрибут `vid`"
", указывающий на универсальный уникальный идентификатор (UUID) для этой "
"записи (в кавычках). Вы должны формировать UUID для каждой новой записи "
"VuXML (и не забудьте заменить её для шаблона UUID, если вы не пишете запись "
"с нуля). Для получения VuXML UUID вы можете использовать man:uuidgen[1]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:192
msgid "This is a one-line description of the issue found."
msgstr "Однострочное описание найденной проблемы."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:194
msgid ""
"The names of packages affected are listed there. Multiple names can be given "
"since several packages may be based on a single master port or software "
"product. This may include stable and development branches, localized "
"versions, and slave ports featuring different choices of important build-"
"time configuration options."
msgstr ""
"Здесь перечислены имена затронутых пакетов. Может быть дано несколько имен, "
"поскольку некоторые пакеты могут быть основаны на одном главном порте или "
"программном продукте. Сюда можно включить стабильную ветвь и ветвь "
"разработки, локализованные версии и подчиненные порты, зависящие от "
"различного выбора важных вариантов конфигурации, указанных на этапе "
"построения."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:198
#, no-wrap
msgid ""
"Affected versions of the package(s) are specified there as one or more ranges using a combination of `<lt>`, `<le>`, `<eq>`, `<ge>`, and `<gt>` elements. Check that the version ranges given do not overlap.\n"
"In a range specification, `\\*` (asterisk) denotes the smallest version number. In particular, `2.*` is less than `2.a`. Therefore an asterisk may be used for a range to match all possible `alpha`, `beta`, and `RC` versions. For instance, `<ge>2.*</ge><lt>3.*</lt>` will selectively match every `2.x` version while `<ge>2.0</ge><lt>3.0</lt>` will not since the latter misses `2.r3` and matches `3.b`.\n"
"The above example specifies that affected are versions `1.6` and up to but not including `1.9`, versions `2.x` before `2.4_1`, and version `3.0b1`."
msgstr ""
"Затронутые версии пакета(ов) указаны там как один или несколько диапазонов с использованием комбинации элементов `<lt>`, `<le>`, `<eq>`, `<ge>` и `<gt>`. Убедитесь, что указанные диапазоны версий не перекрываются.\n"
"В спецификации диапазона `\\*` (звёздочка) обозначает наименьший номер версии. В частности, `2.*` меньше, чем `2.a`. Таким образом, звёздочка может использоваться в диапазоне для соответствия всем возможным версиям `alpha`, `beta` и `RC`. Например, `<ge>2.*</ge><lt>3.*</lt>` выборочно соответствует каждой версии `2.x`, тогда как `<ge>2.0</ge><lt>3.0</lt>` — нет, поскольку последний пропускает `2.r3` и включает `3.b`.\n"
"Приведённый пример указывает, что затронуты версии `1.6` и выше, но не включая `1.9`, версии `2.x` до `2.4_1` и версия `3.0b1`."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:200
msgid ""
"Several related package groups (essentially, ports) can be listed in the "
"`<affected>` section. This can be used if several software products (say "
"FooBar, FreeBar and OpenBar) grow from the same code base and still share "
"its bugs and vulnerabilities. Note the difference from listing multiple "
"names within a single <package> section."
msgstr ""
"Некоторые связанные группы пакетов (в конечном счете, порты) могут быть "
"указаны в разделе `<affected>`. Это можно использовать, если некоторые "
"программные продукты (скажем, FooBar, FreeBar and OpenBar) являются "
"производными от общей кодовой базы и всё ещё совместно используют её ошибки "
"и уязвимости. Имейте в виду отличие от перечисления множественных имён в "
"одном разделе <package>."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:202
msgid ""
"The version ranges have to allow for `PORTEPOCH` and `PORTREVISION` if "
"applicable. Please remember that according to the collation rules, a version "
"with a non-zero `PORTEPOCH` is greater than any version without `PORTEPOCH`, "
"for example, `3.0,1` is greater than `3.1` or even than `8.9`."
msgstr ""
"Диапазоны версий должны учитывать `PORTEPOCH` и `PORTREVISION`, если это "
"применимо. Пожалуйста, помните, что в соответствии с правилами сравнения "
"строк версия с ненулевым значением `PORTEPOCH` выше, чем любая версия без "
"`PORTEPOCH`, например, `3.0,1` выше, чем `3.1` или даже `8.9`."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:204
msgid ""
"This is a summary of the issue. XHTML is used in this field. At least "
"enclosing `<p>` and `</p>` has to appear. More complex mark-up may be used, "
"but only for the sake of accuracy and clarity: No eye candy please."
msgstr ""
"Сводная информация о проблеме. В этом поле используется XHTML. По крайней "
"мере, должны быть обрамляющие `<p>` и `</p>`. Может быть использована более "
"сложная разметка, но только в целях аккуратности и ясности: без эстетства, "
"пожалуйста."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:206
msgid ""
"This section contains references to relevant documents. As many references "
"as apply are encouraged."
msgstr ""
"Этот раздел содержит ссылки на имеющие отношение документы. Приветствуется "
"как можно большее количество ссылок."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:208
msgid ""
"This is a https://www.freebsd.org/security/#adv[FreeBSD security advisory]."
msgstr ""
"Это https://www.freebsd.org/security/#adv[бюллетень безопасности FreeBSD]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:210
msgid "This is a https://www.freebsd.org/support/[FreeBSD problem report]."
msgstr "Это https://www.freebsd.org/support/[сообщение об ошибке FreeBSD]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:212
msgid "This is a https://cve.mitre.org/[MITRE CVE] identifier."
msgstr "Идентификатор https://cve.mitre.org/[MITRE CVE]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:214
msgid "This is a https://www.kb.cert.org/vuls/[US-CERT] vulnerability note."
msgstr "Это https://www.kb.cert.org/vuls/[SecurityFocus Bug ID]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:216
msgid ""
"This is a https://www.cisa.gov/news-events/cybersecurity-advisories[US-CERT] "
"Technical Cyber Security Alert."
msgstr ""
"Бюллетень безопасности https://www.cisa.gov/news-events/cybersecurity-"
"advisories[US-CERT]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:218
msgid ""
"This is a URL to an archived posting in a mailing list. The attribute "
"`msgid` is optional and may specify the message ID of the posting."
msgstr ""
"URL к архивному сообщению в списке рассылки. Атрибут `msgid` является "
"необязательным и может указывать на message ID сообщения."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:220
msgid ""
"This is a generic URL. Only it if none of the other reference categories "
"apply."
msgstr ""
"Это общий URL. Используйте его только если ни одна из других категорий "
"ссылок не подходит."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:222
msgid "This is the date when the issue was disclosed (_YYYY-MM-DD_)."
msgstr "Это дата, когда проблема была раскрыта (_ГГГГ-ММ-ДД_)."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:224
msgid "This is the date when the entry was added (_YYYY-MM-DD_)."
msgstr "Это дата добавления записи (_ГГГГ-ММ-ДД_)."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:226
msgid ""
"This is the date when any information in the entry was last modified (_YYYY-"
"MM-DD_). New entries must not include this field. Add it when editing an "
"existing entry."
msgstr ""
"Это дата, когда любая информация в записи была последний раз изменена (_ГГГГ-"
"ММ-ДД_). Новые записи не должны включать это поле. Добавьте его при "
"редактировании существующей записи."

#. type: Title ===
#: documentation/content/en/books/porters-handbook/security/_index.adoc:228
#, no-wrap
msgid "Testing Changes to the VuXML Database"
msgstr "Тестирование ваших изменений в базе данных VuXML"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:231
msgid ""
"This example describes a new entry for a vulnerability in the package "
"`dropbear` that has been fixed in version `dropbear-2013.59`."
msgstr ""
"Этот пример описывает новую запись об уязвимости в пакете `dropbear`, "
"которая была исправлена в версии `dropbear-2013.59`."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:233
msgid ""
"As a prerequisite, install a fresh version of package:security/vuxml[] port."
msgstr ""
"В качестве предварительного условия установите свежую версию порта package:"
"security/vuxml[]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:236
msgid ""
"First, check whether there already is an entry for this vulnerability.  If "
"there were such an entry, it would match the previous version of the "
"package, `2013.58`:"
msgstr ""
"Сначала проверьте, есть ли уже запись об этой уязвимости. Если бы такая "
"запись существовала, она соответствовала бы предыдущей версии пакета "
"`2013.58`:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:240
#, no-wrap
msgid "% pkg audit dropbear-2013.58\n"
msgstr "% pkg audit dropbear-2013.58\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:243
msgid "If there is none found, add a new entry for this vulnerability."
msgstr "Если запись не найдена, добавьте новую запись для этой уязвимости."

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:248
#, no-wrap
msgid ""
"% cd ${PORTSDIR}/security/vuxml\n"
"% make newentry\n"
msgstr ""
"% cd ${PORTSDIR}/security/vuxml\n"
"% make newentry\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:252
msgid ""
"If the vulnerability has a https://cve.mitre.org/[MITRE CVE] identifier, the "
"following command can be used instead:"
msgstr ""
"Если уязвимость имеет идентификатор https://cve.mitre.org/[MITRE CVE], можно "
"использовать следующую команду:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:257
#, no-wrap
msgid ""
"% cd ${PORTSDIR}/security/vuxml\n"
"% make newentry CVE_ID=CVE-YYYY-XXXXX\n"
msgstr ""
"% cd ${PORTSDIR}/security/vuxml\n"
"% make newentry CVE_ID=CVE-YYYY-XXXXX\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:260
msgid "where `CVE-YYYYY-XXXX` is a valid CVE identifier."
msgstr "где `CVE-YYYYY-XXXX` является действительным идентификатором CVE."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:263
msgid ""
"If the vulnerability is a FreeBSD Security Advisory, the following command "
"can be used instead:"
msgstr ""
"Если уязвимость относится к FreeBSD Security Advisory, вместо этого можно "
"использовать следующую команду:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:268
#, no-wrap
msgid ""
"% cd ${PORTSDIR}/security/vuxml\n"
"% make newentry SA_ID=FreeBSD-SA-YY-XXXXXX.asc\n"
msgstr ""
"% cd ${PORTSDIR}/security/vuxml\n"
"% make newentry SA_ID=FreeBSD-SA-YY-XXXXXX.asc\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:271
msgid ""
"where `FreeBSD-SA-YY-XXXXXX.asc` is a published https://www.freebsd.org/"
"security/advisories/[FreeBSD Security Advisory]."
msgstr ""
"где `FreeBSD-SA-YY-XXXXXX.asc` является опубликованным https://www.freebsd."
"org/security/advisories/[FreeBSD Security Advisory]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:273
msgid "Verify its syntax and formatting:"
msgstr "Проверьте его синтаксис и форматирование:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:277
#, no-wrap
msgid "% make validate\n"
msgstr "% make validate\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:282
msgid ""
"The previous command generates the [.filename]#vuln-flat.xml# file.  It can "
"also be generated with:"
msgstr ""
"Предыдущая команда создаёт файл [.filename]#vuln-flat.xml#. Его также можно "
"создать с помощью:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:286
#, no-wrap
msgid "% make vuln-flat.xml\n"
msgstr "% make vuln-flat.xml\n"

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:291
msgid ""
"At least one of these packages needs to be installed: package:textproc/"
"libxml2[], package:textproc/jade[]."
msgstr ""
"Должен быть установлен хотя бы один из следующих пакетов: package:textproc/"
"libxml2[], package:textproc/jade[]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:294
msgid ""
"Verify that the `<affected>` section of the entry will match the correct "
"packages:"
msgstr ""
"Проверьте, что раздел `<affected>` записи соответствует правильным пакетам:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:298
#, no-wrap
msgid "% pkg audit -f ${PORTSDIR}/security/vuxml/vuln-flat.xml dropbear-2013.58\n"
msgstr "% pkg audit -f ${PORTSDIR}/security/vuxml/vuln-flat.xml dropbear-2013.58\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:301
msgid "Make sure that the entry produces no spurious matches in the output."
msgstr "Убедитесь, что запись не создаёт ложных совпадений в выводе."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:303
msgid "Now check whether the right package versions are matched by the entry:"
msgstr "Теперь проверьте, соответствуют ли записи правильные версии пакетов:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:312
#, no-wrap
msgid ""
"% pkg audit -f ${PORTSDIR}/security/vuxml/vuln-flat.xml dropbear-2013.58 dropbear-2013.59\n"
"dropbear-2012.58 is vulnerable:\n"
"dropbear -- exposure of sensitive information, DoS\n"
"CVE: CVE-2013-4434\n"
"CVE: CVE-2013-4421\n"
"WWW: https://portaudit.FreeBSD.org/8c9b48d1-3715-11e3-a624-00262d8b701d.html\n"
msgstr ""
"% pkg audit -f ${PORTSDIR}/security/vuxml/vuln-flat.xml dropbear-2013.58 dropbear-2013.59\n"
"dropbear-2012.58 is vulnerable:\n"
"dropbear -- exposure of sensitive information, DoS\n"
"CVE: CVE-2013-4434\n"
"CVE: CVE-2013-4421\n"
"WWW: https://portaudit.FreeBSD.org/8c9b48d1-3715-11e3-a624-00262d8b701d.html\n"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:314
#, no-wrap
msgid "1 problem(s) in the installed packages found.\n"
msgstr "1 problem(s) in the installed packages found.\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:317
msgid "The former version matches while the latter one does not."
msgstr "Предыдущая версия совпадает, а последняя — нет."

#. type: Title ===
#: documentation/content/en/books/porters-handbook/security/_index.adoc:319
#, no-wrap
msgid "VuXML new entry checklist"
msgstr "Контрольный список для новой записи в VuXML"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:323
msgid ""
"Check the name of the port.  Sometimes the upstream project name is not "
"exactly the same as the port name."
msgstr ""
"Проверьте название порта. Иногда имя проекта в вышестоящем репозитории не "
"полностью совпадает с именем порта."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:327
msgid ""
"Add all flavors.  When a port has flavors all the package names need to be "
"added as a `<package>` in the entry.  Use the following script to generate "
"all flavored package names:"
msgstr ""
"Добавить все флейворы. Если у порта есть варианты, все имена пакетов должны "
"быть добавлены в запись как `<package>`. Используйте следующий скрипт для "
"генерации всех имён пакетов с вариантами:"

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/security/_index.adoc:331
#, no-wrap
msgid "% for flavor in $(make -V FLAVORS); do FLAVOR=\"${flavor}\" make -VPKGNAME;done\n"
msgstr ""
"% for flavor in $(make -V FLAVORS); do FLAVOR=\"${flavor}\" make -VPKGNAME;"
"done\n"

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:336
msgid ""
"Check if the port has `PORTEPOCH`.  The above script snippet helps with "
"that.  If the port uses `PORTEPOCH` it is mandatory to add it to the "
"`<range>` tag."
msgstr ""
"Проверить, имеет ли порт `PORTEPOCH`. Приведённый выше фрагмент скрипта "
"помогает в этом. Если порт использует `PORTEPOCH`, обязательно добавить его "
"в тег `<range>`."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:340
msgid ""
"Double check ranges.  In the case of ranges limited on both sides, make sure "
"that the `<ge>` and `<lt>` elements are inside the same `<range>` tag.  "
"Otherwise the entry might end up defining an overlapping range."
msgstr ""
"Перепроверьте диапазоны. В случае диапазонов, ограниченных с обеих сторон, "
"убедитесь, что элементы `<ge>` и `<lt>` находятся внутри одного тега "
"`<range>`. В противном случае запись может определить перекрывающийся "
"диапазон."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:349
msgid ""
"Cross-check derivatives.  Check whether derivatives or forks of the project "
"included in the ports tree are also affected.  For example, if a "
"vulnerability is discovered in package:www/firefox[], assess whether "
"derivatives like package:www/librewolf[], package:www/waterfox[] or other "
"similar projects share the same vulnerability.  Include all affected "
"derivatives in the VuXML entry, ensuring that users of these ports are "
"informed.  Also check if there are Linux versions of the same port in the "
"tree.  For instance, package:databases/sqlite3[] vulnerabilities most likely "
"affect packages like package:databases/linux-c7-sqlite3[] too."
msgstr ""
"Проверка производных версий. Если в вышестоящем проекте обнаружена "
"уязвимость, проверьте, затронуты ли также производные или форки проекта, "
"включённые в дерево портов. Например, если уязвимость обнаружена в package:"
"www/firefox[], оцените, есть ли такая же уязвимость в производных, таких как "
"package:www/librewolf[], package:www/waterfox[] или других подобных "
"проектах. Включите все затронутые производные в запись VuXML, чтобы "
"пользователи этих портов были проинформированы. Также проверьте наличие "
"Linux-версий этого порта в дереве. Например, уязвимости в package:databases/"
"sqlite3[] скорее всего затрагивают и пакеты вроде package:databases/"
"linux-c7-sqlite3[]."

#. type: Plain text
#: documentation/content/en/books/porters-handbook/security/_index.adoc:349
msgid "Do not commit an entry without running `make validate` first."
msgstr "Не делайте коммит записи, не запустив сначала `make validate`."

#, no-wrap
#~ msgid "Cross-checking Derivatives"
#~ msgstr "Перекрестная проверка производных"