Using Management Center for Cisco Security Agents 4.5.1
Building Policies

Table Of Contents

Building Policies

Overview

Developing a Security Policy

Providing Safe Access to Required Resources

About Rules

Combining Policies

Policy Components

Rules: Action Options and Precedence

Rules: Action Definitions

Rules: Manipulating Precedence

Monitoring Access

Making a Policy Mandatory

Querying the User

Caching Responses

Query Rule Priority Information

Building Policies and Rule Modules

Configure a Policy

Configuring Rule Modules

Setting State Conditions

System State Sets

User State Sets

Adding Rules to a Rule Module

Filtering the Rules Display

Copying Rules between Modules

Comparing Configurations

Merging or Copying Rule Modules

View Change History

Explanation of Rules

Consistency Check

Rules Common to Windows and UNIX

Agent Service Control

Agent UI Control

Hiding the agent UI

Application Control

Connection Rate Limit

Data Access Control

File Access Control

Network Access Control

Windows Only Rules

Clipboard Access Control

COM Component Access Control

File Version Control

Kernel Protection

NT Event Log

Registry Access Control

Service Restart

Sniffer and Protocol Detection

UNIX Only Rules

Network Interface Control

Resource Access Control

Rootkit / kernel Protection

Syslog Control

General Syslog rule configuration examples

Attaching Rule Modules to Policies

Attaching Policies to Groups

Using Test Mode

Group Test Mode

Rule Module Test Mode

Generating Rule Programs


Building Policies


Overview

The policies you create on the Management Center for Cisco Security Agents should reflect a well-planned, enterprise-wide security policy. If your corporate enterprise already has security guidelines in place, the rules that form your policies should reflect those guidelines.

It is important that you spend time charting out your security needs in advance rather than attempting to backfill holes as they are discovered. Because both networks and network security are dynamic entities, it is expected that you will need to adjust policies to meet the changing and growing needs of your enterprise. A well thought-out security plan is certain to save you time in the end.

This section contains the following topics.

Developing a Security Policy

About Rules

Combining Policies

Policy Components

Rules: Action Options and Precedence

Rules: Action Definitions

Rules: Manipulating Precedence

Monitoring Access

Querying the User

Caching Responses

Building Policies and Rule Modules

Configure a Policy

Configuring Rule Modules

Setting State Conditions

System State Sets

User State Sets

Adding Rules to a Rule Module

Filtering the Rules Display

Copying Rules between Modules

Comparing Configurations

Merging or Copying Rule Modules

View Change History

Explanation of Rules

Rules Common to Windows and UNIX

Agent Service Control

Agent UI Control

Application Control

Connection Rate Limit

Data Access Control

File Access Control

Network Access Control

Windows Only Rules

Clipboard Access Control

COM Component Access Control

File Version Control

Kernel Protection

NT Event Log

Registry Access Control

Service Restart

Sniffer and Protocol Detection

UNIX Only Rules

Network Interface Control

Resource Access Control

Rootkit / kernel Protection

Syslog Control

Attaching Rule Modules to Policies

Attaching Policies to Groups

Using Test Mode

Generating Rule Programs

Developing a Security Policy

If you are crafting your own policies, please refer to Chapter 12, "Policy Definition Guidelines," for information.


Caution To maintain the integrity of the preconfigured policies shipped with CSA MC, it is recommended that you do not change them. If you are using preconfigured policies but want to edit them slightly due to your own site's needs, you should instead clone the policy in question or create a new policy and add it to the group.
Note that each pre-configured rule, rule module, policy, and group page has data in the expandable +Detailed description field explaining the item in question. Read the information in these fields to learn about the items described and to determine if the item in question meets your needs for usage.

A corporate security policy should temper business concerns with security concerns. It should allow the user community to access required resources, while protecting that community from the dangers those resources can introduce. To achieve this goal, it is crucial to have a carefully planned network security policy in place to safeguard valuable organizational resources and information.

Before configuring your policies, it is important to understand exactly what network resources and services you want to protect and what threats you are most concerned about. The first step in planning a security policy is identifying the resources your user community requires to do business. That could include specific applications, protocols, network servers and web servers. Collect this information and use it to design the main features of your policy.

Providing Safe Access to Required Resources

As you determine the network resources that are required by your user community, you can identify some of the threats posed against those resources. For example, while putting together a security plan, you might find it beneficial to limit access to some resources based on various parameters such as traffic direction and allowed file types.

Upon examining past breaches of security, you could determine that email attachments and Internet file downloads pose the greatest threat to your network. In this case, you would want to develop policies to diminish the danger of accessing these particular resources. Your security plan should then incorporate policies for commonly used services such as Web, email, and instant messengers.

You could take a couple of approaches to enforcing your security plan depending upon the immediacy of any perceived threats and your basic corporate philosophy toward security. Both approaches are equally valid. On the one hand, you might choose to allow most activities and selectively add targeted restrictions. This would be a more permissive security model. This approach facilitates uptime, but may be less secure. Conversely, you could decide to shut everything down and then slowly add targeted permissions. This approach is far more restrictive and some legitimate requests could be rejected, but this may be suitable for highly secured environments. You could use both approaches for different groups.

As your security plan evolves, you can refine your policies, making them more or less granular to keep pace with your user community's needs. Your network system security depends on your implementing security policies carefully, and checking to see that they work as intended.

Figure 4-1 Protecting Information

About Rules

Rules are the foundation of your security policies. CSA MC lets you create several rule types. Each rule type requires you to enter varying combinations of information using a specific syntax. Most Policies and Rule Modules use a combination of Enforce and Detect rules. Enforce rules are primarily access control rules that allow, deny, or terminate a process. Detect rules are monitoring, and tagging rules. In rule display lists, enforce rules are shown at the top of the list and detect rules are shown at the bottom. These rule types work together to monitor actions, build application classes, and protect systems.

For example, the following basic enforcement rules require information as follows:

Use file access control rules to allow or deny what operations(read, write) selected applications can perform on files and directories according to:

the action you are allowing or denying

the application attempting to access the resource

the operation (read, write) attempting to act on the file or directory

Use network access control rules to control access to specified network services according to:

the action you are allowing or denying

the application attempting to access the service or address

the direction (client, server, listener) of the communication

the service a system is attempting to use

the address a system is attempting to communicate with

Use registry access control rules (Windows only) to allow or deny selected applications from writing to specified registry keys according to:

the action you are allowing or denying

the application attempting to write to the registry keys and values

the modification of Key/Value pairs

Use COM component access control rules (Windows only) to allow or deny selected applications from accessing specified COM components according to:

the action you are allowing or denying

the application accessing the COM component

Other types of enforcement rules shipped with CSA MC provide event correlation and heuristic features which can be enabled on a per group basis, like portscan detection, SYN flood protection, the prevention of predictable TCP sequence numbers, and the blocking of malformed IP packets. (These features are located on the Network shield rule page.) This is especially useful for network servers. (See Chapter 5, "Using System Correlation Rules" for more information.)

The following basic detection rules work as follows:

Use various tagging rule types with "Add process to application class" or "Remove process from application class" selected to build application classes based on process behavior rather than executable name. Once applications are built or "tagged" they are used in other enforcement rules.

Use rules such as NT Event log and Sniffer and protocol detection to log designated event types when they occur.

By tying together the controlling and monitoring of various system functions and by operating under the direction of assigned policy rules, agents provide overall system protection,

Combining Policies

You can attach multiple rule modules to single policies and you can attach multiple policies to a single group. Moreover, a host can belong to multiple groups and inherit policies from all of them. For example, a desktop can belong to the Desktop-All types group and inherit the Systems-Test Mode policy. It can also belong to the All group through which it receives the Remote Systems Policy.

When more than one policy is associated with a host, the rules modules in the individual policies are merged as though they were all defined within a single policy. In particular, the rules in the policy are ordered in the same sequence as they would be within a single module. See the section on Rules: Action Options and Precedence for priority order information.

Figure 4-2 displays the relationship between host, group, policy, and rule module configuration items. In the diagram, you can see that the policy level is the common ground by which host groups acquire the rules that make up their security policy.


Note You can view merged policy rules at both the group and host levels.


Figure 4-2 Host, Group, Policy, Rule Module Associations

Policy Components

The following sections describe the various components you must configure as part of rules modules that will form your policies.

Rules: Action Options and Precedence

When you configure certain rule types, you select an action for that rule (allow, deny, etc.). When you add your rule modules to policies, CSA MC orders individual rules from multiple modules according to action, in the following manner within each policy.

Priority 1

High Priority Terminate Process

Priority 2

High Priority Deny

Priority 3

Allow

Priority 4

Query User (Default Terminate)

Priority 5

Query User (Default Deny)

Priority 6

Query User (Default Allow)

Priority 7

Terminate Process

Priority 8

Deny

Priority 9

Default Action (Allow)

Priority 10

Add process to application class

Priority 11

Remove process from application class

Priority 12

Monitor


The priority listings beside each item indicate the manner in which CSA processes rules. All priority 1 enforcement rules (High Priority Terminate Process) are checked first and priority 8 enforcement rules (Deny) are checked last and that is only if no other higher priority rules have already been triggered by a system action. Detection rules, such as priority 12 Monitor rules, are always checked, even in the presence of a higher priority enforcement rule which governs the same resources triggering first.


Note The default action of the agent is to allow an operation (priority 9 in the previous table) in the absence of any applicable rule. An exception to this occurs when attempts are made to modify the Cisco Security Agent resources. Due to agent self-protection, these requests are denied by default.


Rules: Action Definitions

When you configure your access control rules, you must select an action for that rule. The following is a description of all possible action types. You should note that not all action types are available for all rules.

Enforcement Actions

High Priority Terminate Process—Select this action type to create a terminate rule that takes precedence over all other allow, terminate, deny, and query rules. This action denies the application access to the resource in question and also attempts to terminate the application process. Under the same circumstances, if the terminate is not high priority and a conflicting allow rule exists in the same policy, the allow takes precedence. Note that all processes cannot be safely terminated (e.g. winlogon). If it is not safe to terminate the process, the action will be denied but not terminated.

High Priority Deny—Select this action type to create a deny rule that takes precedence over all other allow, deny, and query rules. For example, if you configure an allow rule that conflicts with this high priority deny, the high priority deny always takes precedence. Under the same circumstances, if the deny is not high priority and a conflicting allow rule exists in the same policy, the allow takes precedence.

Allow—Select this action type to create a rule that allows the action you specify to take place. Because the default action of all rules is "allow", generally, you'll only want to configure allow rules as exceptions to existing deny rules within policies.

Query User (Default Terminate)—Select this action type to prompt the user when the action you indicate occurs. The user then has 5 minutes to answer Yes, No, or Terminate. By default, it will be denied and the process will be terminated unless the user decides otherwise. See Query User for more details. (Query User options are not available for Solaris rules.)

Query User (Default Deny)—Select this action type to prompt the user when the action you indicate occurs. The user then has 5 minutes to answer Yes, No, or Terminate. By default, it will be denied unless the user decides otherwise. See Query User for more details. (Query User options are not available for Solaris rules.)

Query User (Default Allow)—Select this action type to prompt the user when the action you indicate occurs. The user then has 5 minutes to answer Yes, No, or Terminate. By default, it will be allowed unless the user decides otherwise. See Query User for more details. (Query User options are not available for Solaris rules.)

Text used to query user—If you are configuring a Query User rule, you must also configure query settings. The text you type into the query settings field is the same text that will appear in the Query User pop-up box to explain what is occurring on the system to the user.

Terminate Process—This action denies the application access to the resource in question and also attempts to terminate the application process. Note that all processes cannot be safely terminated (e.g. winlogon). If it is not safe to terminate the process, the action will be denied but the process will not be terminated.

Deny—Select this action type to create a rule that stops the action you specify from occurring on systems. (When you select Deny for this rule, if the user attempts to run the application in question, he/she is notified with a pop-up box explaining that the application is forbidden to run.)

Detection Actions

Note that Detection rules, such as priority 12 Monitor rules, are always checked, even in the presence of a higher priority enforcement rule which governs the same resources triggering first.

