The translation is temporarily closed for contributions due to maintenance, please come back later.

Translation

(itstool) path: sect2/title
English
Label Synchronization
Context English Portuguese (Brazil) State
Label management primitives Primitivos de gerenciamento de r�tulo
Entry point API invoked by kernel services API do ponto de entrada invocada pelos servi�os do kernel
Entry point API to policy modules API de ponto de entrada para m�dulos de pol�tica
Entry points implementations (policy life cycle, object life cycle/label management, access control checks). Implementa��es de pontos de entrada (ciclo de vida da pol�tica, ciclo de vida do objeto / gerenciamento de etiquetas, verifica��es de controle de acesso).
Policy-agnostic label-management system calls Chamadas de sistema de gerenciamento de r�tulo agn�stico de pol�ticas
<function>mac_syscall()</function> multiplex system call <function> mac_syscall () </function> chamada do sistema multiplex
Various security policies implemented as MAC policy modules V�rias pol�ticas de seguran�a implementadas como m�dulos de pol�tica MAC
Framework Management Interfaces Framework Management Interfaces
The TrustedBSD MAC Framework may be directly managed using sysctl's, loader tunables, and system calls. O TrustedBSD MAC Framework pode ser gerenciado diretamente usando sysctl';s, sintetizadores de carregador e chamadas do sistema.
In most cases, sysctl's and loader tunables of the same name modify the same parameters, and control behavior such as enforcement of protections relating to various kernel subsystems. In addition, if MAC debugging support is compiled into the kernel, several counters will be maintained tracking label allocation. It is generally advisable that per-subsystem enforcement controls not be used to control policy behavior in production environments, as they broadly impact the operation of all active policies. Instead, per-policy controls should be preferred, as they provide greater granularity and greater operational consistency for policy modules. Na maioria dos casos, sysctl';s e loaders sintoniz�veis ​​do mesmo nome modificam os mesmos par�metros e controlam o comportamento, como a aplica��o de prote��es relacionadas a v�rios subsistemas do kernel. Al�m disso, se o suporte de depura��o MAC for compilado no kernel, v�rios contadores ser�o mantidos. � geralmente aconselh�vel que os controles de fiscaliza��o por subsistema n�o sejam usados ​​para controlar o comportamento de pol�ticas em ambientes de produ��o, pois eles geralmente afetam a opera��o de todas as pol�ticas ativas. granularidade e maior consist�ncia operacional para m�dulos de pol�ticas.
Loading and unloading of policy modules is performed using the system module management system calls and other system interfaces, including boot loader variables; policy modules will have the opportunity to influence load and unload events, including preventing undesired unloading of the policy. O carregamento e descarregamento de m�dulos de pol�ticas � realizado usando as chamadas do sistema de gerenciamento de m�dulos do sistema e outras interfaces do sistema, incluindo vari�veis ​​do carregador de inicializa��o; os m�dulos de pol�tica ter�o a oportunidade de influenciar a carga e descarga de eventos, incluindo a preven��o de descarregamento indesejado da pol�tica.
Policy List Concurrency and Synchronization Concorr�ncia e Sincroniza��o da Lista de Pol�ticas
As the set of active policies may change at run-time, and the invocation of entry points is non-atomic, synchronization is required to prevent loading or unloading of policies while an entry point invocation is in progress, freezing the set of active policies for the duration. This is accomplished by means of a framework busy count: whenever an entry point is entered, the busy count is incremented; whenever it is exited, the busy count is decremented. While the busy count is elevated, policy list changes are not permitted, and threads attempting to modify the policy list will sleep until the list is not busy. The busy count is protected by a mutex, and a condition variable is used to wake up sleepers waiting on policy list modifications. One side effect of this synchronization model is that recursion into the MAC Framework from within a policy module is permitted, although not generally used. Como o conjunto de pol�ticas ativas pode mudar em tempo de execu��o e a invoca��o de pontos de entrada n�o � at�mica, a sincroniza��o � necess�ria para impedir o carregamento ou descarregamento de pol�ticas enquanto uma chamada de ponto de entrada est� em andamento, congelando o conjunto de pol�ticas ativas Isso ocorre por meio de uma contagem ocupacional de estrutura: sempre que um ponto de entrada � inserido, a contagem de ocupado � incrementada e, quando ela � encerrada, a contagem de ocupado � diminu�da. n�o permitido, e os segmentos que tentam modificar a lista de pol�ticas ficar�o suspensos at� que a lista n�o esteja ocupada.A contagem ocupada � protegida por um mutex e uma vari�vel de condi��o � usada para ativar os travessas aguardando modifica��es na lista de pol�ticas. O modelo de sincroniza��o � que a recurs�o no MAC Framework de dentro de um m�dulo de pol�tica � permitida, embora n�o seja geralmente usada.
Various optimizations are used to reduce the overhead of the busy count, including avoiding the full cost of incrementing and decrementing if the list is empty or contains only static entries (policies that are loaded before the system starts, and cannot be unloaded). A compile-time option is also provided which prevents any change in the set of loaded policies at run-time, which eliminates the mutex locking costs associated with supporting dynamically loaded and unloaded policies as synchronization is no longer required. V�rias otimiza��es s�o usadas para reduzir a sobrecarga da contagem de ocupa��es, evitando o custo total de incrementar e decrementar se a lista estiver vazia ou contiver apenas entradas est�ticas (pol�ticas que s�o carregadas antes do sistema ser iniciado e n�o podem ser descarregadas). op��o de tempo de compila��o tamb�m � fornecida, o que elimina qualquer altera��o no conjunto de pol�ticas carregadas em tempo de execu��o, o que elimina os custos de bloqueio mutex associados ao suporte de pol�ticas carregadas e descarregadas dinamicamente, j� que a sincroniza��o n�o � mais necess�ria.
As the MAC Framework is not permitted to block in some entry points, a normal sleep lock cannot be used; as a result, it is possible for the load or unload attempt to block for a substantial period of time waiting for the framework to become idle. Como o MAC Framework n�o tem permiss�o para bloquear em alguns pontos de entrada, n�o � poss�vel usar um bloqueio de sono normal; como resultado, � poss�vel que a tentativa de carga ou descarga seja bloqueada por um per�odo de tempo substancial esperando a estrutura se tornar ocioso "
Label Synchronization Label Synchronization
As kernel objects of interest may generally be accessed from more than one thread at a time, and simultaneous entry of more than one thread into the MAC Framework is permitted, security attribute storage maintained by the MAC Framework is carefully synchronized. In general, existing kernel synchronization on kernel object data is used to protect MAC Framework security labels on the object: for example, MAC labels on sockets are protected using the existing socket mutex. Likewise, semantics for concurrent access are generally identical to those of the container objects: for credentials, copy-on-write semantics are maintained for label contents as with the remainder of the credential structure. The MAC Framework asserts necessary locks on objects when invoked with an object reference. Policy authors must be aware of these synchronization semantics, as they will sometimes limit the types of accesses permitted on labels: for example, when a read-only reference to a credential is passed to a policy via an entry point, only read operations are permitted on the label state attached to the credential. Como os objetos de interesse do kernel geralmente podem ser acessados ​​de mais de um thread de cada vez, e a entrada simult�nea de mais de um thread no MAC Framework � permitida, o armazenamento de atributos de seguran�a mantido pelo MAC Framework � cuidadosamente sincronizado. A sincroniza��o do kernel nos dados do objeto kernel � usada para proteger os r�tulos de seguran�a do MAC Framework no objeto: por exemplo, os r�tulos MAC nos soquetes s�o protegidos usando o mutex de soquete existente Da mesma forma, as sem�nticas para acesso simult�neo s�o geralmente id�nticas �quelas dos objetos cont�ineres: credenciais, a sem�ntica de copy-on-write � mantida para o conte�do da etiqueta como no restante da estrutura de credencial.O MAC Framework afirma os bloqueios necess�rios em objetos quando invocado com uma refer�ncia de objeto.Os autores da pol�tica devem estar cientes dessas sem�nticas de sincroniza��o, pois elas �s vezes, limitar os tipos de acessos permitidos nos r�tulos: por exemplo, quando uma refer�ncia somente leitura a uma credencial � passada para uma pol�tica por meio de um ponto de entrada, somente as opera��es de leitura s�o permitidas no estado da etiqueta anexado � credencial.
Policy Synchronization and Concurrency Sincroniza��o e Concorr�ncia de Pol�ticas
Policy modules must be written to assume that many kernel threads may simultaneously enter one more policy entry points due to the parallel and preemptive nature of the FreeBSD kernel. If the policy module makes use of mutable state, this may require the use of synchronization primitives within the policy to prevent inconsistent views on that state resulting in incorrect operation of the policy. Policies will generally be able to make use of existing FreeBSD synchronization primitives for this purpose, including mutexes, sleep locks, condition variables, and counting semaphores. However, policies should be written to employ these primitives carefully, respecting existing kernel lock orders, and recognizing that some entry points are not permitted to sleep, limiting the use of primitives in those entry points to mutexes and wakeup operations. Os m�dulos de pol�tica devem ser escritos para assumir que muitos encadeamentos do kernel podem inserir simultaneamente mais um ponto de entrada de pol�tica devido � natureza paralela e preventiva do kernel do FreeBSD. Se o m�dulo de pol�tica faz uso do estado mut�vel, isso pode exigir o uso de primitivas de sincroniza��o dentro da pol�tica para evitar vis�es inconsistentes sobre aquele estado resultando em opera��o incorreta da pol�tica, geralmente as pol�ticas poder�o fazer uso das primitivas de sincroniza��o existentes do FreeBSD para este prop�sito, incluindo mutexes, travas de sono, vari�veis ​​de condi��o e sem�foros de contagem. as pol�ticas devem ser escritas para empregar esses primitivos cuidadosamente, respeitando os pedidos de bloqueio do kernel existentes, e reconhecendo que alguns pontos de entrada n�o t�m permiss�o para dormir, limitando o uso de primitivos nesses pontos de entrada para mutexes e opera��es de ativa��o.
When policy modules call out to other kernel subsystems, they will generally need to release any in-policy locks in order to avoid violating the kernel lock order or risking lock recursion. This will maintain policy locks as leaf locks in the global lock order, helping to avoid deadlock. Quando os m�dulos de pol�tica chamam outros subsistemas do kernel, eles geralmente precisam liberar qualquer bloqueio na pol�tica para evitar violar a ordem de bloqueio do kernel ou arriscar a recurs�o do bloqueio. Isso manter� os bloqueios de pol�tica como bloqueios de folha na ordem de bloqueio global. ajudando a evitar o impasse "
Policy Registration Registro de Pol�tica
The MAC Framework maintains two lists of active policies: a static list, and a dynamic list. The lists differ only with regards to their locking semantics: an elevated reference count is not required to make use of the static list. When kernel modules containing MAC Framework policies are loaded, the policy module will use <literal>SYSINIT</literal> to invoke a registration function; when a policy module is unloaded, <literal>SYSINIT</literal> will likewise invoke a de-registration function. Registration may fail if a policy module is loaded more than once, if insufficient resources are available for the registration (for example, the policy might require labeling and insufficient labeling state might be available), or other policy prerequisites might not be met (some policies may only be loaded prior to boot). Likewise, de-registration may fail if a policy is flagged as not unloadable. O MAC Framework mant�m duas listas de pol�ticas ativas: uma lista est�tica e uma lista din�mica. As listas diferem apenas em rela��o � sem�ntica de bloqueio: uma contagem de refer�ncia elevada n�o � necess�ria para fazer uso da lista est�tica. Quando os m�dulos do kernel cont�m Pol�ticas do MAC Framework s�o carregadas, o m�dulo de pol�tica usar� <literal> SYSINIT </literal> invocar uma fun��o de registro; quando um m�dulo de pol�tica � descarregado, <literal> SYSINIT </literal> Da mesma forma, invocar� uma fun��o de cancelamento de registro. O registro pode falhar se um m�dulo de pol�tica for carregado mais de uma vez, se recursos insuficientes estiverem dispon�veis para o registro (por exemplo, a pol�tica exigir rotulagem e estado de rotulagem insuficiente estiver dispon�vel) ou se outros pr�-requisitos de diretiva n�o forem atendidos s� pode ser carregado antes da inicializa��o). Da mesma forma, o cancelamento de registro poder� falhar se uma pol�tica for sinalizada como n�o descarreg�vel.
Entry Points Pontos de entrada
Kernel services interact with the MAC Framework in two ways: they invoke a series of APIs to notify the framework of relevant events, and they provide a policy-agnostic label structure pointer in security-relevant objects. The label pointer is maintained by the MAC Framework via label management entry points, and permits the Framework to offer a labeling service to policy modules through relatively non-invasive changes to the kernel subsystem maintaining the object. For example, label pointers have been added to processes, process credentials, sockets, pipes, vnodes, Mbufs, network interfaces, IP reassembly queues, and a variety of other security-relevant structures. Kernel services also invoke the MAC Framework when they perform important security decisions, permitting policy modules to augment those decisions based on their own criteria (possibly including data stored in security labels). Most of these security critical decisions will be explicit access control checks; however, some affect more general decision functions such as packet matching for sockets and label transition at program execution. Os servi�os do kernel interagem com o MAC Framework de duas maneiras: eles invocam uma s�rie de APIs para notificar a estrutura de eventos relevantes e fornecem um ponteiro de estrutura de r�tulos agn�sticos para pol�ticas em objetos relevantes para a seguran�a. O ponteiro de r�tulo � mantido pelo MAC Framework via pontos de entrada de gerenciamento de r�tulos e permite que o Framework ofere�a um servi�o de rotulagem aos m�dulos de pol�tica atrav�s de altera��es relativamente n�o invasivas ao subsistema do kernel mantendo os objetos. Por exemplo, ponteiros de r�tulo foram adicionados a processos, credenciais de processo, soquetes vnodes, Mbufs, interfaces de rede, filas de reagrupamento IP e uma variedade de outras estruturas relevantes para seguran�a.Os servi�os de kernel tamb�m invocam o MAC Framework quando executam importantes decis�es de seguran�a, permitindo que os m�dulos de pol�ticas aumentem essas decis�es com base em seus pr�prios crit�rios (possivelmente incluindo os dados armazenados nos r�tulos de seguran�a.) A maioria dessas decis�es cr�ticas de seguran�a ser�o verifica��es expl�citas de controle de acesso; afetam fun��es de decis�o mais gerais, como correspond�ncia de pacotes para soquetes e transi��o de r�tulo na execu��o do programa.
Policy Composition Composi��o da Pol�tica
When more than one policy module is loaded into the kernel at a time, the results of the policy modules will be composed by the framework using a composition operator. This operator is currently hard-coded, and requires that all active policies must approve a request for it to return success. As policies may return a variety of error conditions (success, access denied, object does not exist, ...), a precedence operator selects the resulting error from the set of errors returned by policies. In general, errors indicating that an object does not exist will be preferred to errors indicating that access to an object is denied. While it is not guaranteed that the resulting composition will be useful or secure, we have found that it is for many useful selections of policies. For example, traditional trusted systems often ship with two or more policies using a similar composition. Quando mais de um m�dulo de pol�tica � carregado no kernel de cada vez, os resultados dos m�dulos de pol�tica ser�o compostos pela estrutura usando um operador de composi��o. Esse operador est� atualmente embutido em c�digo e requer que todas as pol�ticas ativas aprovem uma pedido para que ele retorne sucesso.Como as pol�ticas podem retornar uma variedade de condi��es de erro (sucesso, acesso negado, objeto n�o existe, ...), um operador de preced�ncia seleciona o erro resultante do conjunto de erros retornados pelas pol�ticas. , erros indicando que um objeto n�o existe ser�o preferidos a erros indicando que o acesso a um objeto � negado.Enquanto n�o � garantido que a composi��o resultante ser� �til ou segura, descobrimos que � para muitas sele��es �teis de pol�ticas Por exemplo, sistemas confi�veis ​​tradicionais geralmente v�m com duas ou mais pol�ticas usando uma composi��o similar.
Labeling Support Suporte de rotulagem
As many interesting access control extensions rely on security labels on objects, the MAC Framework provides a set of policy-agnostic label management system calls covering a variety of user-exposed objects. Common label types include partition identifiers, sensitivity labels, integrity labels, compartments, domains, roles, and types. By policy agnostic, we mean that policy modules are able to completely define the semantics of meta-data associated with an object. Policy modules participate in the internalization and externalization of string-based labels provides by user applications, and can expose multiple label elements to applications if desired. Como muitas extens�es de controle de acesso interessantes dependem de r�tulos de seguran�a em objetos, o MAC Framework fornece um conjunto de chamadas de sistema de gerenciamento de r�tulos agn�sticos que cobrem uma variedade de objetos expostos pelo usu�rio. Os tipos de r�tulos comuns incluem identificadores de parti��o, r�tulos de sensibilidade e r�tulos de integridade. compartimentos, dom�nios, fun��es e tipos. Por pol�tica agn�stica, queremos dizer que os m�dulos de pol�tica s�o capazes de definir completamente a sem�ntica de metadados associados a um objeto. M�dulos de pol�ticas participam da internaliza��o e externaliza��o de r�tulos baseados em strings fornecidas pelo usu�rio aplicativos e pode expor v�rios elementos de r�tulo para aplicativos, se desejado.
In-memory labels are stored in slab-allocated <varname remap="structname">struct label</varname>, which consists of a fixed-length array of unions, each holding a <literal>void *</literal> pointer and a <literal>long</literal>. Policies registering for label storage will be assigned a "slot" identifier, which may be used to dereference the label storage. The semantics of the storage are left entirely up to the policy module: modules are provided with a variety of entry points associated with the kernel object life cycle, including initialization, association/creation, and destruction. Using these interfaces, it is possible to implement reference counting and other storage models. Direct access to the object structure is generally not required by policy modules to retrieve a label, as the MAC Framework generally passes both a pointer to the object and a direct pointer to the object's label into entry points. The primary exception to this rule is the process credential, which must be manually dereferenced to access the credential label. This may change in future revisions of the MAC Framework. Etiquetas na mem�ria s�o armazenadas em aloca��o de placas <varname remap="structname"> r�tulo struct </varname> , que consiste em uma matriz de uni�es de comprimento fixo, cada uma segurando uma <literal> void * </literal> ponteiro e um <literal> longo </literal> . As pol�ticas que se registram para o armazenamento de r�tulo receber�o um identificador \ "slot ", que pode ser usado para excluir a refer�ncia do armazenamento de r�tulo. A sem�ntica do armazenamento � deixada inteiramente para o m�dulo de pol�tica: os m�dulos s�o fornecidos com uma variedade de pontos de entrada associados ao ciclo de vida do objeto do kernel, incluindo inicializa��o, associa��o / cria��o e destrui��o. Usando essas interfaces, � poss�vel implementar a contagem de refer�ncia e outros modelos de armazenamento. O acesso direto � estrutura do objeto geralmente n�o � exigido pelos m�dulos de pol�tica para recuperar um r�tulo, j� que o MAC Framework geralmente passa um ponteiro para o objeto e um ponteiro direto para o r�tulo do objeto nos pontos de entrada. A principal exce��o a essa regra � a credencial do processo, que deve ser manualmente referenciada para acessar o r�tulo da credencial. Isso pode mudar em futuras revis�es do MAC Framework.
Initialization entry points frequently include a sleeping disposition flag indicating whether or not an initialization is permitted to sleep; if sleeping is not permitted, a failure may be returned to cancel allocation of the label (and hence object). This may occur, for example, in the network stack during interrupt handling, where sleeping is not permitted, or while the caller holds a mutex. Due to the performance cost of maintaining labels on in-flight network packets (Mbufs), policies must specifically declare a requirement that Mbuf labels be allocated. Dynamically loaded policies making use of labels must be able to handle the case where their init function has not been called on an object, as objects may already exist when the policy is loaded. The MAC Framework guarantees that uninitialized label slots will hold a 0 or NULL value, which policies may use to detect uninitialized values. However, as allocation of Mbuf labels is conditional, policies must also be able to handle a NULL label pointer for Mbufs if they have been loaded dynamically. Os pontos de entrada de inicializa��o freq�entemente incluem um sinalizador de disposi��o de sono indicando se uma inicializa��o � permitida ou n�o; se dormir n�o for permitido, uma falha pode ser retornada para cancelar a aloca��o do r�tulo (e, portanto, objeto). Isso pode ocorrer, por exemplo , na pilha de rede durante o manuseio de interrup��o, onde dormir n�o � permitido ou enquanto o chamador possui um mutex.Devido ao custo de desempenho de manuten��o de r�tulos em pacotes de rede em tr�nsito (Mbufs), diretivas devem declarar especificamente um requisito que r�tulos Mbuf Pol�ticas carregadas dinamicamente que usam r�tulos devem ser capazes de lidar com o caso em que sua fun��o init n�o foi chamada em um objeto, j� que objetos j� podem existir quando a pol�tica � carregada. O MAC Framework garante que os slots de r�tulo n�o inicializados um valor 0 ou NULL, que as pol�ticas podem usar para detectar valores n�o inicializados.No entanto, como a aloca��o de r�tulos Mbuf � condicional, as pol�ticas tamb�m devem ser capazes de manipular Ponteiro de r�tulo NULL para Mbufs se eles foram carregados dinamicamente.
In the case of file system labels, special support is provided for the persistent storage of security labels in extended attributes. Where available, extended attribute transactions are used to permit consistent compound updates of security labels on vnodes--currently this support is present only in the UFS2 file system. Policy authors may choose to implement multilabel file system object labels using one (or more) extended attributes. For efficiency reasons, the vnode label (<literal>v_label</literal>) is a cache of any on-disk label; policies are able to load values into the cache when the vnode is instantiated, and update the cache as needed. As a result, the extended attribute need not be directly accessed with every access control check. No caso de r�tulos de sistema de arquivos, � fornecido suporte especial para o armazenamento persistente de r�tulos de seguran�a em atributos estendidos. Quando dispon�veis, transa��es de atributos estendidas s�o usadas para permitir atualiza��es consistentes de r�tulos de seguran�a em vnodes - atualmente este suporte est� presente apenas No sistema de arquivos UFS2, os autores de pol�ticas podem optar por implementar r�tulos de objeto de sistema de arquivos multilabel usando um (ou mais) atributos estendidos.Por raz�es de efici�ncia, o r�tulo vnode ( <literal> v_label </literal> ) � um cache de qualquer r�tulo no disco; as pol�ticas podem carregar valores no cache quando o vnode � instanciado e atualizar o cache conforme necess�rio. Como resultado, o atributo estendido n�o precisa ser acessado diretamente com todas as verifica��es de controle de acesso.

Loading…

User avatar None

New source string

FreeBSD Doc / books_arch-handbookPortuguese (Brazil)

New source string a year ago
Browse all component changes

Things to check

Unchanged translation

Source and translation are identical

Reset

Glossary

English Portuguese (Brazil)
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: sect2/title
Source string location
book.translate.xml:4606
String age
a year ago
Source string age
a year ago
Translation file
books/pt_BR/arch-handbook.po, string 601