[21463] in bugtraq

home help back first fref pref prev next nref lref last post

Re: Check Point response to RDP Bypass

daemon@ATHENA.MIT.EDU (Jochen Bauer)
Wed Jul 11 19:34:24 2001

Date: Wed, 11 Jul 2001 20:45:11 +0200
From: Jochen Bauer <jtb@inside-security.de>
To: bugtraq@securityfocus.com
Message-ID: <20010711204511.A8375@bender.inside-security.de>
Mail-Followup-To: bugtraq@securityfocus.com
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="EVF5PPMfhYS0aIcm"
Content-Disposition: inline
In-Reply-To: <F108146KXzQt1aP5N1l0000fc89@hotmail.com>; from jlindq@hotmail.com on Wed, Jul 11, 2001 at 11:41:23AM +0200

--EVF5PPMfhYS0aIcm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Wed, Jul 11, 2001 at 11:41:23AM +0200, Johan Lindqvist wrote:
> The original advisory 
> (http://www.inside-security.de/advisories/fw1_rdp.html) says that a 
> workaround is to "Deactivate implied rules in the Check Point policy editor 
> (and build your own rules for management connections).". I've not been able 
> to find any changes in the INSPECT code generated to confirm that not using 
> the implied rules from "Policy/properties/Security policy/Implied 
> rules/Accept VPN-1 & FireWall-1 Control Connection"

Hmm.. strange. I cannot reproduce this. Here's the test i carried out:

I set up a policy with all implied rules, the policy file w_control.W 
is attached to this mail. From this policy the INSPECT file w_control.pf
was generated (also attached). The relevant part of this file is:

[...]
#define REVERSE_UDP 1
#include "code.def"
accept_fw1_connections;  <-----
accept_proxied_conns;
enable_radius_queries;
enable_tacacs_queries;    
[...]

accept_fw1_connections is defined in $FWDIR/lib/base.def:

#define accept_fw1_connections accept_fw1_connections1 accept_fw1_connections2
        accept_fw1_connections3

and the macro "accept_fw1_connections3" includes "accept_fw1_rdp" which is 
the flawed macro. 

#define accept_fw1_connections3                                         
        [...]
        accept_fw1_rdp;


So, the RDP vulnerability finally comes into the INSPECT 
file "w_control.pf" with the macro "accept_fw1_connections". 

However, if i go to the policy editor and uncheck policy->properties->
Security Policy->Implied Rules->VPN-1 & FireWall-1 Control Connections and 
re-compile the policy (wo_control.W, see attachment), i get an INSPECT file 
(wo_control.pf, see attachment) that does not make use of  
"accept_fw1_connections" and does therefore not lead to this vulnerability. 

I've also tested this with our proof of concept code. (BTW: I'm going to 
post this code tomorrow on BUGRAQ)

Can you post the policy and INSPECT files you generated?

Jochen
-- 
Jochen Bauer                        |    Tel: +49711 6868 7030 
Inside Security IT Consulting GmbH  |    Fax: +49711 6868 7031
Nobelstr. 15                        |    email: jtb@inside-security.de
70569 Stuttgart, Germany            |    http://www.inside-security.de

--EVF5PPMfhYS0aIcm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="w_control.W"

("##w_control"
	:rule (
		:src (
			: Any
		)
		:dst (
			: Any
		)
		:services (
			: echo-reply
			: echo-request
		)
		:action (
			: (accept
				:type (accept)
				:color ("Dark green")
				:macro (RECORD_CONN)
				:icon-name (icon-accept)
				:text-rid (61463)
				:windows-color (green)
			)
		)
		:track ()
		:install (
			: testfw
		)
		:time (
			: Any
		)
	)
	:rule (
		:src (
			: Any
		)
		:dst (
			: Any
		)
		:services (
			: SSH
		)
		:action (
			: (accept
				:type (accept)
				:color ("Dark green")
				:macro (RECORD_CONN)
				:icon-name (icon-accept)
				:text-rid (61463)
				:windows-color (green)
			)
		)
		:track ()
		:install (
			: testfw
		)
		:time (
			: Any
		)
	)
	:rule (
		:src (
			: Any
		)
		:dst (
			: Any
		)
		:services (
			: Any
		)
		:action (
			: (drop
				:type (drop)
				:color (Firebrick)
				:icon-name (icon-drop)
				:text-rid (61465)
				:windows-color (green)
			)
		)
		:track (
			: Long
		)
		:install (
			: testfw
		)
		:time (
			: Any
		)
	)
	:filename (w_control.W)
)