Add process to application class—Use this for defining dynamic application classes. A dynamic application class is built based on an application's behavior rather than by a specific application executable name. A process will be added to a dynamic class when the parameters of the rule (allow, deny, terminate) that dictate access to a resource are met. See Chapter 6, "Using Application Classes" for details.

Remove process from application class—Use this action type to remove a dynamic application tag from a process. A process will be removed from a dynamic class when the parameters of the rule (allow, deny, terminate) that dictate access to a resource are met.


Note Dynamic classifications are part of an application class when they are running on the system. When the process stops running, the CSA MC application classification for that process also ends. Should the process begin again, it may or may not fall into the same application class depending on the process's behavior and on the definition of the application class. Therefore, all dynamic application classifications are ephemeral and are constantly being re-evaluated and classified on the system.



Note All rules are evaluated before any dynamic application classifications are applied to processes. This ensures that application class memberships are consistently applied for all rules being evaluated for a given request.


Monitor—Most rule types provide a "Monitor" action. You may want to write monitor rules to produce events for certain resource accesses without having to write an explicit allow or deny rule about that resource. You can also write monitor rules in the presence of other similar rules dictating the availability (allow, deny, etc.) of a resource. For example, you can write a monitor rule for a resource and if the monitor rule is triggered, any subsequent rules about the resource in question will trigger as well. This allows you to configure general alerts about resources regardless if the resource access action is an allow or a deny.

For every rule module you configure, the default action of that rule is Allow. All rule modules allow all system actions until you write a rule denying a specific action. Following that logic, it is unlikely that you would write allow rules unless they are to make exceptions to deny rules you are writing within a module or for monitoring purposes (see Monitoring Access). If you do write a stand-alone allow rule, because the default action is allow, the allow rule itself is then essentially irrelevant.

A good model for configuring rules within modules would be to take the priority levels into account and work from the bottom up, lowest priority to highest priority. Before you even add a single parameter to a rule, by default, it allows all system actions. First, write a deny rule and then if you want to make any exceptions to that particular deny, write an allow rule. Next consider using query rules for access controls that allowing the user to decide if an action should be allowed or denied. Lastly write any high priority rules you might need.

Rules: Manipulating Precedence

In addition to using the selected "action" type to order rules within a policy, CSA MC uses the selected logging type as a way to suborder similar rules within a policy. Logging automatically takes precedence over disabled logging if the action type is the same for multiple rules in a policy. Therefore, for rules of a given priority, e.g. Allow, a Log rule will be evaluated before a No Log rule.

For most policies, this automatic ordering and subordering of rules provides the desired effect when policies are combined and deployed. However, there are cases when the CSA MC ordering scheme causes policies to behave in an undesired manner. For this reason, most rule types provide a checkbox that allows you to manipulate how similar rule types are subordered within a policy. This checkbox, called Take precedence over other <similar action> rules, is located in the rule configuration page. A rule with this precedence checkbox selected is evaluated before similar rules that do not have this checkbox selected.

Here is an example of two rules within the same policy which do not behave as expected due to automatic rule ordering. There are two Network access control rules in the same policy as follows:

Log, Deny, All applications, acting as a server,
for TCP/1-65000

No Log, Deny, All applications, acting as a server,
for TCP/1900

The rule that involves connections on TCP/1900 would be denied and logged despite the fact that logging is not selected for that rule. This is because the rule involving connections on TCP/1-65000 would be evaluated within the policy first and connections made on TCP/1900 would go to the event log even though the rule did not have logging selected.

In this example, using the Take precedence over other <action> rules checkbox in the TCP/1900 rule would allow you to designate its precedence as higher than other deny rules in the policy, giving you the ability to suppress log messages for actions you want to be denied but for which you do not want to be continually notified due to another rule within the policy.


Caution The Take precedence over other <action> rules checkbox is a rule ordering tool you should rarely need. In most cases, the CSA MC automatic ordering of rules is sufficient. But if you are using this checkbox to manipulate rule ordering, you should understand the following rule order scheme. Within a given policy, rules are sorted using this criteria:
* Action type
* Precedence checkbox On/Off
* Log checkbox On/Off


Note For a given policy, if you have multiple rules of the same action type, the same logging type, and the same "take precedence" type, the ordering of these rules is inconsequential within the policy because there is no differential criteria by which to order them.


Monitoring Access

Most rule types provide a "Monitor" action. You may want to write monitor rules to produce events for certain resource accesses without having to write an explicit allow or deny rule about that resource. You can also write monitor rules in the presence of other similar rules dictating the availability (allow, deny, etc.) of a resource. For example, you can write a monitor rule for a resource and if the monitor rule is triggered, any subsequent rules about the resource in question will trigger as well. This allows you to configure general alerts about resources regardless whether the resource access action is an allow or a deny.

Making a Policy Mandatory

CSA MC provides three auto-enrollment architectural groups (Windows, Solaris, Linux) that are mandatory for all hosts of a given OS architecture. By providing group auto-enrollment for hosts, any policies you attach to these groups also become mandatory by association. You might want to use these mandatory groups to apply policies which prevent some critical service from being inadvertently banned. For example, you could attach policies to prevent DNS or DHCP from being disabled by an overly restrictive rule.

Querying the User

When you create access control rules, beyond simply allowing or denying a specific action, you can select to query the user when an action triggers the rule in question. The user can then decide to allow the action, deny it, or terminate the process at that time. When you select to query the user, you are also crafting explanation text to display to the user and whether to allow, deny, or terminate the action by default if the query is not answered within 5 minutes. If the user is not logged in to the system, the default action is taken immediately.

Query configurations are a Variable setting which allows you to decide which radio button options are displayed in the pop-up query box, which action is the default, whether the answer given by the user is to be remembered, and what the query text to be displayed will be.

For a Query setting, the response to the query is relevant to the question, not the resource. For example, if a File access control rule queries the user for a response and that identical query is also configured for a Network access control rule, the user is not queried again when the Network access control rule triggers. The query response from the previous File access control rule is automatically taken.

See Query Settings, page 7-25 for configuration details.


Caution For Solaris rules, Query user options are not available. Instead, the default action is immediately taken.
For Windows and Linux agents, agent settings (including user queries) are configurable by the administrator. If the agent UI is hidden for the group, there are no query user pop-up boxes displayed. The default is immediately taken on all query user rules and heuristics that are present in the assigned polices.

When an action is attempted on a system where a query user rule is triggered, a pop-up box appears on the system where the resource is located.

Figure 4-3 Query User Pop-up Box

From the Query Settings page, accessible from the Configuration>Variables menu, you configure the query text and the query radio buttons that appear in the pop-up box the end user will see. In the Query pop-up box, the user reads the information given on the attempted action and selects one of the following possible choices and clicks Apply:

Yes—Allows the application access to the resource in question.

No—Denies the application access to the resource in question.

No, Terminate this application—Denies the application access to the resource in question and also attempts to terminate the application process. The name of the application in question is displayed with the terminate option. (Some processes cannot be safely terminated, such as winlogon.)

Default Action—You chose one of the radio buttons displayed in the query pop-up to be the Default action. If the query is not answered by the user within 5 minutes or if the user is not logged in to the system, the default action is taken immediately.

Don't ask me again—In addition to the button s that will appear on the query box, you can decide to also display a Don't ask me again checkbox so that the user's query response is remembered. If the user selects that checkbox when he/she responds to the query, and the same query is triggered, the remembered response is automatically taken and the user is not queried again.

Query challenge—For added security, you can issue a query challenge on the query pop-up box. If the default answer is not selected by the user and the selected answer is weaker than the default, a challenge will appear. This ensures that the user sitting in front of the system is answering the query rather than a malicious remote user or program attempting to respond. To pass the challenge, the user enters the information displayed in a graphic on the pop-up box itself.

(See Query Settings, page 7-25.)

When you configure your query settings for the rule, the text you type into the Query Setting page's Text used to query user field is the same text that will appear in the Query User pop-up box to explain what is occurring on the system to the user. Therefore, making this information descriptive of the system action that triggered the pop-up is important.


Caution With file access control rules, the query user pop-up box appears on the system where the file or files in question are located. If a user is attempting to remotely access restricted files, the pop-up box appears on the remote machine where the files are located, not on the user's machine. That being the case, you would likely not want to place "query user" file access restrictions on files that are kept on an unattended system.

Caching Responses

When users are queried, the agent can remember the response permanently or temporarily. This way, if the same rule is triggered again, the action is allowed, denied, or terminated based on what answer was given previously with no pop-up query box appearing again either permanently or for some period of time.

For example, if a user is queried as to whether an application can talk on the network and the user responds by selecting the Yes radio button and clicking a Don't ask again checkbox, the Yes response is remembered permanently and that response appears in the edit field in the agent UI query response window. But if the user is queried as whether setup.exe can install software on the system and the user responds by selecting the Yes radio button, but there is no Don't ask again checkbox or it is there but the user does not select it, this response is remembered temporarily and it does not appear in the agent UI query response window.

If the user response is only cached temporarily (for approximately an hour) the user can click the Clear button in this window to delete all temporarily cached responses. To clear permanent responses listed in the edit field, the user must select the response in the edit field and press the Delete key.


Note Permanent responses are remembered across reboots. Temporarily cached responses are not remembered across reboots. Also note, a query response is tied to the user who responded. On multi-user machines, multiple users may be asked the same question.


Query Rule Priority Information

You should note how CSA MC manages rule priority if there are multiple similar query rules which need to be evaluated.

Base Priority: Action=Allow, Deny Terminate/no challenge/no don't ask again/no logging.

Relative priorities for query options that are turned on are as follows (top to bottom):

Challenge/Don't ask again/Logging

Challenge/Don't ask again

Challenge/Log

Don't ask again/Log

Don't ask again

Log

Building Policies and Rule Modules

When you configure a policy, you are combining multiple rule modules under a common name. That policy name is then attached to a group of hosts and it uses the rules that comprise the policy to control the actions that are allowed and denied on those hosts. You can have several different types of rules in a rule module and consequently within one policy.

The policy level is the common ground by which host groups acquire the rules that make up their security policy. If you are configuring your own policies, you should begin by understanding the purpose of your policy and how you must build your rule modules to meet your needs. It's recommended that you build your policies from the top down. In other words, configure items in the following manner:

a. Decide what purpose the policy serves.

b. Understand what tasks the rule modules that comprise your policy must accomplish.

c. Decide what rule types you must configure to accomplish the tasks you've isolated.

Configure a Policy

Generally, when you configure a policy, you are combining multiple rule modules under a common name. That policy name is then attached to a group of hosts and it uses the rules that comprise the policy to control the actions that are allowed and denied on those hosts. You can have several different types of rules in a rule module and consequently within one policy.

The policy level is the common ground by which host groups acquire the rules that make up their security policy. You can attach rule modules of differing architectures to the same policy. This way, you can configure task-specific, self-contained, inclusive policies across all supported architectures (Windows, Solaris, Linux) for software that is supported on all platforms.


Note Management Center for Cisco Security Agents ships with preconfigured policies you can use if they meet your initial needs. If you use a preconfigured policy, you do not have to create your own policy as detailed in the following pages.


To configure a policy, do the following.


Step 1 Move the mouse over Configuration in the menu bar of CSA MC and select Policies from the drop-down menu that appears. The policy list view appears.

Step 2 Click the New button to create a new policy entry. This takes you to the policy configuration page.

Step 3 In the available policy configuration fields, enter the following information:

Name—This is a unique name for this policy grouping of rule modules. Names are case insensitive, must start with an alphabetic character, can be up to 64 characters long and can include alphanumeric characters, spaces, and underscores.

Description—This is an optional line of text that is displayed in the list view and helps you to identify this particular policy.

Step 4 Select one or more Target architecture types for the policy. You can have one policy, for example - an Apache Web Server policy, and have all three architecture checkboxes selected. This way, each architecture specific rule module for Apache can be attached and deployed through one single Apache policy.

Step 5 Click the Save button.

This policy is empty until you attach configured rule modules to it.

Figure 4-4 New Policy

Configuring Rule Modules

Rule modules are the building blocks for your policies. Modules are made of several different types of rules. See Chapter 5, "Using System Correlation Rules" for information on event correlation and heuristic rules such as System API control.


