ASA Multilode Context Mode
ASA Multilode Context Mode
ASA Multilode Context Mode
1
INTRODUCTION
2
Introduction
3
Introduction
Supported Features:
Only static routing
Firewall features
IPS
Management
Unsupported Features
VPN termination
Dynamic Routing Protocol
QoS
4
Introduction
Where do we use Multiple context?
In ISPs, were they sell security services to many customers,
they implement a cost-effective, space saving solution.
Large Enterprises who keeps their departments completely
separated.
Basically, we use multiple context whenever there is a
network that requires more than one security appliance.
5
CONTEXT TYPES
6
Context Types
System Context
Admin Context
Normal Context
7
System Context
The System administrator adds and manages contexts by the
configuration of each context configuration location, allocated
interfaces, and other context operational parameters in the system
configuration.
8
Admin Context
The admin context is like any other context, except that when a user logs in to the
admin context, that user will have system administrator rights, and can access the
system and all other contexts
If you convert from a Single mode to the Multiple Context mode, the admin context is
created automatically and the configuration file will be created on the flash memory
This context could be combined with any regular user context or be dedicated.
Note: Admin context (when it is dedicated) is not counted in the context license. For
example, if you get the license for two contexts, you are allowed to have the admin
context and two other contexts.
9
Normal Context
Is the actual partitioned firewall.
10
CONFIGURATION
11
Configuration
Note: The ports on
the switch that are
connected to ASA
must be in trunk
mode since
multiple VLAN
traffic has to travel
through it once the
ASA interfaces are
broken into
subinterfaces.
12
Configuration
In order to turn the firewall to the multiple contexts
mode, you should enter the command mode
multiple when logged via the console port.
Note: You may do this remotely but you risk losing
connection to the box.
This will force mode change to multiple and reload
the appliance.
If you connect to the appliance the console port, you
are logging into the system context after the reload.
13
Configuration
When you convert from single mode to multiple mode, the
security appliance converts the running configuration into two
files:
1. New startup configuration that comprises the system configuration.
2. admin.cfg that comprises the admin context (in the root directory
of the internal Flash memory).
The original running configuration is saved as old_running.cfg
(in the root directory of the internal Flash memory).
The original startup configuration is not saved.
The security appliance automatically adds an entry for the
admin context to the system configuration with the name
"admin.
14
Configuration Steps
You should to do the following things while
logged into the system context:
15
Configuration Steps
2) Define the admin context.
This is a special context that allows logging in
the firewall remotely (via ssh, telnet or https).
This context should be configured first as the
firewall wont let you create any other contexts
prior to designating the admin context using the
global command admin-context <NAME>.
As we have said this context is automatically
created When you convert from the single-
context mode.
16
Configuration Steps
3) Define additional contexts if needed and allocate
physical interfaces to the contexts.
Use the command allocate-interface <Physical-Interface>
[<Iface-Name>] under the context configuration mode for
interface allocation.
Here <Physical-Interface> is the physical interface or sub-
interface name and <Iface-Name> is the name that the
context sees for this interface.
Using this command you can hide the real interface names
from the context administrators (e.g. hide VLAN numbers),
in order to provide additional level of isolation from the
physical configuration.
17
Configuration Steps
4) Change to the context configuration, and
proceed as usual.
Assign interface names, security levels and IP
addresses.
Set up static routes for subnets not directly connected
to the context even for the subnets connected to
another contexts.
18
Configuration Notes
Every configured context should have a configuration URL defined using the command config-
url <PATH> to store its configuration. Without this command, the context configuration is
incomplete.
After the context has been defined, you may switch to the in-context configuration using the
command changeto context <NAME>.
In order to access the system context remotely, you should log into the admin context using
any configured remote access method and issue the command changeto system.
Enter the allocateinterface command(s) before you enter the configurl command. The
security appliance must assign interfaces to the context before it loads the context
configuration; the context configuration can include commands that refer to interfaces
(interface, nat, global...). If you enter the configurl command first, the security appliance
loads the context configuration immediately. If the context contains any commands that refer
to interfaces, those commands fail.
Use the command write memory all in the system context to save all contexts configuration
on the persistent storage. You may also save configuration for a context individually when
logged under the particular context using the command write memory.
19
Configuration Notes
Physical interfaces could be shared among contexts, i.e.
you may assign the same interface to different contexts.
20
Configuration Notes
If there is a shared physical interface between the contexts, each context could
generally have different IP and MAC addresses on this interface.
It is possible to share the IP address as well, though. If you want to assign the
same IP address to the shared interfaces in multiple context mode youll need to
give the logical interfaces a separate MAC address.
You may use non-overlapping subnets or simply different IPs on the same subnet.
By default both contexts will inherit the same MAC address from the shared
physical interface. This might result in the firewall not being able to classify the
incoming traffic properly.
22
Configuration
Creating a new context:
You cant rename the context, you will have to delete it, then create
a new one with the new name.
Delete a Context:
No context ContextA
23
Example Scenario
24
FIREWALL CONTEXTS ROUTING
25
Firewall Context Routing
As mentioned previously, in the multiple-
context mode the firewall supports only static
routing.
you need to configure a static route for every
non-directly connected subnet for a firewall
context or set up a static default route.
All adjacent routers should be also configured
with static routes to allow for full connectivity.
26
Firewall Context Routing
Routing between contexts:
firewall contexts do not share IP routing tables, and
thus if you want to establish communications
between the routing contexts you need either of the
following:
1. Configure each context with a set of static routes for the
subnets connected or located behind the other context.
2. Use an external router that has full knowledge of the
subnets behind each of the contexts to provide
connectivity.
27
Firewall Context Routing
Context Cascading
Recall that physical interfaces could be shared
between the contexts.
In some scenarios, you may even configure the
same physical interface as the inside for one
context and outside for another. This is called
context cascading. *Look at the figure below:
28
FIREWALL CONTEXTS
CLASSIFICATION
29
Firewall Contexts Classification
It is easy to assign an input packet to the
context if the interface where it has been
received is uniquely allocated to the context.
If the interface is shared, additional rules are
needed.
30
Firewall Contexts Classification
Shared interfaces classification rules:
1) The firewall looks at the destination MAC address of the packet the
destination MAC designated the next-hop for the packet.*
2) If the MAC address is the same in both contexts for the same
interface, the firewall attempts to use NAT configuration in every
context to resolve the conflicts.
This may happen if you intentionally assign the same IP address to both
contexts or did not assign different MAC addresses to the shared interfaces.
The firewall attempts to match the destination IP address and TCP/UDP port
information in the packet with the active translation slots in every context. The
context with the matching translation slot is selected as the target context.
This type of classification allows sharing the same IP subnet or even IP address
on the shared interface.
You are not required to have unique MAC addresses in each context, as the
translation slots are used for traffic classification.
31
Firewall Contexts Classification
Shared interfaces classification rules:
3) If all contexts on the shared interface use the
same IP address/MAC then you cannot access
the contexts on the shared interface.
Why? Because for traffic destined to the firewall itself,
it classifies based on the destination IP address.
So it is generally recommended to use separate IP
addresses (MAC could be the same) on the shared
interfaces.
32
RESOURCE MANAGEMENT
33
Resource Management
The firewall has limited resources, shared
between the contexts.
The resources include concurrent connections,
inspections, translation slots, management
sessions (telnet, ssh and https) number of inside
hosts and so on.
Some of those resources are limited based on the
licensing option e.g. the number of inside hosts.
Others are limited by the firewall hardware.
34
Resource Management
In order to avoid resource contention and exhaustion,
the firewall allows limiting per-context resources using
the resource class concept.
Every class specifies the amount of resource available
to a context. Classes are assigned to the contexts to
enforce the limits.
By default, all contexts are assigned class default.
Note that contexts do not share the particular class
resources. They only inherit the resource limits set by a
class.
35
Resource Management
When you create a new class, it inherits all
limits from the default resource class.
When you re-define any particular limit in the
new class, you automatically override the
default setting for this limit.
You may also configure the default class
settings and all classes will inherit these
values, unless they redefine them.
36
Resource Management
37
Resource Management
The appliance never reserves any resources for classes. It simply
uses them to compute the resource limits and satisfies any request
that is within the limit for a given class.
For example, suppose the system supports up to 1000 connection
maximum, and you create new class with the limit of 500
connections. You assign this class to 3 contexts. At the peak of
their usage every context may request up to 500 connections,
exceeding the total limit of 1000. Thus it is up to the administrator
to properly set limits and prevent resource starvation.
You may set resource limits in absolute values (e.g. number of
connections or hosts) or in percent's of the maximum resource
available.
38
Resource Management
The syntax is:
class <NAME>
limit-resource <Resource> [<Value>|{1-100%}]
39
Q&A
40