Other versions

Managing and creating packages

A package configuration includes settings, a command, a script, and any other files needed to orchestrate an action on a managed endpoint.

A package can be deployed from the Interact results grid by initiating the Deploy Action workflow.

Overview

The Tanium™ Client service runs with the permissions of the LocalSystem or root account, so it can perform almost any command line instruction available to an Administrator logged into the system. Consequently, even if logged in users do not have admin rights, a Tanium™ Console user can deploy actions to the endpoint that install, update, or remove client applications that can be:

  • Installed from a command line using the permissions of the LocalSystem account (Windows) or root (non-Windows).
  • Configured to suppress any interaction with an end-user logged into a target system at installation time.
  • Dynamically customized at installation, if needed, through options, switches, or input files passed to the application’s installer.

If the required executables, scripts, and configuration files do not natively have these characteristics, you may be able to use a commercial software packaging tool such as InstallShield or an open-sourced application like Nullsoft Scriptable Install System to create a new version of the installer.

You can use Tanium to track the count of installed applications, as well as whether those applications are being used; so before installing new software or upgrading versions of existing software, verify that your organization owns the required number of licenses or meets the Acceptable-Use criteria to centrally distribute and install the commercial or open-sourced software to devices within your organization.

Role requirements

You must be assigned a role with the Write Package permission to create, modify, or delete package configurations. Users assigned the Administrator or Content Administrator reserved roles have this permission.

Edit a package

  1. Go to Authoring > Packages.
  2. Use the search and column sorting features to find the package you want to edit.
  3. Click in the package row to select it.
  4. Click Edit and complete the configuration as described in Table 1.
  5. Save your changes.

Re-download package files

  1. Go to Authoring > Packages.
  2. Use the search and column sorting features to find the package you want to edit.
  3. Click in the package row to select it.
  4. Click Status.

    The status is displayed in a pop-up.

  5. Review the status and, if applicable, click re-download.

Tip: You can also re-download package files from the Action Summary page.

Create a package

  1. Go to Authoring > Package.
  2. Click New Package and complete the configuration as described in Table 1.
  3. Save the configuration.
Table 1:   Package configuration guidelines
Settings Guidelines
Package Name Configuration name.
Display Name This name appears in the Packages page, the Deploy Actions workflow page, and the Browse Packages dialog box on the Deploy Actions page.
Content Set Assign to a content set. The list is populated with all content sets for which you have Write Package permission.
Command Specify the command to be run on the endpoint.

Use the Add sensor variable link to insert a reference to a sensor. When the command is run, the value returned by the sensor is substituted for the variable.

One example where a sensor-sourced command is useful is when you want to kill a process currently running on an endpoint. The Running Processes sensor returns a list of all the processes running on each endpoint. You can deploy a package directly from a question that uses the Running Processes sensor to then kill one of the identified processes.

Command Timeout / Download Timeout The formula for estimating an action timeout is Command Timeout + Download Timeout. If the action has not completed by then, it must be reissued.
Ignore action lock Enable locked clients to execute actions that include this package.

Use this option in packages that promote hygiene.

Launch this package in a process group Run the package command in a process group. When the command completes or times out, the process group and any remaining descendant processes are killed.

Not configurable by default. To make it configurable, set the global setting allow_process_group_flag_edit to 1.

Requires core platform 7.2 server and client.

Files Select files for the package using the following controls to upload or download the files:
  • Local File

    Browse and select a file from your local host computer. When you upload it, a SHA-256 hash is generated.

  • Remote File

    Specify the URL, its SHA-256 hash (optional), and a Check for update option.

All the files related to packaging are stored in a subdirectory of the Tanium Server directory.

Parameter Inputs For parameterized packages only.

Click the + and then use the Add Parameter drop-down list to configure parameters. Options include:

  • Checkbox—User enables a setting by checking a box. 0 or 1 is entered into the variable. Returns 1 if checked and 0 if not checked.
  • Date, Date Time, Date Time Range—User selects a date and time or a range. The date time format is epoch with milliseconds. For a range, the user specifies two date times separated by a pipe.
  • Drop Down List—User selects only one option from a list.
  • List—User selects one or more values. Multiple values are separated by a pipe.
  • Numeric—User enters a number. The input can be controlled with minimum and maximums. You can specify a Step Size to require that the input be divisible by the specified value. Snap Interval is the amount that a number is increased or decreased by pressing the up or down button respectively. The value for Step Size should be a multiple of the value for Snap Interval unless Snap Interval is 0. The user-selected number is entered into the variable.
  • Numeric Interval—User selects a number and an item from a list. The list item has a numeric value. The value entered into the variable is the result of the multiplication. For example, if a user selects 2 and selects High (with high having a value of 3), the value is 6 in the variable.
  • Plugin—Not intended for use by most users. Contact your TAM for additional information about its use.
  • Separator—A separator is a graphical way to separate sections in the user input form.
  • Text Area—User enters a large amount of text. The text is entered into the variable.
  • Text Input—User enters text input. Allowed entries can be controlled with regular expressions. The user input is entered into the variable.
  • Time—User selects a time from a drop-down list. The input can be subject to restrictions.
Verification Query
  1. Click Add.
  2. Use the Filter Bar or Filter Builder to build the filter part of a question that will return machines that have successfully performed the action.
  3. Specify a verification failure timeout. The clock begins with the start of the action. If the action cannot be verified by the timeout, the action status is reported as failed.

After you have configured a Verification Query, the Action Status page shows an additional progress bar and Client Status Details show the machines for which the action is verified.

The verification query configuration uses a preview question. You must have the Read Sensor permission on the Reserved content set to ask the question, so you must have it to add a verification query.


Import/export a package configuration

We recommend that you develop and test content in your lab environment before distributing it to your production servers. The console import/export XML feature supports this practice.

Role requirements

Users can export specific packages for which they have Write Package permission. Users with the Administrator or Content Administrator reserved role can export and import the complete packages configuration.

Export specific packages

  1. Go to Authoring > Packages.
  2. Select one or more packages and click the Export icon.
  3. Enter a file name or use the default and click OK.

Export the complete packages configuration

  1. From any Authoring page, click the Export to XML link in the top right.
  2. In the Export Content selection box, select the Packages item and click Export.
  3. Enter a file name or use the default and click OK.

Import a packages configuration

  1. From any Authoring page, click the Import from XML link in the top right.
  2. Browse to the configuration file and click Import.

    If you are unsure how to handle naming conflicts, see Conflicts and Best practices or consult with your TAM.

You must use KeyUtility.exe to sign XML files before you import them. You must also copy the public key for the key that signed the XML file to the Tanium Server keys folder. When you import content, the Tanium Server verifies the signature on the imported content against its store of content signing key files. See Signing content XML files.

Last updated: 3/19/2018 10:42 AM | Feedback