Note Carefully read the section on writing allow and deny rules (page 9) so that you will understand how rule precedence works once policies are deployed. You should also refer to the chapter on configuration Variables (Chapter 7, "Configuring Variables") to help you understand the information required by the rule text fields.



Caution To maintain the integrity of the preconfigured policies and rule module shipped with CSA MC, it is recommended that you do not change them. If you are using preconfigured policies but want to edit them slightly due to your own site's needs, you should instead create a new policy (you can do this by cloning an existing policy) and add that policy to the group.

To configure a rule module, do the following.


Step 1 Move the mouse over Configuration>Rule Modules in the menu bar. If you have not set OS admin preferences, you must select whether this is a Windows or a UNIX rule module from the cascading menu that appears. When you make a selection, the list of existing rule modules is displayed. CSA MC ships with several pre-configured modules.

Step 2 Click the New button to create a new module.


Tip You can click the <#>rules link on the rule module list page to go directly to the rules contained in the module.


Step 3 In the rule module configuration view, enter a unique Name for your module. Names are case insensitive, must start with an alphabetic character, can be up to 64 characters long and can include hyphens and underscores _ . Spaces are also allowed in names. Use a descriptive name that you can easily recognize in the policy listbox when you are attaching modules to policies.

Step 4 Enter a Description of your module. This description is visible in the rule module list view. Optionally, expand the +Detailed field to enter a longer description.

Step 5 In the Operating System box, optionally, you can select to target this module for a specific operating system within your Windows or UNIX classification.

Step 6 Optionally, you can put this rule module into Test Mode. This way, you can have the rules within the test mode module operating in test mode while rules from other modules assigned to the same host are operating in a live mode. This is useful for testing new rule modules or changes to existing modules without having to turn off all protections for the hosts in question. You can also apply test mode on the group level. See Using Test Mode for details.

Step 7 Click the Save button.

Step 8 Now you add rules to your module. Click the Modify rules link at the top of the page.

Refer to the following sections for details on adding, copying, and configuring rules.

Step 9 Optionally, you can impose configured State Conditions on rule modules. You can configuration System State conditions or User State conditions.

Figure 4-5 New Rule Module

Setting State Conditions

System State and User State conditions let you write conditional rules based on the state of a system or the user of the system. Therefore, rules are only applied if the configured conditional settings are met.

System State Sets

System state parameters let you dictate conditions based on detected machine settings. When a machine is operating an agent with a configured system state, the rules associated with that state apply only when the state parameters are met. They are conditional rules. For example, if you apply a system state to a rule module, you can dynamically "activate" and "deactivate" rules modules based on the changing state of a system. For example, you can apply special boot time rules that apply only at boot time. After booting is complete, normal operation rule modules are applied. Also, for example, you can apply a looser set of rules if an installation is occurring on a system. Once the installation is complete, a more stringent, normal operating set of rule modules are applied.


Note You do not have to specify a setting for every field in the System State page. If you do specify multiple settings, note that within single fields, multiple selections are "or-ed". If settings are specified for multiple fields, they are "and-ed".


For a more detailed description of system state setting options, read the configuration instructions here.

Configure a System State Set by doing the following:


Step 1 Move the mouse over Configuration>Rule Modules in the menu bar. Select System State Sets from the cascading menu that appears.

Step 2 Click the New button to create a new system state. See Figure 4-6.

Step 3 Enter a unique Name for your system state. You will select this name in the Rule Module page. Names are case insensitive, must start with an alphabetic character, can be up to 64 characters long and can include hyphens, underscores, and spaces.

Step 4 Enter a Description.

Step 5 In the Network Admission Control section, you can select one or more (Hold the Shift key down while you click the mouse to choose multiple, concurrent options. Hold the Ctrl key down to select non-concurrent options.) Cisco Trust Agent posture state conditions for a system to ensure that corporate security requirements are met on that system. This feature works in conjunction with the capabilities of Cisco's Network Admission Control (NAC) functionality. See Creating Agent Kits, page 3-8 and Cisco Security Agent Posture Plug-in for CTA, page 10-20 for more information.


Note Currently, the Cisco Trust Agent (an optionally installed product available from Cisco Systems) is only supported on Windows platforms.


The Cisco Trust Agent checks the status of a system and reports this status back to the Cisco Secure Access Control Server (ACS). Based on this status check, ACS returns a "posture state" that the Cisco Security Agent can act upon.

For example, if a machine is running anti-virus software that is not up-to-date or is disabled, the Cisco Trust Agent can report this status to ACS which can then return an "Unknown" or a "Quarantine" state. The Cisco Security Agent will then take action based on that posture state and enforce a stricter policy to protect that system or even quarantine the system from the network. Refer to your ACS documentation for information on posture states and what they mean. Possible posture states are:

<Don't care>—This state is not provided by ACS. All received posture states can match or not match this selection and the policy state is not affected. For UNIX states, this is currently the only valid posture state.

Healthy—Host credentials are up-to-date and the risk to the network from this host is low.

Checkup—Host credentials are not quite up-to-date, but the risk to the network is low. The host should update credentials as soon as possible.

Quarantine—Host credentials are out-of-date. The host is vulnerable to compromise and should be updated immediately. The risk to the network from this host is high.

Transition— The Host is in the process of having its posture checked and is given interim access pending a result from a full posture validation. A transition result may be applicable when a host is booting and requires restricted access to the network to complete the booting process , but not all posture information is available, for example, Windows machines need access to domain controller before user has logged in and before all posture applications may be running.

Infected—Host has been compromised. The risk to the network from this host is very high. The host should be cleaned immediately.

Unknown—The posture of host cannot be determined due to an error.

Other—This state is not provided by ACS. If there is an incompatibility with posture state information received from ACS, it is seen as "Other" by the Cisco Security Agent. You can use this posture state as a criteria for enforcing a set of rules in the same manner you use other criteria.

Step 6 In the System Security section, you can select one or more (Hold the Shift key down while you click the mouse to choose multiple, concurrent options. Hold the Ctrl key down to select non-concurrent options.) Security level conditions. If the end user has an agent UI, you can have a Security level condition apply which allows the user to set the security slidebar on their UI to a specific level. This provides some degree of user control to manage false positives or to control security when operating remotely or on the local network. This allows the user to decide, again to some degree, how much security they require.

Step 7 In the System Location section, you can use the Network address ranges field to enter one or more addresses or address ranges to create a state condition based on system address. By default, no restrictions are set here. If you enter address conditions here, the condition applies if at least one interface matches what is specified. If you enter multiple ranges here, only one address has to match for the system state to apply.

Step 8 In the System Location section, you can use the DNS suffix matching field to set a condition based on DNS server domain. It is the suffix of the DNS server used to resolve names that this field refers to. If any DNS server suffix (e.g. cisco.com) matches an item specified here, the condition is applied. You can use the but not field to make specific exclusions to DNS suffix matching parameters you configure.

