Provided by: netlabel-tools_0.30.0-1_amd64 bug

NAME

       netlabelctl - NetLabel management utility

SYNOPSIS

       netlabelctl [<global_flags>] <module> [<module_commands>]

DESCRIPTION

       The  NetLabel  management  utility,  netlabelctl,  is  a  command  line  program designed to allow system
       administrators to configure the NetLabel system in the kernel.  The utility  is  based  around  different
       "modules" which correspond to the different types of NetLabel commands supported by the kernel.

OPTIONS

   Global Flags
       -h   Help message

       -p   Attempt to make the output human readable or "pretty"

       -t <seconds>
            Set a timeout to be used when waiting for the NetLabel subsystem to respond

       -v   Enable extra output

       -V   Display the version information

   Modules and Commands
       mgmt

       The  management module is used to perform general queries about the NetLabel subsystem within the kernel.
       The different commands and their syntax are listed below.

       version
              Display the kernel's NetLabel management protocol version.

       protocols
              Display the kernel's list of supported labeling protocols.

       map

       The domain mapping module is used to map different NetLabel labeling protocols to either  individual  LSM
       domains  or  the  default domain mapping.  It is up to each LSM to determine what defines a domain.  With
       SELinux, the normal SELinux domain should be used, i.e. "ping_t".   In  addition  to  protocol  selection
       based  only  on the LSM domain, it is also possible to select the labeling protocol based on both the LSM
       domain and destination address.  The network address selectors can specify either single hosts or  entire
       networks  and  work  for  both  IPv4  and IPv6, although the labeling protocol chosen must support the IP
       version chosen.  When specifying the labeling protocol to use for  each  mapping  there  is  an  optional
       "extra"  field  which  is  used  to  further identify the specific labeling protocol configuration.  When
       specifying the unlabeled protocol, "unlbl", an extra value of either  "4"  or  "6"  may  be  used.   This
       restricts  the  mapping to IPv4 or IPv6 addresses.  Omitting the extra value will result in a mapping for
       all address families.  When specifying the CIPSO/IPv4 or the CALIPSO/IPv6 protocol, "cipso" or "calipso",
       the DOI value should be specified; see the EXAMPLES section for  details.   The  different  commands  and
       their syntax are listed below.

       add default|domain:<domain> [address:<ADDR>[/<MASK>]] protocol:<protocol>[,<extra>]
              Add a new LSM domain / network address to NetLabel protocol mapping.

       del default|domain:<domain>
              Delete an existing LSM domain to NetLabel protocol mapping.

       list
              Display all of the configured LSM domain to NetLabel protocol mappings.

       unlbl

       The  unlabeled  (unlbl)  module controls the unlabeled protocol which is used both when labeling outgoing
       traffic is not desired as well as when unlabeled traffic is received by the system.  This  module  allows
       administrators  to  block  all  unlabeled  packets  from  the system through the "accept" flag and assign
       static, or fallback, security labels to unlabeled traffic based on  the  inbound  network  interface  and
       source address.

       accept on|off
              Toggle the unlabeled traffic accept flag.

       add default|interface:<dev> address:<addr>[/<mask>] label:<label>
              Add a new static/fallback entry.

       del default|interface:<dev> address:<addr>[/<mask>]
              Delete an existing static/fallback entry.

       list
              Display the status of the unlabeled accept flag.

       cipso

       The  CIPSO/IPv4  (cipso)  module  controls  the CIPSO/IPv4 labeling engine in the kernel.  The CIPSO/IPv4
       engine provided by NetLabel supports multiple Domains Of Interpretation (DOI) and the  CIPSO/IPv4  module
       allows  for  different  configurations for each DOI.  At present there are three types of configurations,
       the "trans" configuration which allows on-the-fly translation  of  MLS  sensitivity  labels,  the  "pass"
       configuration  which  does  not  perform  any  translation  of  the MLS sensitivity label and the "local"
       configuration which conveys the full LSM security label over localhost/loopback connections.   Regardless
       of  which  configuration  type  is  chosen  a  DOI  value  must be specified and if the "trans" or "pass"
       configurations are specified then a list  of  the  CIPSO/IPv4  tag  types  to  use  when  generating  the
       CIPSO/IPv4  packet  labels must also be specified.  The list of CIPSO/IPv4 tags is ordered such that when
       possible the first tag type listed is used when a CIPSO/IPv4 label is generated.  However, if it  is  not
       possible  to use the first tag type then each tag type is checked, in order, until a suitable tag type is
       found.  If a valid tag type can not be found then the operation causing the CIPSO/IPv4 label  will  fail,
       typically  this  occurs  whenever  a  new socket is created.  The different commands and their syntax are
       listed below.

       add trans doi:<DOI> tags:<T1>,<Tn> levels:<LL1>=<RL1>,<LLn>=<RLn> categories:<LC1>=<RC1>,<LCn>=<RCn>
              Add a new CIPSO/IPv4 configuration using the standard/translated mapping with the given level  and
              category  translations.   The  levels  are  translated in such a way that the local level "LLn" is
              translated to the remote, on-the-wire level of "RLn"; the reverse translation is done for incoming
              packets.  The same translation is done for the categories using "LCn" and "RCn".  In order  for  a
              packet  to be accepted, or a socket created by an application, there must be a translation for the
              sensitivity level and all the categories present in the  MLS  sensitivity  label;  if  the  entire
              requested sensitivity label can not be translated the application will fail.

       add pass doi:<DOI> tags:<T1>,<Tn>
              Add a new CIPSO/IPv4 configuration without any level or category translations.

       add local doi:<DOI>
              Add a new CIPSO/IPv4 configuration for localhost/loopback connections.

       del doi:<DOI>
              Delete  an existing CIPSO/IPv4 configuration with the given DOI value.  If any LSM domain mappings
              are present which make use of this DOI they will also be deleted.

       list [doi:<DOI>]
              Display a list of all the  CIPSO/IPv4  configurations  or  just  the  configuration  matching  the
              optionally specified DOI.

       calipso

       The  CALIPSO/IPv6 (calipso) module controls the CALIPSO/IPv6 labeling engine in the kernel.  This behaves
       in a very similar way to the  CIPSO/IPv4  engine,  however  the  protocol  only  specifies  one  tag-type
       (equivalent  to  CIPSO  tag-type 1) and so the tag-type should not be specified.  In addition there is no
       support for the "local" or "trans" configuration.  The different commands and  their  syntax  are  listed
       below.

       add pass doi:<DOI>
              Add a new CALIPSO/IPv6 configuration without any level or category translations.

       del doi:<DOI>
              Delete  an  existing  CALIPSO/IPv6  configuration  with  the  given  DOI value.  If any LSM domain
              mappings are present which make use of this DOI they will also be deleted.

       list [doi:<DOI>]
              Display a list of all the CALIPSO/IPv6 configurations  or  just  the  configuration  matching  the
              optionally specified DOI.