--EVF5PPMfhYS0aIcm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="w_control.pf"

// INSPECT Security Policy Script Generated by admin@blackmore at 20Jun2001 20:00:22
// from Rulebase w_control.W by FireWall-1 Version 4.1 Code Generation
// Running under SunOS 5.7

// Number of Authentication and Encryption rules
#define NAUTHENTICATION 0
#define NENCRYPTION 0
#define NLOGIC 0
#define NLOGICFOLD 0
#define NACCOUNT 0

/////////////////////////////
// Exported Rules Database //
/////////////////////////////
export {
(
	:auth ()
	:crypt ()
	:logic ()
	:logicfold ()
	:proxy ()
	:rules (
		: (rule-1
			:src (
				: Any
			)
			:dst (
				: Any
			)
			:services (
				: echo-reply
				: echo-request
			)
			:action (
				: (accept
					:type (accept)
					:color ("Dark green")
					:macro (RECORD_CONN)
					:icon-name (icon-accept)
					:text-rid (61463)
					:windows-color (green)
				)
			)
			:track ()
			:install (
				: testfw
			)
			:time (
				: Any
			)
		)
		: (rule-2
			:src (
				: Any
			)
			:dst (
				: Any
			)
			:services (
				: SSH
			)
			:action (
				: (accept
					:type (accept)
					:color ("Dark green")
					:macro (RECORD_CONN)
					:icon-name (icon-accept)
					:text-rid (61463)
					:windows-color (green)
				)
			)
			:track ()
			:install (
				: testfw
			)
			:time (
				: Any
			)
		)
		: (rule-3
			:src (
				: Any
			)
			:dst (
				: Any
			)
			:services (
				: Any
			)
			:action (
				: (drop
					:type (drop)
					:color (Firebrick)
					:icon-name (icon-drop)
					:text-rid (61465)
					:windows-color (green)
				)
			)
			:track (
				: Long
			)
			:install (
				: testfw
			)
			:time (
				: Any
			)
		)
	)
	:rules-adtr ()
	:party ()
	:conf_params (
		: (tcptimeout
			:val (3600)
			:type (int)
		)
		: (tcpendtimeout
			:val ()
			:type (int)
		)
		: (udptimeout
			:val (40)
			:type (int)
		)
		: (udpreply
			:val (true)
			:type (str)
		)
		: (addresstrans
			:val (false)
			:type (str)
		)
		: (nat_limit
			:val (25000)
			:type (int)
		)
		: (nat_hashsize
			:val (16384)
			:type (int)
		)
		: (stack_size
			:val ()
			:type (int)
		)
		: (skipmaxtime
			:val (120)
			:type (int)
		)
		: (skipmaxbytes
			:val (10485760)
			:type (int)
		)
		: (icmpcryptver
			:val (1)
			:type (int)
		)
		: (fwsynatk_method
			:val (0)
			:type (int)
		)
		: (fwsynatk_timeout
			:val (10)
			:type (int)
		)
		: (fwsynatk_max
			:val (5000)
			:type (int)
		)
		: (fwsynatk_ifnum
			:val (-1)
			:type (int)
		)
		: (fwsynatk_warning
			:val (1)
			:type (int)
		)
		: (disable_ipsec
			:val (false)
			:type (str)
		)
		: (anti_spoofing_active
			:val (true)
			:type (str)
		)
		: (tcp_fastmode_active
			:val (false)
			:type (str)
		)
		: (logical_servers_active
			:val (false)
			:type (str)
		)
		: (tcpestb_grace_period
			:val ()
			:type (int)
		)
		: (fwfrag_limit
			:val ()
			:type (int)
		)
		: (fwfrag_timeout
			:val ()
			:type (int)
		)
		: (fwfrag_minsize
			:val ()
			:type (int)
		)
		: (tcp_reject
			:val ()
			:type (str)
		)
		: (udp_reject
			:val ()
			:type (str)
		)
		: (fwz_encap_mtu
			:val (1)
			:type (int)
		)
		: (ip_pool_dst_static_timeout
			:val ()
			:type (int)
		)
	)
)
}.set;