Step 9 In the Additional State Conditions section, you click the Add State link to add one or more of the following additional states to this page. (Use the pulldown menus that appear to select an option. Then use the pulldown to the right of your selected option to choose one of the following settings: <Don't care>, Yes, No.)

Select the Management Center reachable option to set a state condition based on whether the Cisco Security Agent can communicate with the Management Center. Based on this condition, rules are applied or not applied. When the agent service first starts, it assumes that the management center is unreachable. When it attempts to communicate with the management center to receive rule changes or to upload events, if it can communicate with the management center at that time, it is then considered reachable.

Select the Installation process detected option to set a state condition to apply if an installation is in progress on a system. For example, perhaps you want to apply a less restrictive set of rules to allow an installation when it is detected on a system. See Installation Applications Policy, page 5-19 for more information.

Select the Rootkit detected option to set a state condition if a driver is seen attempting to dynamically load. Based on this condition, rules are applied or not applied. This state condition could be met if you are using the "Unauthorized rootkit" built-in dynamic application class in a rule module. When a process is added to the dynamic Unauthorized rootkit class, this system state condition is triggered. See page 6-8 for details on this application class.

Select the System booting option to set a state condition to apply for the time frame in which the system is booting. Based on this condition, a set of designated rules apply only during boot time.

Select the Virus detected option to set a state condition to apply if a virus is detected on a system. Based on that virus detection, a state condition setting can enforce a designated set of rules. This state condition could be met if you are using the "Suspected Virus Applications" built-in dynamic application class in a rule module. When a process is added to the dynamic Suspected virus applications class, this system state condition is triggered. See page 6-8 for details on this application class.

Step 10 Click the Save button.


Note The system states you configure are additive. All specified state conditions are used as part of the requirement(s) to be met for the state to trigger.



Caution Remote VPN Clients - System Location and Management Center Reachable system states are checked by the agent whenever the network configuration changes on the system. Some VPN clients may make network configuration changes on a system that cause a system state to trigger. Such VPN clients can make use of System Location and Management Center Reachable settings to change the policy depending upon whether a tunnel is up or not. Other VPN clients, such as the Cisco VPN client V3.6, do not change network configurations on a system. Therefore, you cannot use System Location and Management Center Reachable states to detect tunnels with these types of VPN clients. You should understand how your VPN client operates if you want to use these system states.

Figure 4-6 System State Conditions

User State Sets

User state parameters let you dictate conditions based on detected user and/or group settings. When a machine is operating an agent with a configured user state, the rules associated with that state apply only when the state parameters are met. They are conditional rules. Keep this in mind when assigning a user set to a rule module.

You should also keep in mind that the process of checking user states is an expensive one for the system. You should use these settings judiciously.

An example of when you might want to employ a user state is as a restriction dictating who can alter web server pages. The web server application itself should only serve pages, not edit them. You could use a setting here to ensure that only authenticated administrators using a specific application (e.g. FrontPage) are allowed to alter web server content.

Another example of appropriate user state setting usage is a situation where groups of users are restricted from performing certain tasks that you only want to allow administrators to perform, such as suspending agent security.

Configure a User State Set by doing the following:


Step 1 Move the mouse over Configuration>Rule Modules in the menu bar. Select User State Sets from the cascading menu that appears.

Step 2 Click the New button to create a new user state. See Figure 4-7.

Step 3 Enter a unique Name for your user state. You will select this name in the Rule Module page. Names are case insensitive, must start with an alphabetic character, can be up to 64 characters long and can include hyphens and underscores _ . Spaces are also allowed in names.

Step 4 Enter a Description.

Step 5 In the Users matching field, if you choose to set a condition based on user information, enter the user string data using machine name or domain name\user account. For example, entries in this field might appear as follows:

Domain_Accounting\Administrator This represents the administrator in the Windows domain "Domain_Accounting."

W2K-jefe\Administrator This represents user "Administrator" defined locally on the computer "W2K-jefe."

*\Administrator This represents any user administrator.

Domain_Accounting\* This represents all users in the domain "Domain_Accounting".

You can use wildcards in the Users matching/but not fields.

Step 6 You can use the but not field to make specific exclusions to user matching parameters you configure.

Step 7 In the Groups matching field, if you choose to set a condition based on group information, an entry in this field might appear as follows:

NT AUTHORITY\SYSTEM

Domain_Accounting\Administrators

For Windows, you can also enter SID (Security Identifier) numerical classifications into the Group matching field. Using a SID rather than a group name is useful when writing states that will apply across international versions of operating systems. Group names may be different across languages, but a SID classification is always the same.

You cannot use wildcards in the Groups matching/but not fields. If users belong to multiple groups, they only need to match one named group to meet the criteria of the user state.


Note It is recommended that you use Group permissions rather than User permissions because Group designations are more widely applicable.


Step 8 You can use the but not field to make specific exclusions to group matching parameters you configure.

Step 9 Click the Save button.

Figure 4-7 User State Conditions

Adding Rules to a Rule Module

First, click the Modify rules link at the top of the Rule Module page to go to the Rules page. See Figure 4-8.

To add rules to this policy, click the Add rule link in the Rules page. A menu list of the available rule types appears. Click on one to select it. This takes you to the configuration view for this rule type. Note that this rule contains no parameters until you create them.

Figure 4-8 Rule Module, Modify Rules


Note Refer to the following sections for details on configuring particular types of rules.


Use the Enable and Disable buttons in the rule module configuration view to enable or disable rules within a module without having to navigate to the configuration view for that particular rule. Select the checkbox for the rule you want to enable or disable and click the corresponding button. See Figure 4-9.

The ID column in the Rules section is the rule ID number assigned to the particular rule in question. This number increments each time a new rule is created. It is only used as an identifier for the rule. This ID is referenced in Event Log messages and can help you refer back to a particular rule.

The Events column in the Rules section (see Figure 4-10) displays the number of events generated by the rule in the last 24 hours. Clicking this number link takes you to a list of the events themselves.

Figure 4-9 Rules List

Filtering the Rules Display

The Groups configuration page, Policy configuration page, and the Rules configuration page each display a table listing either the rules attached to the group or the rules included in the module (see Figure 4-10). On all of these pages, there is a View All rules item above the table. Clicking the All link here lets you filter your view of this rule list by selected rule type. When you click All, a pop-up appears listing the rule types present in the module or modules. Select a rule type from the pop-up, and that is now the only rule type displayed in the table. You can also select to view only enabled rules by selecting the show enabled rules only checkbox and then select the rule type you wish to view.


Note When you filter the rules display, other rules are NOT removed from the module. It is only your view of the module that changes. You can revert back to the entire summary view by selecting All from the same pop-up menu.


This filtering feature is useful when lists of rules grow extensive and you want to pare down your view to specific rule types.

If you have user or system states applied to rule modules, you can also filter the display based on those settings. This is useful to view which rules are applied when particular states are active.

Copying Rules between Modules

Use the Copy button in conjunction with the pulldown lists at the bottom of the Rule Module page to copy selected rules to another rule module that you designate. Copying rules across modules works similar to the way cloning configurations works. (You can also clone rules within policies using the Copy button that will be described in this section.)

To copy selected rules from one module to another module, do the following:


Step 1 From the Rule Module page (see Figure 4-10), select the checkbox for the rule or rules you want to copy to another module.

Step 2 Beside the Copy button, to is the default selection in the pulldown menu. (Do not change this for copying individual rules between modules.) From the rule module pulldown list, select the name of the module to which you want to copy the selected rule or rules.

Step 3 Click the Copy button.

All checked rules are copied to the selected module.

To clone rules within a module, repeat step 1 above. Then, rather than selecting another module in the rule module pulldown list, select the current module you are in from that same pulldown. Selected rules are cloned within the same module when you click the Copy button.

Select from in the pulldown menu beside the Copy button to copy ALL the rules from the selected module (in the rule module pulldown list) to the current module.

Figure 4-10 Copy Rules between Modules

Comparing Configurations

When you select the checkbox next to 2 items (you cannot compare more than 2 configurations at a time) and click the Compare button, CSA MC displays the configurations side by side and highlights the differences in red (see Figure 4-11). Once you've examined how the configurations compare, you can select to merge specific rules, to copy rules to another module, or to copy rules to a new module. Additionally, you can attach and detach groups and policies. (You can compare application classes and variables, but you can only copy and merge rules from the compare page.)

The purpose of this compare tool is to assist you after you've imported configurations or upgraded CSA MC. These processes can cause you to have duplicate or very similar configuration items. Comparing and merging configurations can help you to more easily consolidate duplicate items. This Compare utility is also available for Groups, Policies, Application Classes, and Variables.

Feature notes:

When you compare rule modules, the similar rules within those modules are displayed side by side with the differences highlighted in red. If there are no differences, rule description text appears in black.

If there is a rule in one modules and no corresponding similar rule in the second modules, there is nothing displayed beside that rule in the comparison.

If you have rules in your modules comparison that have the same description, application class and other configuration items, they will not appear side by side if they have different logging options selected or different Allow/Deny actions. Logging and allow/deny actions change the priority of the rule within the policy. If the priority is not the same for each rule, they are not displayed side by side.

Figure 4-11 Compare Rule Modules

Merging or Copying Rule Modules

Merge or copy rules by selecting the available checkbox above the rule or rules in question. When you click the Copy button in the bottom frame, a pop-up window appears. From this window, you select to do one of the following:

Copy the selected rules from one rule module in the comparison to the other rule module in the comparison

Copy the selected rules to another rule module you select (not part of the current comparison)

Copy the selected rules to a new rule module which you create at this time by entering its name in the available field

Figure 4-12 Copy Rule Module Pop-up Box

View Change History

At the top of each rule page, there is a View change history link. Click this link to go to a page which lists all the changes that have been made to this rule. This View change history link is also available for Application classes, Variables, Rule Modules, and Policies.

Explanation of Rules

CSA MC provides an explanation, in paragraph form, of the policy in question, describing each rule and its role in the policy. Clicking the Explain rules link in the Groups, Host, Rule Modules, or Policy page, takes you to this paragraph explanation. See Figure 4-13.

Figure 4-13 Rule Explanation Page

Consistency Check

The main rule module page provides an OS consistency check for variables that are part of the rule. For example, it makes sure that Linux applications classes are attached to a UNIX module that has Linux or All UNIX as its target OS. If the rule module has a target OS of Solaris, the consistency check will fail if the application class is marked as Linux.

This consistency check also ensures that modules of a specified OS type are attached to similar OS policies. You are allowed to save modules that do not pass the consistency check so that you can clone items or make multiple policy edits, but you are not allowed to attach and deploy inconsistent items.

Rules Common to Windows and UNIX

The following rule types are available for both Windows and UNIX policies.

Agent Service Control

Use the Agent service control rule to control whether administrators are allowed to stop agent security (This is via a net stop command on Windows or via /etc/init.d/ciscosec stop on UNIX. See Chapter 10, "Using Management Center for Cisco Security Agents Utilities," for details) and whether end users can disable security via the agent UI security slide bar. Stopping agent security disables all rules until security is manually resumed or the system is rebooted.

If you use this rule to deny agent service stops, the agent service cannot be stopped on the system in question and therefore agents cannot be uninstalled.


Note Although agents cannot be uninstalled by administrative users if this rule denies the stopping of the agent service, this rule does not prevent agent software updates from occurring.


You can also use this rule to monitor, terminate, or tag a process that attempts to modify the agent configuration.

These instructions are a continuation of Configuring Rule Modules.


Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Agent service control rule. This takes you to the configuration view for this rule type (see Figure 4-14).

Step 3 In the Agent service control rule configuration view, enter the following information:

Description—Enter a description of this rule. This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.) By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Step 4 Take the following action—(Note that not all action types are available for this rule on Windows platforms.) Select an action type from the pulldown list. For further details on rule action types, see Rules: Action Options and Precedence.

Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 when

Applications in any of the following selected classes

Select one or more preconfigured application classes.
Note that the entry, <All Applications>, is selected by default. You can use this default or you can unselect it and create your own application classes. For application class configuration details, see Chapter 6, "Using Application Classes".


Note On UNIX systems, anyone with root access can stop the agent service. To prevent this, while still allowing administrators to stop the agent service, you would configure an Agent service control rule to Deny <All Applications> from stopping the service. Then configure another Agent service control rule which Allows only a UNIX Secured Management application class to stop the service.


But not in the following class—Optionally, select application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.

attempt to disable agent security

This checkbox controls whether users with administrator privileges can stop the agent service from the Service Control Manager or by running net stop "Cisco Security Agent" from a command prompt on Windows or via /etc/init.d/ciscosec stop on UNIX.


Note This also controls whether the "Off" setting on the agent security level slidebar allows the end user to turn agent security off. If you do not allow the stopping of the agent service, the Off level, if available, is ineffective. See Agent UI Control for more information.


attempt to modify local agent configuration

The Cisco Security Agent has built-in global security policies which protect agent binaries and data. (Note that this protection is only offered when the agent service is running and is not stopped or in Test Mode.) While you cannot turn these non-logged, built-in rules off while the agent is active, you can use this rule to monitor, terminate, or tag a process that attempts to modify the agent configuration.

Step 7 Click the Save button.

Figure 4-14 Agent Service Control Rule (Windows)

Agent UI Control


Note This rule only applies to Windows and Linux platforms. The agent UI is not supported on Solaris systems.
Also note that Test Mode does not apply to this rule type.


Use the Agent UI rule to control how the agent user interface is displayed to end users. See Figure 4-15. In the absence of this rule, end users have no visible agent UI. If this rule is present in a module, you can select to display the agent UI and one or more controls to the end user. These controls give the user the ability to change certain aspects of their agent security. Optional controls are as follows:

Allow user to reset agent UI default settings—On Windows, this is available from the Start>Programs>Cisco Systems menu. On Linux, this is available from System Menu>Cisco Security Agent. By selecting this option, users can reset agent UI functionality to the original factory default settings All user set controls are lost and all persistent query responses are removed. This is useful on Windows platforms where different users with varying user agent permission settings may log into the same machine.

Allow user interaction—Selecting this checkbox causes the end user to have a visible and accessible agent UI, including a red flag in the system tray. With no other subsequent checkboxes selected, the agent UI contains a status view, a messages page to view agent events, and the ability to clear persistent and temporary query user responses. (If this rule is present in a module, but this checkbox is not selected, the end user will have no visible agent UI. In the presence of two or more Agent UI control rules, these rules are combined and selected checkboxes take precedence over unselected checkboxes.)

Add one or more additional controls as follows:

Allow user access to agent configuration and contact information: Selecting this checkbox allows the end user to enter Contact information into the agent UI. They also have access to a Poll button which allows them to force a manual polling of the MC.

Allow user to modify agent security settings: Selecting this checkbox provides the end user with the ability to alter their security level by moving a slidebar between Off, Low, Medium, and High (in accordance with policies) and to manage the classification of untrusted content.

This checkbox provides an Off control on the agent UI. This Off control works in combination with the Agent service control rule (see Agent Service Control). You must both provide this slidebar to the end user and have an Agent service control rule in place which allows the agent security to be disabled in order for the Off setting to actually turn security off.

Allowing this action (moving the slidebar to Off) permits all users (including non-administrative users) to disable all rules on the agent until they are re-enabled by the user. (Note that if there is no agent UI present, agent security cannot be turned off.)

Allow user to modify agent personal firewall settings—Selecting this checkbox provides the end user with the ability to dictate which applications are allowed network access. They also gain a file protection capability by which they can enter the names of local files that network applications are not allowed to access on their system. Note that if a user is allowed to configure personal firewall settings, resource access attempts on the system must pass both policy rules and firewall settings. (If you select this checkbox, you are providing the end user with controls that you have limited access to. Firewall queries and other information will not log to the CSA MC event log.)

Hiding the agent UI

Not enabling the Allow user interaction checkbox in this rule has the following effects.

Software updates

There are no effects. Hiding the agent UI and Software updates are independent features. You can provide a software update prompt when an agent UI is not present.

Queries

When there is no agent UI present, there are no query user pop-up boxes displayed. The default is immediately taken on all query user rules and heuristics that are present in the assigned polices. (Note that this does not apply to cases where the end user manually exits the agent UI. Only the administrator controlled agent UI rule can affect query pop-up displays on the end user system.)

Unavailable end user features

No messages to inform user that actions have been denied and why.

No ability to clear cache or re-enable logging.

No fast polling ability.

No end user contact information can be sent to CSA MC.

Hidden agent UI feature notes

If a host belongs to multiple groups with multiple policies, having a visible agent UI setting, if present in any group for which the host is a member, takes precedence over a no user interaction agent UI setting.

Whether or not an end user system is going to have a visible agent UI or a hidden one, the end user (or administrator) must download and install the agent kit on the system. The initial installation of an agent kit cannot be done automatically (unless you have written your own script to do so, see Scripted Agent Installs and Uninstalls, page 3-18).

When there is no agent UI present, there are no query user pop-up boxes displayed. The default is immediately taken on all query user rules and heuristics that are present in the assigned polices.

If an end user system already has an agent UI installed, when you unselect the Allow user interaction checkbox and generate rules, the agent UI disappears when the new rules are downloaded.

Figure 4-15 Agent UI Control Rule

Application Control

Use Application control rules to control what applications can run on designated agent systems. This rule type does not control what application can access what resources as do other access control rules. This rule type can stop selected applications from running on systems. If you deny an application class (in total) in this rule, users cannot use any application in that class.