EXIT STATUS

       Returns zero on success, errno values on failure.

EXAMPLES

       netlabelctl cipso add pass doi:16 tags:1
            Add  a CIPSO/IPv4 configuration with a DOI value of "16", using CIPSO tag "1" (the permissive bitmap
            tag).  The CIPSO and LSM levels/categories are passed through the  NetLabel  subsystem  without  any
            translation.

       netlabelctl cipso add trans doi:8 tags:1 levels:0=0,1=1 categories:0=1,1=0
            Add  a  CIPSO/IPv4 configuration with a DOI value of "8", using CIPSO tag "1" (the permissive bitmap
            tag).  The specified mapping converts local LSM levels "0" and "1"  to  CIPSO  levels  "0"  and  "1"
            respectively  while  local  LSM  categories  "0"  and "1" are mapped to CIPSO categories "1" and "0"
            respectively.

       netlabelctl -p cipso list
            Display all of the CIPSO/IPv4 configurations in a human readable format.

       netlabelctl -p cipso list doi:16
            Display specific information about the CIPSO/IPv4 DOI 16 configuration.

       netlabelctl cipso del doi:8
            Delete the CIPSO/IPv4 configuration assigned to DOI 8.   In  addition  to  removing  the  CIPSO/IPv4
            configuration any domain mappings using this configuration will also be removed.

       netlabelctl map add domain:lsm_domain protocol:cipso,8
            Add  a  domain  mapping  so  that  all  outgoing  packets sent from the "lsm_domain" will be labeled
            according to the CIPSO/IPv4 protocol using DOI 8.

       netlabelctl map add domain:lsm_domain address:192.168.1.0/24 protocol:cipso,8
            Add a mapping so that all outgoing packets sent from the "lsm_domain" to the 192.168.1.0/24  network
            will be labeled according to the CIPSO/IPv4 protocol using DOI 8.

       netlabelctl -p map list
            Display all of the domain mappings in a human readable format.

       netlabelctl del domain:lsm_domain
            Delete  the domain mapping for the "lsm_domain", packets sent from the "lsm_domain" will fallback to
            the default NetLabel mapping.

       netlabelctl unlbl add interface:lo address:::1 label:foo
            Add a static/fallback label to assign the "foo" security label to  unlabeled  packets  entering  the
            system over the "lo" (loopback) interface with an IPv6 source address of "::1" (localhost).

       netlabelctl unlbl add default address:192.168.0.0/16 label:bar
            Add  a  static/fallback  label  to assign the "bar" security label to unlabeled packets entering the
            system over any interface with an IPv4 source address in the 192.168.0.0/16 network.

NOTES

       The NetLabel subsystem is supported on Linux Kernels version 2.6.19 and later.  The static, or  fallback,
       labels  are  only  supported  on  Linux  Kernels  version  2.6.25  and later.  The domain mapping address
       selectors are only supported on Linux Kernels 2.6.28 and later and CALIPSO/RFC5570 is only  supported  on
       Linux Kernels 4.8.0 and later.

       The  NetLabel  project  site, with more information including the source code repository, can be found at
       https://github.com/netlabel.  Please report any bugs at the project site or directly to the author.

AUTHOR

       Paul Moore <paul@paul-moore.com>

SEE ALSO

       netlabel-config(8)

paul@paul-moore.com                                31 May 2013                                    netlabelctl(8)