Authenticating Firewall Sessions (Cut-Through Proxy Feature)

Cisco ASA firewall session authentication is similar to the cut-through proxy feature on the CiscoSecure PIX Firewall. The firewall cut-through proxy requires the user to authenticate before passing any traffic through the Cisco ASA. A common deployment is to authenticate users before accessing a web server behind the Cisco ASA. Figure 7-5 illustrates how firewall session authentication works.

Figure 7-5. Cut-Through Proxy Feature Example

The following are the highlights of the steps in Figure 7-5:

  1. The user on the outside of the Cisco ASA attempts to create an HTTP connection to the web server behind the ASA.
  2. The Cisco ASA prompts the user for authentication.
  3. The Cisco ASA receives the authentication information from the user and sends an AUTH Request to the CiscoSecure ACS server.
  4. The server authenticates the user and sends an AUTH Accept message to the Cisco ASA.
  5. The Cisco ASA allows the user to access the web server.

Cut-through proxy can be enabled with the aaa authentication command. The following is the command syntax:

aaa authentication include | exclude svc if_name l_ip l_mask [f_ip f_mask]server_tag

Table 7-5 lists all the aaa authentication command options.

Table 7-5. aaa authentication Command Options

Option

Description

include |exclude

Include or exclude the service, local, and foreign network, which needs to be authenticated, authorized, and accounted.

svc

Specifies the protocol and/or service used:

telnet, ftp, http, https, tcp/port, and tcp/0.

if_name

The interface on the Cisco ASA that receives the connection request.

l_ip

The address of the local/internal host, which is the source or destination for connections requiring authentication.

l_mask

Network mask to apply to l_ip.

f_ip

The address of the foreign host, which is either the source or destination for connections requiring authentication.

f_mask

Network mask to apply to .

server_tag

For authentication and accounting, use values defined by the aaa-server command.

For cut-through and "to the box" authentication and command authorization, the server tag LOCAL can also be used.

Only TACACS+ is supported for "through the box" authorization.

Using the aaa authentication match command is an alternate method of doing AAA authentication on Cisco ASA. It allows you to configure an access control list (ACL) to classify what traffic is authenticated. Using the aaa authentication match command replaces the use of the include and exclude options and it is now the preferred method to configure authentication through the Cisco ASA appliance. The following is the command syntax:

aaa authentication match acl interface server-tag

The acl keyword refers to the name or number of the ACL configured to define what traffic is authenticated. The interface keyword defines the interface that receives the connection request. The server-tag is the AAA server group defined by the aaa-server command.

Figure 7-6 illustrates an example of how the aaa authentication match command works. SecureMe Company has two users in the 209.165.200.224/27 network who need to access the web server in the 192.168.10.0/24 network. The Cisco ASA is configured to authenticate all users in the 209.165.200.224 network; however, User2 is allowed to connect to the web server without being authenticated.

Figure 7-6. Firewall Session Authentication Exceptions

The following are the steps represented in Figure 7-6:

Step 1.

User1 attempts to access the web server (192.168.10.88).

 

Step 2.

The Cisco ASA prompts the user to authenticate.

 

Step 3.

User1 replies with his credentials.

 

Step 4.

The Cisco ASA sends the authentication request (Access-Request) to the CiscoSecure ACS RADIUS server (172.18.124.141).

 

Step 5.

The CiscoSecure ACS server sends back its reply (Access-Accept) to the Cisco ASA.

 

Step 6.

User1 is able to access the web server.

 

User2 is able to access the web server without being required to authenticate.

The commands to achieve this configuration are included in Example 7-14.

Example 7-14. Configuring Firewall Session Authentication Exceptions

!AAA server group called mygroup is configured for the 172.18.124.141 RADIUS server aaa-server mygroup protocol radius aaa-server mygroup host 172.18.124.141 key cisco123! !An ACL is configured to require authentication of all traffic except for User2 (172.18.124.20) access-list 150 extended permit ip any any access-list 150 extended deny ip host 172.18.124.20 any ! !The aaa authentication match command is configured with the corresponding ACL. aaa authentication match 150 inside mygroup

Cisco ASA is capable of excluding authentication for devices by using their MAC address. This feature is practical when bypassing authentication for devices such as printers and IP phones. You need to create a MAC address list, by using the mac-list command, to accomplish this task. Subsequently, you use the aaa mac-exempt command to bypass authentication for the specified MAC addresses on the list. Example 7-15 demonstrates how to configure the Cisco ASA to achieve this functionality.

Example 7-15. Configuring Authentication Exceptions Using MAC Address Lists

mac-list MACLIST permit 0003.470d.61aa ffff.ffff.ffff mac-list MACLIST permit 0003.470d.61bb ffff.ffff.ffff aaa mac-exempt match MAC

In Example 7-15, a MAC list named MACLIST is defined with two host MAC addresses and is associated with the aaa mac-except command.

Note

Only one MAC list can be associated with aaa mac-exempt.

Note

Both authentication and authorization will be bypassed if this feature is turned on.

 

Authentication Timeouts

Authentication timeouts can be customized using the timeout uauth command. By using this command, you can specify how long the Cisco ASA should wait before requiring the user to reauthenticate after a period of inactivity or absolute duration. The following is the command syntax:

timeout uauth hh:mm:ss [absolute | inactivity]

The inactivity timer begins after a user connection becomes idle. The absolute timer runs continuously. If you use the inactivity and absolute timeouts at the same time, the absolute timeout duration should be longer than the inactivity timeout. If you set the timeouts the opposite way, the inactivity timeout will not work, because the absolute timeout always expires sooner.

Note

It is recommended to configure the absolute timeout command value for at least 2 minutes. Never configure the timeout uauth duration to 0, particularly when using passive FTP, because the authentication session will never time out.

Additionally, you can use the clear uauth command to delete all cached credentials and make all users reauthenticate when attempting to create a new connection through the Cisco ASA. You can append a username at the end of the command to make a specific user reauthenticate. For example, use clear uauth joe to force a user called "joe" to reauthenticate.

Customizing Authentication Prompts

Cisco ASA allows you to customize the authentication prompts by using the auth-prompt command. This customization is only available for Telnet, HTTP, or FTP authentication. The following is the usage and syntax of this command:

auth-prompt [prompt | accept | reject] prompt text

Table 7-6 lists all the options of the auth-prompt command.

Table 7-6. auth-prompt Command Options

Option

Description

prompt text

The actual text that will be printed at challenge, accept, or reject time.

prompt

Specifies that text following this keyword is printed as the authentication prompt.

accept

The text following this keyword is printed at authentication acceptance time.

reject

The text following this keyword is printed at authentication rejection time.

Note

The accept and reject options apply only for Telnet connections.

Категории