With this rule, you can also prevent an application from running only if that application was invoked by another application you specify. This way, you could prevent a command prompt from running on a system if it is invoked by an application that has downloaded content from the network.


Note These instructions are a continuation of Configuring Rule Modules.



Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Application Control rule. This takes you to the configuration view for this rule type (see Figure 4-16).

Step 3 In the Application control rule configuration view, enter the following information:

Description—Enter a description of this rule. This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.) By not selecting this checkbox, you can save this rule, but it will not be active in the policy and it will not be distributed to groups.

Step 4 Take the following action—Select an action type from the pulldown list. For further details on rule action types, see Rules: Action Options and Precedence.


Note Creating dynamic application classes from the Application control rule is a bit different than creating them from other rule types. Because this rule has two application class fields, you can choose to add the current application to the dynamic class or choose to add the new application that is invoked by the first application to the dynamic class.


Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 when

Current applications in any of the following selected classes—If you want to control an application (allow or deny) running on a system no matter how it is in invoked, allow "All Applications" to remain selected by default. (Then you will select the application you want to control from the second Application class list.)

If you want to control which application(s) can invoke other applications, select one or more preconfigured application classes here to indicate the application that is doing the invoking (such as Network Applications).

(When your rule is configured, currently selected application classes appear at the top of the list. See Configuring Static Application Classes, page 6-9 for configuration details.)

But not in the following class—Optionally, select application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.

attempt to run

New applications in any of the following selected classes—If you are controlling which applications can invoke other applications, this second field indicates the application class that you do not want to run when invoked by the application you chose in the top field.

If you selected "All Applications" in the top application field, you cannot select All Applications in this second field. If you did so, all applications would be completely prevented from running on systems if this is a deny rule.

But not in the following class—Optionally, select application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.


Note Most dynamic application classes are not available in this second application class inclusion field.


Step 7 When you are finished configuring your Application control rule, click the Save button.

Figure 4-16 Application Control Rule

Connection Rate Limit

Use the connection rate limit rule to control the number of network connections that can be sent or received by applications within a specified time frame. This is useful in preventing attacks aimed at bringing down system services, e.g. denial of service attacks (server connection rating limiting). This is also useful in preventing the propagation of denial of service attacks (client connection rate limiting).


Note Multiple instances of the same application are counted together with respect to this rule. E.g. If a machine has several instances of Apache web server running, all Apache connections are counted together when applying this rule.



Note These instructions are a continuation of Configuring Rule Modules.


Click the Modify rules link at the top of the Rule Module page to go to the Rules page.


Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Connection rate limit rule. This takes you to the configuration view for this rule type.

Step 3 Enter the following information for the rule:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Log—Use this checkbox to enable logging within the module.

Step 4 Take the following action—Select an action type from the pulldown list. For further details on rule action types, see Rules: Action Options and Precedence. (Note that you cannot configure Query User Connection rate limit rules.)

Step 5 When Applications in any of the following selected classes

Select one or more preconfigured application classes here to indicate the application(s) whose connection rate access you want to exercise control over.
Note that the entry, <All Applications>, is selected by default. You can use this default or you can unselect it and create your own application classes. For application class configuration details, see Chapter 6, "Using Application Classes".

But not in the following class—Optionally, selection application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.


Note When your rule is configured, currently selected application classes appear at the top of the list.


Step 6 Attempt to act as a—Select server, client, or "client or server"

From the pulldown menu, select server, client, or client or server depending on the direction of the connection you are controlling.
If you are limiting a server's connection limit, select server here. If you are limiting a client connection, select client here.

Step 7 Communicating with—Select specific hosts or all hosts

When the rate limit set here is reached, you can determine whether all subsequent service requests are dropped or only those received or sent by a specific host. If you select a "specific" host, this indicates that the host in question exceeded the rate limit. If you select all hosts, this indicates that the sum total of to and from all hosts exceeds the limit and all hosts are blocked.

Step 8 Over/Under a limit <100> network connections

in <5> minutes

Reasonable values are entered into these fields by default. They define the number of connections that can normally be expected during a time frame from either specific hosts or all hosts.

If you select an action type of "deny" or "terminate", and the limit is exceeded (Over) in this time frame (abnormal amount of connections that could represent an attack of the system), subsequent connection requests are dropped. (The dropped connections can be those received to/from individual "specific" hosts or to/from all hosts. This setting is configured at the bottom of the page.)

If you configure this as an "allow" rule, you are setting a limit Under which the number of connections must remain for the subsequent connections to be explicitly allowed.

Step 9 When you are finished configuring your connection rate limit rule, click the Save button.

Figure 4-17 Connection Rate Limit Rule

Data Access Control

Use data access control rules on Web servers to detect clients making malformed web server requests where such requests could crash or hang the server. A malformed request could also be an attempt by an outside client to retrieve configuration information from the web server or to run exploited code on the server. This rule detects and stops such web server attacks by examining the URI portion of the HTTP request.

An HTTP request consists of:

the request method (a "get" or a "post")

the request URI (Uniform Resource Identifier—This includes the URL and related request parameters and arguments)

the HTTP version (for example, HTTP/1.0)

the HTTP header

The Data access control rule examines patterns in the URI portion of the HTTP request. The pre-configured Data sets (see Data Sets, page 7-7) group patterns to match based upon

functional associations of meta-characters (e.g. "(" and ")")

examples of known classes of attacks

Web server specific exploits

Use the data access control rule to allow or deny specified underlying network data requests for the following web servers and platforms:

Microsoft IIS (Windows platforms, version 4.0 or higher)

Apache (Windows and UNIX platforms, versions 1.3, 2.0)

IPlanet (UNIX platforms, version 6.0)


Caution On Windows platforms, if you install Web server software (IIS or Apache) after you install the Cisco Security Agent on the server system, or if you have installed the Web server in a directory other than the default, you must manually install the Cisco Security Agent data filter in order to use Data access control rules on the system in question.
If your Web server software is already installed (in its default directory) when you install the agent on Windows, the server software is detected by the agent and the data filter capability is automatically installed with the agent.

On Solaris (Apache or IPlanet servers) and Linux (Apache servers), in order to use Data access control rules you must install the data filter manually after you install the Cisco Security Agent. Unlike Windows, the Solaris and Linux installations do not detect Web server software and do not install the data filter with the agent. You must always manually install it.
See Manual Agent Data Filter Installation, page 10-10 for instructions.


Note These instructions are a continuation of Configuring Rule Modules.


Click the Modify rules link at the top of the Rule Module page to go to the Rules page.


Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Data access control rule. This takes you to the configuration view for this rule type.

Step 3 Enter the following information for the rule:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Step 4 Take the following action—Select an action type from the pulldown list.
For further details on rule action types, see Rules: Action Options and Precedence.

Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate policy rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 When—Applications in any of the following selected classes

Select one or more preconfigured application classes here to indicate the application(s) whose access to the listed data sets you want to exercise control over.
Note that the entry, <All Applications>, is selected by default. You can use this default or you can unselect it and create your own application classes. For application class configuration details, see Chapter 6, "Using Application Classes".

But not in the following class—Optionally, select application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.


Note When your rule is configured, currently selected application classes appear at the top of the list.


Step 7 Attempt to access these data sets

Click the Insert Data Set link to enter a pre-configured data set here. When you click this link, a list of the Data Sets you've configured appears here, allowing you to select one or more. Instead of data sets, you can list the literal data strings you want to protect. You can use a wildcard designation.

For information on configuring Data Sets, see page 7-6.

Step 8 When you are finished configuring your Data access control rule, click the Save button.


Note If you specify an application here other than IIS, Apache, or iPlanet, this rule is ignored.


Figure 4-18 Data Access Control Rule

File Access Control

Use file access control rules to allow or deny what operations (read, write) selected applications can perform on files. You should understand that file protection encompasses read/write access. Directory protection encompasses directory deletes, renames, and new directory creation.


Note These instructions are a continuation of Configuring Rule Modules.


Click the Modify rules link at the top of the Policy page to go to the Rules page.


Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the File access control rule. This takes you to the configuration view for this rule type.

Step 3 Enter the following information for the rule:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Step 4 Take the following action—Select an action type from the pulldown list.
For further details on rule action types, see Rules: Action Options and Precedence.

Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 When—Applications in any of the following selected classes

Select one or more preconfigured application classes here to indicate the application(s) whose access to the listed files you want to exercise control over.
Note that the entry, <All Applications>, is selected by default. You can use this default or you can unselect it and create your own application classes. For application class configuration details, see Chapter 6, "Using Application Classes".

But not in the following class—Optionally, select application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.


Note When your rule is configured, currently selected application classes appear at the top of the list.


Step 7 Attempt the following operations

Select the operations Read and/or Write you are allowing/denying on the files named in the Files field. For directory protection, the actions you are allowing/denying are Create, Delete, and Rename. Refer to File and Directory protection in Using the Correct Syntax, page 2-28.


Caution Directory protection ignores the file portion of the specified path and only matches the directory portion of the path. If the directory portion is not well specified, the protection will be overly broad. For example, if you select to protect a directory in a deny rule and enter the directory path as follows: **\Program Files\**Outlook.exe, then no directories can be modified under Program Files. That is an overly broad protection to specify and would likely result in system instability. If you choose to protect directories, be sure to get very specific in your path string and understand the resulting behavior.

Step 8 On any of these files

Click the Insert File Set link to enter a pre-configured file set here. When you click this link, a list of the File Sets you've configured appears here, allowing you to select one or more. Instead of file sets, you can list the literal files you want to protect, using the file paths (including wildcards).

For information on entering file path literals here rather than using pre-configured File Sets, see Using the Correct Syntax, page 2-28.

For local system paths, you must specify the disk drive. You can use a wildcard designation. When protecting directory creates, in particular, you should note that directory creation applies to an exact directory path match, but directory write and rename protection applies to all directories explicitly named in a path. If a directory name is completely wildcarded \**\, no protections exist for that particular component of the directory. For example:

Windows:

*:\Program Files\winnt\* 
or @system\** (this indicates all files below the system directory) 

UNIX:

/etc/passwd


For network machines (Windows only), enter

\\<machine name>\<share>\<path>\<filename>

For example: *:\Program Files\winnt\* You can enter more than one file path, but each entry must appear on its own line. For File Set configuration details, see page 7-10.


Caution Symbolic Links and Hard Links: For UNIX, if you create a File access control rule to protect a symbolic link, ONLY that symbolic link is protected. The underlying resource, unless also specified, is NOT protected. For example, a File access control rule written for /etc/hosts does not protect /etc/inet/hosts. Similarly, a File access control rule written for /etc/inet/hosts does not protect
/etc/hosts. If you want to protect a symbolic link and its underlying resource, both must be specified in the rule.

Also note that on UNIX systems, if you attempt to create a hard link to an agent-protected file, that action is seen as a write attempt on the file.


Note Use @dynamic in the File set text field to indicate all files that have been quarantined by CSA MC as a result of correlated email worm events, correlated virus scanner log messages, or files that were added manually by the administrator. This list updates automatically (dynamically) as logged quarantined files are received.

To view the files that are added to the dynamically quarantined files list and to manually add files to be quarantined, click the Manage dynamically quarantined files link on the Global Event Correlation page. See Manage Dynamically Quarantined Files and IP Addresses, page 5-23 for more information.


Step 9 When you are finished configuring your File access control rule, click the Save button.

This rule is now part of your new policy. It takes effect when the policy is attached to a group and then downloaded by an agent on the network.


Caution In order to distribute rules to the correct hosts, you must associate policies with groups and then Generate rules. See page 109 and page 116 for instructions.

Figure 4-19 File Access Control Rule

Network Access Control

Use network access control rules to control access to specified network services and network addresses. You can also use this rule type to listen for applications attempting to offer unknown or not sanctioned services.


Note The following instructions are a continuation of Configuring Rule Modules.



Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Network Access Control rule. This takes you to the configuration view for this rule type.

Step 3 Enter the following information:

Description—Enter a description of this rule. This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.) By not selecting this checkbox, you can save this rule, but it will not be active in the policy and it will not be distributed to groups.