// List of services which have prologue
prolog_services = { <99999,99999>, <21,21>, <111,111> };

// List of known TCP services
tcp_services = { <7, 7>, <9, 9>, <13, 13>, <15, 15>, <21, 23>, <25, 25>, <37, 37>, <49, 49>, <53, 53>, <70, 70>, <79, 80>, <109, 110>, <113, 113>, <119, 119>, <123, 123>, <139, 139>, <143, 143>, <210, 210>, <256, 259>, <261, 261>, <264, 265>, <389, 389>, <443, 443>, <453, 453>, <455, 455>, <512, 514>, <540, 540>, <636, 636>, <709, 710>, <750, 750>, <900, 900>, <1235, 1235>, <1352, 1352>, <1503, 1503>, <1521, 1521>, <1723, 1723>, <2000, 2000>, <2049, 2049>, <2299, 2299>, <2626, 2626>, <2998, 2998>, <5190, 5190>, <5510, 5510>, <5631, 5631>, <6000, 6063>, <6499, 6499>, <6660, 6670>, <7000, 7000>, <16384, 16384>, <18181, 18184>, <18187, 18187> };

// List of TCP Fast Mode services
tcp_fastmode_services = { <0, 0> };

// List of known UDP services
udp_services = { <7, 7>, <9, 9>, <13, 13>, <37, 37>, <42, 42>, <49, 49>, <53, 53>, <67, 67>, <69, 69>, <123, 123>, <137, 138>, <161, 162>, <259, 260>, <500, 500>, <512, 514>, <520, 520>, <750, 750>, <1525, 1525>, <1558, 1558>, <1622, 1622>, <1645, 1645>, <1812, 1812>, <2049, 2049>, <5500, 5500>, <5632, 5632>, <7648, 7652>, <22555, 22555> };

///////////////////////////
// Beginning of Prologue //
///////////////////////////

// Define Log Preferences
#define LOG_TIMEOUT 62

// Define Session Timeouts
#define TCP_TIMEOUT 3600
#define UDP_TIMEOUT 40
#define AU_PORT_TIMEOUT 15
#define PMAP_CONNECT_TIMEOUT 30



// Log macro for IP Options
#define IPOPTNS_LOG	1

// Log macro for Established TCP Packets
#define LOG_ESTABLISHED_TCP

// Define flag for enabling decryption on accept
#define ACCEPT_DECRYPT_ENABLE 0 

#define NO_ENCRYPTION_FEATURES 1

// Address Translation definitions
#define FWXT_EOX 0x0
#define FWXT_TCP_DPORT_STATIC 0xb02
#define FWXT_UDP_DPORT_STATIC 0x1b02

// Include Common Definition File
#include "fwui_head.def"

SRV_icmp(echo-reply, icmp_type=ICMP_ECHOREPLY)
SRV_icmp(echo-request, icmp_type=ICMP_ECHO)
SRV_tcp(ssh, 22)

/////////////////////
// End of Prologue //
/////////////////////

///////////////////////////////////////
// Beginning of Security Policy Code //
///////////////////////////////////////