Step 4 Take the following action—Select an action type from the pulldown list.
For further details on rule action types, see Rules: Action Options and Precedence.

Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 When—Applications in any of the following selected classes

Select one or more preconfigured application classes here to indicate the application(s) whose access to the listed services and addresses you want to exercise control over.
Note that the entry, <All Applications>, is selected by default. You can use this default or you can unselect it and create your own application classes. For application class configuration details, see Chapter 6, "Using Application Classes".

But not in the following class—Optionally, select application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.

Step 7 Attempt to act as a—Select server or client or both, or select listener

From the pulldown menu, select server, client, client or server, or listener (see page 70 for more information on the listener option) depending on the direction or type of connection you are controlling or listening for.
If you are limiting a server's contact with clients, select server here and enter the client(s) address in the host addresses field. If you are limiting a client's contact with a server, select client here and enter the server(s) address in the host addresses field.

Step 8 for network services

Enter the literal protocol/port number combination for the service you want to control access to or click the Insert Network Service link to enter a pre-configured network service variable here. When you click this link, a list of the Network Service Variables you've configured appears here, allowing you to select one or more.
This field refers to either a server providing this service or a client accessing this service. For Network Service configuration details, see page 7-18.

Step 9 Communicating with host addresses

Enter the literal network address(es) for the client/servers you want to control access to or click the Insert Network Address Set link to enter a pre-configured network address set variable here.
If you select server in the previous pulldown list, you enter client addresses here. If you select client in the previous pulldown list, you enter server addresses here. Note that you can use Network Address Set variables.

You also can use the following "short hand" entry in Network Address Sets and in Network Access Control rules to indicate all local addresses on the agent system in question. The @symbol must appear at the start of the short hand name.

Use @local to indicate all local addresses on the agent system. You would want to use this if you are allowing different applications on a single system to talk to each other without opening these applications up to network access.

Refer to Using the Correct Syntax, page 2-28 for more valid @ entries that can be used in this rule type.

Step 10 Using these local addresses

Enter the literal network address(es) for the local system addresses you want to control (i.e. control clients making connections from or control servers making connections to). You can also click the Insert Network Address Set link to enter a pre-configured network address set variable here.

The addresses or address ranges you enter here can be used to control the host initiating the network connection. For example, you could write a Network access control rule which would only allow laptop users to connect to an internal network database if their connection is coming through a VPN (i.e. machine using an allowed/disallowed address to make a connection, incoming or outgoing). If the connection attempt comes in through an ISP-assigned address that is not part of this rule, it would not be allowed.

You could also use this field to impose a restriction that only trusted addresses can read an internal server. If the connection is received from an internal system or via a VPN from a fixed, trusted address, it is allowed.

Use @dynamic in the Addresses set field to indicate untrusted hosts that have been quarantined by CSA MC. Addresses are added to this list when they are seen as an untrusted host. (The built-in "Processes Communicating with Untrusted Hosts" is triggered in a rule.) This list updates automatically (dynamically) as logged quarantined addresses are received.

Step 11 When you are finished configuring your Network access control rule, click the Save button.

This rule is now part of your rule module. It takes effect when the policy is attached to a group and then downloaded by an agent on the network. You should note that new rules only apply to new connections. See Preserving Application Process Classes, page 6-8 for details.


Caution In order to distribute rules to the correct hosts, you must associate policies with groups and then Generate rules. See page 109 and page 116 for instructions.


Note No network access control rule denial events are logged for any UDP port resulting from multicast packet signals. (If a collection of hosts have the same network access control rule and a broadcast such as UDP/138 were denied, then event messages would inundate CSA MC.)



Note When the system accepts a network connection on behalf on an application, the system requires an immediate answer to allow or deny the connection. Therefore, resource requests which trigger network access control server queries will immediately choose the query default. The user is still queried and the response will be cached for future connections.


What is the "listener" option for?

You can use the listener option in a Network access control rule to indicate what applications have the ability to be a server before they are allowed to accept a server connection. This is in contrast to the "server" option which offers real-time per connection control. The listener option can be used in a monitoring capacity to reveal any applications that are attempting to offer a network service. For example, if a system is already infected with a Trojan, that Trojan may be listening on a high numbered port for a network server connection. A NACL listener rule would detect this occurring before a server connection is achieved. You could then craft a subsequent NACL rule to deny the server connection.

Figure 4-20 Network Access Control Rule

Windows Only Rules

The following rules are only available for Windows Rule Modules.

Clipboard Access Control

Use the clipboard access control rule to dictate which applications can access information that is written to the clipboard. When writing security policies, you may want to protect information from being accessed by other applications or network processes. To fully protect this information, you must consider preventing other applications from accessing protected information that may have been written to the clipboard.

This rule works in the following manner. When a process belonging to an application class specified in a clipboard rule writes to the clipboard, the data is marked as protected. Only processes which also match the specified application classes are allowed to read the data from the clipboard. When a process that does not belong to the application class specified writes to the clipboard, the data is marked as unprotected. Any process is allowed to read from the clipboard then.

For example, if Microsoft Excel (which is part of the Microsoft Office application class) saves data to the clipboard, other Microsoft Office applications will be able to read the clipboard data to allow cut and paste functionality between Office applications. Non-Office applications would be prevented from reading this clipboard data.

These instructions are a continuation of Configuring Rule Modules.


Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Clipboard access control rule. This takes you to the configuration view for this rule type. See Figure 4-21.

Step 3 Enter the following information for the rule:

Description—Enter a description of this rule. This description appears in the list view for the module.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.) By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups

Step 4 Do not allow any other application to read from the clipboard data written by:

Applications in any of the following selected classes—Select one or more preconfigured application classes here to indicate the application(s) whose data you want to exercise control over. Note that the entry <All Applications> is selected by default. You can use this default or you can unselect it and create your own application classes.

When your rule is configured, currently selected application classes appear at the top of the list.

But not in the following class—Optionally, select application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.

Step 5 When you are finished configuring your Clipboard access control rule, click the Save button.


Note If you are using the Clipboard rule to restrict applications from accessing data on the clipboard, the system Print Screen functionality is also automatically disabled.


Figure 4-21 Clipboard Access Control Rule

COM Component Access Control

Use COM component access control rules to allow or deny applications from accessing specified COM components. COM is the Microsoft Component Object Model, the technology that allows objects to interact across process and machine boundaries as easily as within a single process. Each of the Microsoft Office applications (Word, Excel, Powerpoint, etc.)
exposes an "Application" COM component which can be used to create macros or utility scripts. While this is useful functionality, it can be used
maliciously by an inadvertently downloaded Visual Basic script.

An example would be the Mydoom virus, which propagated by using the "Outlook.Application" COM component to send itself to each entry in the local address book. Using the COM component access control rule, you can protect specific COM components. For example, you could create a rule which limits access to Office components (Word.*, Outlook.*, Excel.*, etc.)only to the Office applications themselves. Non-Office applications (such as the Visual Basic scripting engine) would therefore be denied access to these components.


Note CSA MC provides a COM component import utility which installs with each Cisco Security Agent. Running this utility extracts all COM component PROGID's and CLSID's for software running on the system in question. See Using the COM Extract Utility, page 10-9 for information.


These instructions are a continuation of Configuring Rule Modules.


Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the COM component access control rule. This takes you to the configuration view for this rule type (see Figure 4-26).

Step 3 Enter the following information

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the policy and it will not be distributed to groups.

Step 4 Take the following action—Select an action type from the pulldown list.
For further details on rule action types, see Rules: Action Options and Precedence.

Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 When—Applications in any of the following selected classes

Select one or more preconfigured application classes here to indicate the application(s) whose access to the selected COM components you want to exercise control over.
Note that the entry, <All Applications>, is selected by default. You can use this default or you can unselect it and create your own application classes. For application class configuration details, see Chapter 6, "Using Application Classes".

But not in the following class—Optionally, select application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.

Step 7 Attempt to access a COM component....matching any of the following component sets

Click the Insert COM Component link to select one or more pre-configured COM component sets for this rule. If you do not want to use a COM component set variable, using the correct syntax, enter a literal PROGID or CLSID (one per line) here. CSA MC provides a utility for extracting PROGID and CLSID information from systems running agent software. See Using the COM Extract Utility, page 10-9 for instructions.

PROGID's, use the following syntax:

Outlook.Application

When entering CLSID's (uppercase hexadecimals) using the following syntax, you must include the brackets shown here:

{000209FF-0000-0000-C000-000000000046}

Step 8 When you are finished configuring your COM component access control rule, click the Save button.

Figure 4-22 COM Component Access Control Rule

File Version Control

Use the File version control rule to control the software versions of applications users can run on their systems. For example, if there is a known security hole in one or more versions of a particular application, this rule would prevent those specific versions from running, but would allow any versions not included in this rule to run unimpeded.

One particular example where this type of rule would be beneficial is in the case of Microsoft Security Bulletin (MS01-020). This bulletin states the following: "Because HTML e-mail messages are Web pages, Internet Explorer can render them and open binary attachments in a way that is appropriate to their MIME type. However, there is a flaw in the type of processing that is specified for certain unusual MIME types. If a malicious user creates an HTML e-mail message that contains an attachment that can be run and then modifies the MIME header information to specify that the attachment is one of the unusual MIME types that Internet Explorer handles incorrectly, Internet Explorer may run the attachment automatically when it renders the e-mail message."

Microsoft has a patch to correct this security problem, but the patch is only available for Internet Explorer 5.01 Service Pack 1 and IE 5.5. If users are running an earlier version of IE, they must upgrade to 5.01 or 5.5 and install the correct service packs and patches to correct the problem. Therefore, earlier versions of IE contain an unfixable security problem and you will want to prevent users from running these versions. The following configuration information uses the IE security bulletin as an example.


Note Note that users can get around a File version control rule by copying the file in question to a different file name. Therefore you must assume that users are working in cooperation with you for these rule types to be successful. You could also create a File access control rule to prevent users from changing the application file name in question.



Note These instructions are a continuation of Configuring Rule Modules.



Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the File version control rule. This takes you to the configuration view for this rule type.

Step 3 In the File version control rule configuration view, enter the following information:

Description—Enter a description of this rule. This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the policy. (It is enabled by default.) By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Step 4 Take the following action—Select an action type from the pulldown list. For further details on rule action types, see Rules: Action Options and Precedence.

Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 When An execution of the following

Enter the File you are prohibiting (You will enter the exact version in the next field.) This field accepts file entries for @system\**, /etc/passwd , and \\<machine name>\<share>\<path>\<filename> files. Enter just the file name here. No path is required.

For example: \\Backup_Server\finance\records\database.db

You cannot use wildcard entries in this field.

Step 7 with version within these Version ranges

Enter the version or version range (using a dash to indicate range) of the file you entered in the previous field.

For example: Outlook.Application {000209FF-0000-0000-C000-000000000046}

You can enter multiple, nonconsecutive ranges by entering versions on separate lines in this field.

To locate the version of a file (*.exe, *.dll, or *.ocx), select the file and right click. Select Properties. Click the Version tab. The File version is normally 4 values separated by dots.


Note When entering version numbers for Microsoft applications, refer to the Microsoft web site. Application version numbers accessible from the application itself sometimes correspond to slightly different version numbers in Microsoft version charts. For example, Microsoft Article number Q164539 was used to determine the version numbers for this File version control rule.


Step 8 Click the Save button when you are finished.

Figure 4-23 File Version Control Rule

Kernel Protection

Use the Kernel protection rule to prevent unauthorized access to the operating system. In effect, this rule prevents drivers from dynamically loading after system startup. You can specify exceptions to this rule for authorized drivers that you are allowing to load any time after the system is finished booting.

You can also use this rule to only detect unauthorized access to or modification of the operating system at any time.


Note These instructions are a continuation of Configuring Rule Modules.



Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Kernel protection rule. This takes you to the configuration view for this rule type.

Step 3 Enter the following:

Description—Enter a description of this rule. This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.) By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Step 4 Take the following action—Select an action type from the pulldown list. For further details on rule action types, see Rules: Action Options and Precedence. Note that High Priority Deny, Allow, Deny, Add Process to Application Class, and Monitor are the only action types available. If you select Add Process to Application Class, the two classes you are adding a given process to are either Authorized rootkit or Unauthorized rootkit.

Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 when