// List of FireWalled Gateways, Hosts and Embedded systems
firewalled_list = { <192.168.1.200, 192.168.1.200>, <192.168.2.1, 192.168.2.1>, <192.168.3.1, 192.168.3.1> };

// List of Check Point Management Stations
management_list = { <192.168.1.200, 192.168.1.200>, <192.168.2.1, 192.168.2.1>, <192.168.3.1, 192.168.3.1> };

// List of Floodgated Gateways
floodgated_list = { <0.0.0.0, 0.0.0.0> };

// List of GUI clients 
gui_clients_list = { <127.0.0.1, 127.0.0.1>, <192.168.2.2, 192.168.2.2> };

// List of RADIUS Servers 
radius_servers_list = { 0 };

// List of TACACS Servers 
tacacs_servers_list = { 0 };

// List of LDAP Servers 
ldap_servers_list = { 0 };

// List of cvp Servers 
cvp_servers_list = { 0 };

// List of ufp Servers 
ufp_servers_list = { 0 };

// List of Servers, operated by Logical Servers
servers_list = { 0 };

//time lists

MAKE_ALERT(alert_tab, <"![alert]">)
MAKE_ALERT(snmptrap_tab, <"![snmptrap]">)
MAKE_ALERT(mail_tab, <"![mail]">)
MAKE_ALERT(useralert_tab, <"![useralert]">)
MAKE_ALERT(spoofalert_tab, <"![spoofalert]">)
MAKE_ALERT(userauthalert_tab, <"![userauthalert]">)

ADDR_net(testfw-net-if0, 192.168.1.0, 255.255.255.0)
ADDR_net(testfw-net-if1, 192.168.2.0, 255.255.255.0)
ADDR_net(testfw-net-if2, 192.168.3.0, 255.255.255.0)
ADDR_gateway(testfw, 192.168.2.1)





set r_xlate_pool 0;
ip_list1 = { <192.168.2.0, 192.168.3.255> };
ip_list2 = { <192.168.2.0, 192.168.2.255> };
ip_list3 = { <192.168.3.0, 192.168.3.255> };


// Interface access groups
inbound hme0@testfw
	drop (ip_src in ip_list1), 
		LOG(long, LOG_NOALERT, 0);
outbound hme0@testfw
	reject (ip_dst in ip_list1), 
		LOG(long, LOG_NOALERT, 0);
inbound hme1@testfw
	drop (ip_src not in ip_list2), 
		LOG(long, LOG_NOALERT, 0);
outbound hme1@testfw
	reject (ip_dst not in ip_list2), 
		LOG(long, LOG_NOALERT, 0);
inbound hme2@testfw
	drop (ip_src not in ip_list3), 
		LOG(long, LOG_NOALERT, 0);
outbound hme2@testfw
	reject (ip_dst not in ip_list3), 
		LOG(long, LOG_NOALERT, 0);

// User defined init code and global init code
#include "user.def"
#include "init.def"

// Code for First-Bounded Properties
ftpdata_code;
ftp_record_pasv;
rpc_code;
accept_fw1_connections_first;
#define REVERSE_UDP 1
#include "code.def"
accept_fw1_connections;
accept_proxied_conns;
enable_radius_queries;
enable_tacacs_queries;
enable_ldap_queries;
#define load_agent_port 0
#if NLOGIC > 0
enable_load_agent_queries;
#endif

// Service other pre-match code
ftp_accept_pasv;
accept_prematch_crypt;

// Rule-Base And Before-Last Properties Code

start_rule_base_code;
eitherbound	all@testfw
	accept	start_rule_code(1), 
		(icmp, echo-reply or echo-request), 
		RECORD_CONN(1);
eitherbound	all@testfw
	accept	start_rule_code(2), 
		(tcp, ssh), 
		RECORD_CONN(2);
accept_outgoing;
eitherbound	all@testfw
	drop	start_rule_code(3), 
		LOG(long, LOG_NOALERT, 3);

// Code for Last-Bounded Properties

/////////////////////////////////
// End of Security Policy Code //
/////////////////////////////////

#include "fwui_trail.def"

--EVF5PPMfhYS0aIcm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="wo_control.W"

(
	:rule (
		:src (
			: Any
		)
		:dst (
			: Any
		)
		:services (
			: echo-reply
			: echo-request
		)
		:action (
			: (accept
				:type (accept)
				:color ("Dark green")
				:macro (RECORD_CONN)
				:icon-name (icon-accept)
				:text-rid (61463)
				:windows-color (green)
			)
		)
		:track ()
		:install (
			: testfw
		)
		:time (
			: Any
		)
	)
	:rule (
		:src (
			: Any
		)
		:dst (
			: Any
		)
		:services (
			: SSH
		)
		:action (
			: (accept
				:type (accept)
				:color ("Dark green")
				:macro (RECORD_CONN)
				:icon-name (icon-accept)
				:text-rid (61463)
				:windows-color (green)
			)
		)
		:track ()
		:install (
			: testfw
		)
		:time (
			: Any
		)
	)
	:rule (
		:src (
			: Any
		)
		:dst (
			: Any
		)
		:services (
			: Any
		)
		:action (
			: (drop
				:type (drop)
				:color (Firebrick)
				:icon-name (icon-drop)
				:text-rid (61465)
				:windows-color (green)
			)
		)
		:track (
			: Long
		)
		:install (
			: testfw
		)
		:time (
			: Any
		)
	)
	:rulename (wo_control)
	:filename (wo_control.W)
)

--EVF5PPMfhYS0aIcm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="wo_control.pf"

// INSPECT Security Policy Script Generated by admin@blackmore at 20Jun2001 20:00:57
// from Rulebase wo_control.W by FireWall-1 Version 4.1 Code Generation
// Running under SunOS 5.7

// Number of Authentication and Encryption rules
#define NAUTHENTICATION 0
#define NENCRYPTION 0
#define NLOGIC 0
#define NLOGICFOLD 0
#define NACCOUNT 0

/////////////////////////////
// Exported Rules Database //
/////////////////////////////
export {
(
	:auth ()
	:crypt ()
	:logic ()
	:logicfold ()
	:proxy ()
	:rules (
		: (rule-1
			:src (
				: Any
			)
			:dst (
				: Any
			)
			:services (
				: echo-reply
				: echo-request
			)
			:action (
				: (accept
					:type (accept)
					:color ("Dark green")
					:macro (RECORD_CONN)
					:icon-name (icon-accept)
					:text-rid (61463)
					:windows-color (green)
				)
			)
			:track ()
			:install (
				: testfw
			)
			:time (
				: Any
			)
		)
		: (rule-2
			:src (
				: Any
			)
			:dst (
				: Any
			)
			:services (
				: SSH
			)
			:action (
				: (accept
					:type (accept)
					:color ("Dark green")
					:macro (RECORD_CONN)
					:icon-name (icon-accept)
					:text-rid (61463)
					:windows-color (green)
				)
			)
			:track ()
			:install (
				: testfw
			)
			:time (
				: Any
			)
		)
		: (rule-3
			:src (
				: Any
			)
			:dst (
				: Any
			)
			:services (
				: Any
			)
			:action (
				: (drop
					:type (drop)
					:color (Firebrick)
					:icon-name (icon-drop)
					:text-rid (61465)
					:windows-color (green)
				)
			)
			:track (
				: Long
			)
			:install (
				: testfw
			)
			:time (
				: Any
			)
		)
	)
	:rules-adtr ()
	:party ()
	:conf_params (
		: (tcptimeout
			:val (3600)
			:type (int)
		)
		: (tcpendtimeout
			:val ()
			:type (int)
		)
		: (udptimeout
			:val (40)
			:type (int)
		)
		: (udpreply
			:val (true)
			:type (str)
		)
		: (addresstrans
			:val (false)
			:type (str)
		)
		: (nat_limit
			:val (25000)
			:type (int)
		)
		: (nat_hashsize
			:val (16384)
			:type (int)
		)
		: (stack_size
			:val ()
			:type (int)
		)
		: (skipmaxtime
			:val (120)
			:type (int)
		)
		: (skipmaxbytes
			:val (10485760)
			:type (int)
		)
		: (icmpcryptver
			:val (1)
			:type (int)
		)
		: (fwsynatk_method
			:val (0)
			:type (int)
		)
		: (fwsynatk_timeout
			:val (10)
			:type (int)
		)
		: (fwsynatk_max
			:val (5000)
			:type (int)
		)
		: (fwsynatk_ifnum
			:val (-1)
			:type (int)
		)
		: (fwsynatk_warning
			:val (1)
			:type (int)
		)
		: (disable_ipsec
			:val (false)
			:type (str)
		)
		: (anti_spoofing_active
			:val (true)
			:type (str)
		)
		: (tcp_fastmode_active
			:val (false)
			:type (str)
		)
		: (logical_servers_active
			:val (false)
			:type (str)
		)
		: (tcpestb_grace_period
			:val ()
			:type (int)
		)
		: (fwfrag_limit
			:val ()
			:type (int)
		)
		: (fwfrag_timeout
			:val ()
			:type (int)
		)
		: (fwfrag_minsize
			:val ()
			:type (int)
		)
		: (tcp_reject
			:val ()
			:type (str)
		)
		: (udp_reject
			:val ()
			:type (str)
		)
		: (fwz_encap_mtu
			:val (1)
			:type (int)
		)
		: (ip_pool_dst_static_timeout
			:val ()
			:type (int)
		)
	)
)
}.set;