Modules load after system startup

The default here is <none>. You can use this rule type to prevent drivers from dynamically loading after system startup. You can also specify exceptions to this rule for authorized drivers that you are allowing to load any time after the system is finished booting.


Caution This part of the rule only detects unauthorized access to the operating system and does not prevent it. Upon this detection, you can impose stringent network restrictions by selecting the Restrict network connectivity... checkbox.

Modules modify kernel functionality

When modules are detected modifying the system, selecting this checkbox causes the system in question to log this event. You can use this detection to create dynamic rootkit application classes and to change the system state to a state that enforces a more restrictive policy.

You should only create Allow exceptions for actions you believe are safe. For example, virus-scanners and kernel debuggers might legitimately trigger this rule. Enters module data in the following edit fields:

Module hashes to be excluded

By default, this field contains <all>. Enter hashes and/or drivers that identify kernel modules (e.g. drivers) into this field in the following format: 20 character hash\file system path\driver name. You can use wildcards for entries, as well. You can also use the wizard from the event in question to enter the module hash and driver information here. Some examples of valid entries are as follows:

*\**\system32\Drivers\uphcleanhlp.sys
ae45e23b45093dffa899\**
ae45e23b45093dffa899\**\uphcleanhlp.sys

Code patterns to be excluded

By default, this field contains <all> . The wizard enters code patterns (not inside any module) into this field.

Step 7 Click Save when finished.

Figure 4-24 Kernel Protection Rule

NT Event Log

Use the NT Event log rule to have specified NT Event Log items appear in the CSA MC Event Log for selected groups.


Note These instructions are a continuation of Configuring Rule Modules.



Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the NT Event log rule. This takes you to the configuration view for this rule type (see Figure 4-25).

Step 3 Enter the following information:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Step 4 Log events from the event log

Include events matching the following—Select this radio button to specify the criteria for NT Event Log entries which you want to appear in the CSA MC Event Log.

Include all events except those matching the following—Select this radio button to specify the criteria for NT Event Log entries which you do not want to appear in the CSA MC Event Log. (All criteria not specified here will appear in the CSA MC Event Log.)


Note You can configure CSA MC to correlate NT event types logged across multiple systems. You can also correlate NT events received from virus scanners running on agent systems and quarantine contaminated files. See Installation Applications Policy, page 5-19.


Step 5 Criteria (You should select at least one for the rule to have any effect.)

Event Log Type—Select one or more checkboxes here to indicate which NT Event Log entries you want to appear (first radio button above) or which entries you want to not appear (second radio button above) in CSA MC Event Logs.

The choices are—System, Application, Security

Event Source—In the text field, enter (one per line) event source parameters you want to filter by.
The event source is the software that logged the event, which can be either an application name, such as .exe, or a component of the system or of a large application, such as a driver name. For example, .dll indicates the EtherLink II driver.

Event Severity (Type)—Select one or more checkboxes to filter the viewing of events according to severity. If you select no checkboxes, all severity levels are included in the rule.

The choices are—Information, Warning, Error, Audit Success, Audit Failure

Event Code (Event ID)—In the text field, enter (one per line) event code parameters you want to filter by.
The event code is the number identifying the particular event type. For example, 6005 is the ID of the event that occurs when the Event log service is started. You can find the event IDs for Windows security events by searching for the following articles on the Microsoft web site: Q174074, Q299475, and Q301677.

Step 6 Click the Save button.


Note To receive messages logged by Norton AntiVirus and for global correlation, select the Application checkbox and enter .ocx in the Event Source edit box. See Installation Applications Policy, page 5-19 for more information.


Figure 4-25 NT Event Log Rule

Registry Access Control

Use registry access control rules to allow or deny applications from writing to specified registry keys.


Note These instructions are a continuation of Configuring Rule Modules.



Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Registry access control rule. This takes you to the configuration view for this rule type.

Step 3 Enter the following information:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Step 4 Take the following action—Select an action type from the pulldown list.
For further details on rule action types, see Rules: Action Options and Precedence.

Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 When—Applications in any of the following selected classes

Select one or more preconfigured application classes here to indicate the application(s) whose access to the selected registry keys you want to exercise control over.
Note that the entry, <All Applications>, is selected by default. You can use this default or you can unselect it and create your own application classes. For application class configuration details, see Chapter 6, "Using Application Classes".

But not in the following class—Optionally, select application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.

Step 7 Attempt to write to any of these registry entries

Click the Insert Registry Set link to select one or more pre-configured registry sets for this rule. See Included Registry Sets, page 7-23 for details on included operating system registry values.


Note You cannot enter registry literals here. You must create a registry set variable if you are not using pre-configured registry sets.


Step 8 When you are finished configuring your Registry access control rule, click the Save button.

This rule is now part of your rule module. It takes effect when the policy to which it is associated is attached to a group and then downloaded by an agent on the network.


Caution In order to distribute rules to the correct hosts, you must associate policies with groups and then Generate rules. See page 109 and page 116 for instructions.

Figure 4-26 Registry Access Control Rule

Service Restart

Use the Service restart rule to have the agent restart Windows NT services that have gone down on a system or are simply not responding to service requests.


Note These instructions are a continuation of Configuring Rule Modules.



Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Service restart rule. This takes you to the configuration view for this rule type (see Figure 4-27).

Step 3 Enter the following information:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Log—Enable this checkbox to turn logging on for this rule.

Step 4 Restart the following service

Enter a service here you want the agent to automatically restart should it go down for any reason. When entering services here, use the syntax found in the following locations:

On Windows XP and Windows 2003 and 2000: Start>Settings>Control Panel>Administrative Tools>Services "Name" field

On Windows NT: Start>Settings>Control Panel>Services "Service" field

Step 5 When

Select one or both of the following checkboxes.

Not responding to Service Control Manager The Windows Service Control Manager checks the status of system services and recognizes when a service is not responding. Selecting this checkbox causes the Cisco Security Agent to restart the specified service when it does not respond to the Windows Service Control Manager.

Not responding to network requests for service: Select this checkbox and then choose a network service (such as HTTP) from the available pulldown list. The Cisco Security Agent will monitor whether the system is responding to network requests for the protocols in the network service. If not, it will restart the Windows NT service specified in this rule.


Caution An agent must have the network shim enabled in order for the "Not responding to network requests for service" feature to work.

Step 6 Click Save when finished.


Note The Service Restart rule is different from the Windows NT configurable restart service. Windows NT only restarts processes that have gone away. The agent restarts a process that experiences a failure of any kind.


Figure 4-27 Service Restart Rule

Sniffer and Protocol Detection

Use the Sniffer and protocol detection rule to cause an event to be logged when non-IP protocols and packet sniffer programs are detected running on systems.

Non-IP protocols, such as IPX, AppleTalk, and NetBEUI, are used to provide distributed computing workgroup functions between server and clients and/or sharing between peer clients.

A packet sniffer (also controlled by this rule type) is a program that monitors and analyzes network traffic. Using this information, a network manager can troubleshoot network problems. A sniffer can also be used illegitimately to capture data being transmitted on a network. Sensitive information such as login names and passwords can be extracted from this data and used to break into systems.

The Sniffer and protocol detection rule is a monitoring tool. By adding this rule to a policy, you are causing an event to be logged when any non-IP protocols and packet sniffer programs are detected running on systems which receive this rule.


Note You can use the Sniffer and protocol detection rule page to configure exceptions to this monitoring rule. If you select any non-IP protocols or enter any packet sniffer programs here, you are allowing them to run on systems without generating events. Only non-IP protocols and packet sniffer programs which you explicitly exclude as part of the rule will not cause events to be logged. Otherwise, all are monitored when you add this rule to a policy.


These instructions are a continuation of Configuring Rule Modules.


Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Sniffer and protocol detection rule. This takes you to the configuration view for this rule type (see Figure 4-26).

Step 3 Enter the following information:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the policy and it will not be distributed to groups.

Step 4 Select one or more preconfigured Standard protocols here to be excluded as part of this rule. The protocols you select here are the only non-IP protocols that will not generate events when they are detected.

If the non-IP protocol(s) you want to exclude are not included in the Standard Protocols list, enter your own in the Non-standard protocols and packet sniffers text field. By default, TCP/IP Protocol is already excluded.

This is also where you should enter any packet sniffer programs you want to exclude from this rule. (Find the names for these programs in Cisco Security Agent log files or in system registries.) For example, enter:

PacketDriver

In this example, Windump is the application. The libcap packet capture driver registers using the name PacketDriver.

Step 5 Click the Save button.


Note If you have multiple sniffer and protocol detection rules, the exceptions are combined.


Figure 4-28 Sniffer and Protocol Detection Rule

UNIX Only Rules

The following rules are only available for UNIX Rule Modules.

Network Interface Control

Use the Network interface control rule to specify whether applications can open a device and act as a sniffer (promiscuous mode). A packet sniffer is a program that monitors and analyzes network traffic. Using this information, a network manager can troubleshoot network problems. A sniffer can also be used illegitimately to capture data being transmitted on a network. Sensitive information such as login names and passwords can be extracted from this data and used to break into systems.

These instructions are a continuation of Configuring Rule Modules.


Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Network interface control rule. This takes you to the configuration view for this rule type (see Figure 4-29).

Step 3 Enter the following information:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Step 4 Take the following action—Select an action type from the pulldown list.
For further details on rule action types, see Rules: Action Options and Precedence.

Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate policy rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 When—Applications in any of the following selected classes

Select one or more preconfigured application classes here to indicate the application(s) whose access to the selected resource(s) want to exercise control over.
Note that the entry, <All Applications>, is selected by default. You can use this default or you can unselect it and create your own application classes. For application class configuration details, see Chapter 6, "Using Application Classes".

Step 7 Attempt the following operations

Select one or more of the following checkboxes:

Open a stream connection to the NIC driver


Note Open a stream connection to the NIC driver - For Linux systems, this only applies to modification of the interface characteristics, e.g. using ifconfig to modify an interface's network mask. This does not apply to simply reading the interface characteristics.


Put the NIC into promiscuous mode


Note If you have selected the Allow radio button, when you select to "Put the NIC into promiscuous mode", the "Open a stream connection to the NIC driver" checkbox is also automatically selected. It must be enabled for promiscuous mode to work.

Conversely, if you have selected a Deny radio button, when you select the "Open a stream connection to the NIC driver" checkbox, the "Put the NIC into promiscuous mode" checkbox is also automatically selected. If you deny one, the other is automatically denied as well.


Step 8 When you are finished configuring your rule, click the Save button.


Note If you are using remote management tools and you are configuring a Network interface control rule to deny "all applications" from opening a stream connection to the NIC and operating in promiscuous mode, you may want to make an exception for the remote management application (if you want to run snoop).


Figure 4-29 Network Interface Control Rule

Resource Access Control

Use the Resource access control rule to protect systems from symbolic link
attacks. In this type of attack, an attacker attempts to determine the name of a temporary file prior to its creation by a known application. If the name is determined correctly, the attacker could then create a symbolic link to the target file for which the user of the application has write permissions. The application process would then overwrite the contents of the target file with its own output when it tries to write the named temporary file.

For example, a directory such as /tmp is writable by everyone. An attacker could create a symbolic link in this directory to a protected file such as /etc/shadow. A superuser process may then unwittingly write to or copy from /etc/shadow. This would then grant the attacker access to this sensitive information via a symbolic link from the /tmp directory.

By enabling the resource access control rule, you can prevent "suspicious" symbolic links from being followed. A suspicious symbolic link is one that meets all of the following criteria:

The parent directory is a temporary directory such as /tmp and /usr/tmp

The symbolic link's owner is different from the parent directory's owner

The symbolic link's owner is different from the effective UID of the process

These instructions are a continuation of Configuring Rule Modules.


Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Resource access control rule. This takes you to the configuration view for this rule type (see Figure 4-31).

Step 3 Enter the following information:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Step 4 Select the Symbolic Link Protection checkbox to turn on that functionality.

Step 5 Click the Save button.