// List of services which have prologue
prolog_services = { <99999,99999>, <21,21>, <111,111> };

// List of known TCP services
tcp_services = { <7, 7>, <9, 9>, <13, 13>, <15, 15>, <21, 23>, <25, 25>, <37, 37>, <49, 49>, <53, 53>, <70, 70>, <79, 80>, <109, 110>, <113, 113>, <119, 119>, <123, 123>, <139, 139>, <143, 143>, <210, 210>, <256, 259>, <261, 261>, <264, 265>, <389, 389>, <443, 443>, <453, 453>, <455, 455>, <512, 514>, <540, 540>, <636, 636>, <709, 710>, <750, 750>, <900, 900>, <1235, 1235>, <1352, 1352>, <1503, 1503>, <1521, 1521>, <1723, 1723>, <2000, 2000>, <2049, 2049>, <2299, 2299>, <2626, 2626>, <2998, 2998>, <5190, 5190>, <5510, 5510>, <5631, 5631>, <6000, 6063>, <6499, 6499>, <6660, 6670>, <7000, 7000>, <16384, 16384>, <18181, 18184>, <18187, 18187> };

// List of TCP Fast Mode services
tcp_fastmode_services = { <0, 0> };

// List of known UDP services
udp_services = { <7, 7>, <9, 9>, <13, 13>, <37, 37>, <42, 42>, <49, 49>, <53, 53>, <67, 67>, <69, 69>, <123, 123>, <137, 138>, <161, 162>, <259, 260>, <500, 500>, <512, 514>, <520, 520>, <750, 750>, <1525, 1525>, <1558, 1558>, <1622, 1622>, <1645, 1645>, <1812, 1812>, <2049, 2049>, <5500, 5500>, <5632, 5632>, <7648, 7652>, <22555, 22555> };

///////////////////////////
// Beginning of Prologue //
///////////////////////////

// Define Log Preferences
#define LOG_TIMEOUT 62

// Define Session Timeouts
#define TCP_TIMEOUT 3600
#define UDP_TIMEOUT 40
#define AU_PORT_TIMEOUT 15
#define PMAP_CONNECT_TIMEOUT 30



// Log macro for IP Options
#define IPOPTNS_LOG	1

// Log macro for Established TCP Packets
#define LOG_ESTABLISHED_TCP

// Define flag for enabling decryption on accept
#define ACCEPT_DECRYPT_ENABLE 0 

#define NO_ENCRYPTION_FEATURES 1

// Address Translation definitions
#define FWXT_EOX 0x0
#define FWXT_TCP_DPORT_STATIC 0xb02
#define FWXT_UDP_DPORT_STATIC 0x1b02

// Include Common Definition File
#include "fwui_head.def"

SRV_icmp(echo-reply, icmp_type=ICMP_ECHOREPLY)
SRV_icmp(echo-request, icmp_type=ICMP_ECHO)
SRV_tcp(ssh, 22)

/////////////////////
// End of Prologue //
/////////////////////

///////////////////////////////////////
// Beginning of Security Policy Code //
///////////////////////////////////////

// List of Servers, operated by Logical Servers
servers_list = { 0 };

//time lists

MAKE_ALERT(alert_tab, <"![alert]">)
MAKE_ALERT(snmptrap_tab, <"![snmptrap]">)
MAKE_ALERT(mail_tab, <"![mail]">)
MAKE_ALERT(useralert_tab, <"![useralert]">)
MAKE_ALERT(spoofalert_tab, <"![spoofalert]">)
MAKE_ALERT(userauthalert_tab, <"![userauthalert]">)

ADDR_net(testfw-net-if0, 192.168.1.0, 255.255.255.0)
ADDR_net(testfw-net-if1, 192.168.2.0, 255.255.255.0)
ADDR_net(testfw-net-if2, 192.168.3.0, 255.255.255.0)
ADDR_gateway(testfw, 192.168.2.1)





set r_xlate_pool 0;
ip_list1 = { <192.168.2.0, 192.168.3.255> };
ip_list2 = { <192.168.2.0, 192.168.2.255> };
ip_list3 = { <192.168.3.0, 192.168.3.255> };


// Interface access groups
inbound hme0@testfw
	drop (ip_src in ip_list1), 
		LOG(long, LOG_NOALERT, 0);
outbound hme0@testfw
	reject (ip_dst in ip_list1), 
		LOG(long, LOG_NOALERT, 0);
inbound hme1@testfw
	drop (ip_src not in ip_list2), 
		LOG(long, LOG_NOALERT, 0);
outbound hme1@testfw
	reject (ip_dst not in ip_list2), 
		LOG(long, LOG_NOALERT, 0);
inbound hme2@testfw
	drop (ip_src not in ip_list3), 
		LOG(long, LOG_NOALERT, 0);
outbound hme2@testfw
	reject (ip_dst not in ip_list3), 
		LOG(long, LOG_NOALERT, 0);

// User defined init code and global init code
#include "user.def"
#include "init.def"

// Code for First-Bounded Properties
ftpdata_code;
ftp_record_pasv;
rpc_code;
#define REVERSE_UDP 1
#include "code.def"
accept_proxied_conns;
#define load_agent_port 0

// Service other pre-match code
ftp_accept_pasv;
accept_prematch_crypt;

// Rule-Base And Before-Last Properties Code

start_rule_base_code;
eitherbound	all@testfw
	accept	start_rule_code(1), 
		(icmp, echo-reply or echo-request), 
		RECORD_CONN(1);
eitherbound	all@testfw
	accept	start_rule_code(2), 
		(tcp, ssh), 
		RECORD_CONN(2);
accept_outgoing;
eitherbound	all@testfw
	drop	start_rule_code(3), 
		LOG(long, LOG_NOALERT, 3);

// Code for Last-Bounded Properties

/////////////////////////////////
// End of Security Policy Code //
/////////////////////////////////

#include "fwui_trail.def"

--EVF5PPMfhYS0aIcm--

home help back first fref pref prev next nref lref last post