Caution Symbolic Links: If you create a File access control rule to protect a symbolic link, ONLY that symbolic link is protected. The underlying resource, unless also specified, is NOT protected. For example, a File access control rule written for
iexplore.exe does not protect 0-5.00.3314.2100
. Similarly, a File access control rule written for 5.00.3314.2100-5.50.4522.1800 does not protect SQL Server. If you want to protect a symbolic link and its underlying resource, both must be specified in the rule.

Figure 4-30 Resource Access Control Rule

Rootkit / kernel Protection

Use the Rootkit / kernel protection rule to control unauthorized access to the operating system. In effect, this rule controls drivers attempting to dynamically load after boot time. You can use to this rule to specify authorized drivers that you are allowing to load any time after the system is finished booting.


Note These instructions are a continuation of Configuring Rule Modules.



Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Rootkit / kernel protection rule. This takes you to the configuration view for this rule type (see Figure 4-31).

Step 3 Enter the following information:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the policy and it will not be distributed to groups.

Step 4 Take the following action—Select an action type from the pulldown list.
For further details on rule action types, see Rules: Action Options and Precedence.

Step 5 and

Log—Enable this checkbox to turn logging on for this rule. Generally, you will want to turn logging on for all deny rules. This means that the denied system action in question is logged and sent to the server at regular time intervals.

Take precedence over other <action type> rules—Enable this checkbox to manipulate policy rule precedence so that this rule is evaluated before other similar rules. You should generally NOT require this checkbox. Do not use it without understanding how it works. See Rules: Manipulating Precedence for details.

Step 6 When—Applications in any of the following selected classes

Select one or more preconfigured application classes here to indicate the application(s) whose access to the selected resource(s) want to exercise control over.
Note that the entry, <All Applications>, is selected by default. You can use this default or you can unselect it and create your own application classes. For application class configuration details, see Chapter 6, "Using Application Classes".

But not in any of the selected classes—Optionally, select application classes here to exclude from the application class(es) you've selected in the included applications field. Note that the entry <None> is selected by default.

Step 7 Attempt to load the following modules

By default, this field contains <none> which indicates no specified drivers. Enter the names of drivers you want to specify for this the rule and therefore allow, deny, or monitor the loading of at any time.


Caution If you enter file sets which use "content-matching" constraints, via the Insert File Set link, the content-matching constraints are ignored.

Step 8 Click the Save button.

Figure 4-31 Rootkit / kernel Protection Rule

Syslog Control

Use the Syslog control rule to have specified Solaris and Linux Syslog items appear in the CSA MC Event Log for selected groups.


Note These instructions are a continuation of Configuring Rule Modules.



Step 1 To add rules to your module, click the Add rule link at the bottom of the rule list. A pop-up list of the available rule types appears.

Step 2 Select the Syslog control rule. This takes you to the configuration view for this rule type (see Figure 4-32).

Step 3 Enter the following information:

Description—Enter a description of this rule.
This description appears in the list view for the module. Optionally, expand the +Detailed field to enter a longer description.

Enabled—Use this checkbox to enable this rule within the module. (It is enabled by default.)
By not selecting this checkbox, you can save this rule, but it will not be active in the module and it will not be distributed to groups.

Step 4 Log events from syslog

Include events matching the following—Select this radio button to specify the criteria for Syslog entries which you want to appear in the CSA MC Event Log.

Include all events except those matching the following—Select this radio button to specify the criteria for Syslog entries which you do not want to appear in the CSA MC Event Log. (All criteria not specified here will appear in the CSA MC Event Log.)


Note You can configure CSA MC to correlate Syslog events logged across multiple systems. See Installation Applications Policy, page 5-19.


Step 5 Criteria (You should select at least one for the rule to have any effect.)

Event Source—In the text field, enter (one per line) event source parameters you want to filter by.
The event source is the software that logged the event, which can be an application name such as Elnkii, a kernel level driver module such as Norton AntiVirus, or the PacketDriver kernel itself.

Facility—Select one or more items from the list box you want to appear (first radio button above) or which entries you want to not appear (second radio button above) in CSA MC Event Logs.

Priority—Select one more checkboxes by which to filter the viewing of events according to priority. If you select no checkboxes, all priorities are included in the rule.

Message Pattern—In the text field, enter (one per line) message patterns you want to match and filter by. To match, the string you enter must literally appear somewhere within the message.

Step 6 Click the Save button.


Note On Linux platforms, the default syslogd does not embed the facility or priority level in the syslog messages. Using a different syslogd, such as syslog-ng, with correct message formatting, it is possible to use the facility and/or priority levels to report these events. Therefore, if syslog-ng is used, the message template must take the following form:

template("$DATE $HOST $PROGRAM: [ID 0 $FACILITY.$LEVEL] $MSG\n")

For example, the entry for content recorded into /var/log/messages would appear as follows: /etc/hosts


General Syslog rule configuration examples

For Example:

Configure a syslog rule to log warning messages such as the one listed here:

Apr 29 13:46:35 myhost /sbin/dhcpagent[39]: [ID 929444 
daemon.warning] configure_if: no IP broadcast specified 
for eri0

To get every message of category "warning" from the
/sbin/dhcpagent daemon, you would configure your syslog rule in the following manner (See Figure 4-32):

Select the "Include events matching the following" radio button and enter:

Facility: daemon

Event Source: /sbin/dhcpagent

Priority: Warning checkbox

Message Pattern: <all>


For Example:

Configure a syslog rule to log failed su root attempts such as the one listed here:

Apr 29 13:49:23 myhost su: [ID 810491 auth.crit] 'su 
root' failed for haxor on /dev/pts/4

To get messages for failed su root attempts, you would configure your syslog rule in the following manner:

Select the "Include events matching the following" radio button and enter:

Facility: auth

Event Source: su

Priority: Alert and Above checkbox

Message Pattern: root

For Example:

Configure a syslog rule to include all events but exclude all lockstat-related messages such as the one listed here:

Apr 29 13:46:43 myhost genunix: [ID 936769 kern.info] 
lockstat0 is /pseudo/lockstat@0

To log all events except for lockstat-related messages, configure your rule in the following manner:

Select the "Include events except those matching the following" radio button and enter:

Facility: kern

Event Source: <all>

Priority: all checkboxes

Message Pattern: lockstat

Figure 4-32 Syslog Control Rule

Attaching Rule Modules to Policies

When you configure a rule module, you are combining access control rules and/or tagging and monitoring rules under a common name. That rule module name is then attached to a policy. That policy uses the rules that comprise the module to control the actions that are allowed and denied on hosts. See Configuring Rule Modules.

CSA MC gives you the option of attaching a rule module to a policy using the Modify policy associations link in the Rule Module configuration page or attaching a policy to a rule module using the Modify rule module associations link in the Policy list view page.

To attach a rule module or rule modules to an existing policy using the Modify policy associations link in the rule module configuration page, do the following.


Step 1 Attach a rule module to a particular policy by accessing that rule module's edit view. From Configuration in the menu bar, click on Rule Modules for the OS type you want to access the list view for those modules.

Step 2 From the rule module list view, click the link for the rule module you want to attach to a policy. This brings you to that rule module's edit view.

Step 3 From the edit view, click the Modify policy associations link. This takes you to a page containing swap boxes. See Figure 4-33. The left box contains the policies the rule module is not attached to. The right box contains policies that the rule module is attached to.

Step 4 To add this rule module to an existing policy, select the rule module in the left box and click the Add button. The selected rule module moves to the right box and is now attached to the policy.


Note You can attach rule modules of differing architectures to the same policy. This way, you can configure task-specific, self-contained, inclusive policies across all supported architectures for software that is supported on all platforms. For example, Apache is a web server software product that supports Windows, Linux, and Solaris platforms. You can attach three OS specific rule modules for Apache to one policy and only need to maintain that one Apache policy.



Caution In order to deploy rule modules to hosts, you must remember to attach the policy that the rule module is associated with to a group.

Figure 4-33 Rule Module Associations

Attaching Policies to Groups

When you configure a policy, you are combining configured rule modules under a common name. That policy name is then attached to a group of hosts and it uses the rules that comprise the policy to control the actions that are allowed and denied on those hosts. See Configuring Rule Modules.

CSA MC gives you the option of attaching a policy to a group using the Modify policy associations link in the Group configuration page or attaching a group to a policy using the Modify group associations link in the Policy list view page. (You can use the Modify policy associations link to attach multiple policies to a group and use the Modify group association link to attach one policy to multiple groups.)

To attach a policy or policies to an existing group using the Modify policy associations link in the Group configuration page, do the following.


Step 1 Attach a policy to a particular group by accessing that group's edit view. From Systems in the menu bar, click on Groups to access the group's list view.

Step 2 From the group list view, click the link for the group you want to attach a policy to. This brings you to that group's edit view.

Step 3 From the edit view, click the Modify policy associations link. This takes you to a page containing swap boxes (see Figure 4-34). The left box contains the policies not attached to this group. The right box contains policies that are attached to this group.

Step 4 To add an existing policy to this group, select the policy in the left box and click the Add button. The selected policy moves to the right box and is now attached to the group.


Note To remove a policy from a group, select the policy in the right box and click the Remove button. It moves back to the left box. (The policy is not deleted from the database, it is just no longer applied to the group.) Although the selected policy is no longer attached to the group, this is not apparent in the GUI until you click the Generate rules link in the bottom frame and then the Generate button.


Figure 4-34 Attaching Policies


Note You can try out policies on host systems by selecting Test Mode for a group or for a particular rule module. Selecting Test Mode and enabling logging on rules attached to "test mode" groups causes the agent to log designated denied events triggered by policies but not take any actions on those events.


Using Test Mode

Test Mode is useful when you are installing a new host or are modifying a host configuration and want to understand the ramifications without actually impacting host operation. When operating in test mode, the agent will not deny any action or operation even if an associated policy says it should be denied. Instead, the agent will allow the action but log an event if a deny or query rule is triggered (if logging is enabled for the rule) and log an event when an allow rule with logging enabled is triggered. This helps you to understand the impact of deploying a policy on a host before enforcing it. If examining the logs shows you that the policy is working as intended on a group, you can then remove the Test Mode designation.

When using Group test mode, you'll likely also want to enable Verbose Logging mode. This way, the agent will not suppress any log messages as it normally does when several of the same log messages are received.

When an agent running in test mode sends events to CSA MC, event log messages are preceded with the words "Test mode". There are some exceptions to this. For example, event log messages related to detected events such as port scans and malformed packets are not preceded by the words "Test mode." Event detection (not prevention) messages appear the same in the event log regardless if test mode is on or off.

Group Test Mode

You can turn on test mode in two places within the MC. If it is enabled on the group level (see Figure 4-35), all rules on hosts within test mode groups are in test mode.

If a host belongs to a group with test mode selected, all policies associated with that host are in test mode (even if the host is part of another group that does not have test mode selected), not just the policies applied to the test group. Therefore, test mode applies to the host as a whole, not to specific policies.

Figure 4-35 Group Test Mode

Rule Module Test Mode

You can also use test mode on the rule module level (see Figure 4-36). This way, you can have the rules within the test mode module operating in test mode while rules from other modules assigned to the same host are operating in a live mode. This is useful for testing new rule modules or changes to existing modules without having to turn off all protections for the hosts in question.


Caution You should be aware that putting a deployed "live" policy into test mode turns off all security that the policy in question had been providing. Keep this in mind when using test mode to analyze how policies are working.

Figure 4-36 Rule Module Test Mode

Generating Rule Programs


Caution When you make changes to existing CSA MC configurations, they are saved in the database, but they are not yet distributed to the agents across your network. You must click the Generate rules link in the bottom frame of CSA MC to first view all new and edited configurations and then distribute them to the agents. (When you have pending changes, the line beneath Generate rules link flashes.)

The Generate rule programs view displays the status of all non-distributed database items with the name of the administrator who made the configuration changes. A Details link appears beside each edited configuration item. Click this link to view what modifications were made to the configuration in question.


Note Before you generate rule programs and distribute them to agents, you can view all database changes, including the time the changes were made and the administrator who mad them, by accessing the Audit Trail view from the Reports drop-down list. (See the"Using Audit Trail" section on page 2-11 for information on the audit trail.)


Figure 4-37 Generate Configuration