Checkpoint 4.1 Advanced Technical Reference
Checkpoint 4.1 Advanced Technical Reference
VPN-1/FireWall-1
Check Point 2000
Contents
Preface
Scope1
Links to SecureKnowledge and Other Places1
Who should use this Guide1
How to obtain the latest version of this Guide2
Feedback Please!2
Summary of Contents2
Contents
Contents
ii
Contents
iii
Contents
iv
Preface
Scope
The FireWall-1 Advanced Technical Reference Guide is intended to help the System Administrators:
1.
2.
The guide was put together by the Check Point Escalation Support team, and makes available some of their
real-world experience in assisting customers. Every chapter was written by a specialist in the field.
This guide does not duplicate the User Guides or Courseware. It either covers those topics not found in the User
Guides, or expands on them.
This version of the Advanced Technical Reference Guide covers VPN-1/FireWall-1, and is updated to
VPN-1/FireWall-1 4.1 SP1 (Check Point 2000), unless noted otherwise. Note that the previous version was
called the Advanced Troubleshooting Guide.
Feedback Please!
We in Check Point Support would love to hear what you think of this guide. Please write to
ehareven@checkpoint.com
Is the information is this guide useful?
Did you find what you were looking for?
Preface
Summary of Contents
Summary of Contents
The Advanced Technical Reference Guide contains the following chapters. See the Contents for a summary:
Contents
Preface
Chapter 1: Troubleshooting Overview
Chapter 2: Troubleshooting Tools
Chapter 3: Troubleshooting Network Address Translation
Chapter 4: Troubleshooting Routers and Embedded Systems
Chapter 5: Troubleshooting Open Security Extension
Chapter 6: Troubleshooting Anti-Spoofing
Chapter 7: Troubleshooting Security Servers and Content Security
Chapter 8: Troubleshooting LDAP Servers and the AMC
Chapter 9: Troubleshooting Active Network Management
Chapter 10: Troubleshooting SNMP
Chapter 11: Troubleshooting Licensing
Chapter 12: What To Send Technical Support
Chapter 13: Check Point Support Information
Appendix A: State Tables for VPN-1/FireWall-1 4.0
Appendix B: Object.C Properties in VPN-1/FireWall-1 4.0
Appendix C: Log Viewer "info" Messages
Troubleshooting Guidelines
1.
2.
3.
4.
5.
Information to Gather
Before contacting Technical Support, gather all necessary information about the problem. For a
description of the of required information, Refer to
Contacting Check Point Worldwide Technical Services by Telephone, page 133 and
Contacting Check Point Worldwide Technical Services by E-mail, page 135
Information to Gather
fwinfo
Troubleshooting Tools
This chapter describes the most important tools for Troubleshooting VPN-1/FireWall-1 problems. These tools
include fwinfo, Control (fw ctl) commands, the Monitor (fw monitor) Command and debugging with
INSPECT.
fwinfo
Introduction
fwinfo is used to collect information that is used for debugging and solving VPN-1/FireWall-1 problems. It
runs operating system and VPN-1/FireWall-1 commands and gathers information on the system parameters of
the machine on which VPN-1/FireWall-1 is installed, and on VPN-1/FireWall-1 parameters such as interfaces
and tables. The resulting file will usually be sent to Check Point Support (support@ts.checkpoint.com) for
analysis.
Before running fwinfo, make sure that the result of the echo $FWDIR command is /etc/fw
(normally the FireWall directory). If it isnt, type
setenv FWDIR /etc/fw
2.
3.
fwinfo
Network data
Sanity check
You should begin by checking the most obvious points about the VPN-1/FireWall-1 and system configuration
System
To verify that the VPN-1/FireWall-1 is install on a supported system, look for the section System
Information.
On Windows, the information is given in a straight-forward manner. e.g. Windows NT Version 4.0 (Service
Pack 5 , Build:1381).
On a UNIX, the system information is given by the uname -a, and the output format varies slightly according
to the exact UNIX flavor:
Table 1:
OS
Format
AIX
HPUX
Solaris
Linux
To get
uudecode fwinfo.uue
fwinfo.Z
uncompress fwinfo.Z
fwinfo
uudecode fwinfo
fw.tar.gz
gunzip fw.tar.gz
fw.tar
Syntax
fw ctl [ip_forwarding option] | Iflist | pstat | install | uninstall arp
Explanation
The commands are:
Command
Meaning
ip_forwarding
option
pstat
This command prints detailed information about the hash kernel memory in use
(controlled by the parameter fwhmem) and the system kernel memory in use, including
peak values of both. See fw ctl pstat, on page 9,
iflist
install
uninstall
arp
Displays the ARP proxy table which is a mapping of IP and MAC addresses, and utilizes
local.arp file
debug
fw ctl pstat
The following is an explanation of some typical output from the fw ctl pstat command, which generates
internal statistics. It prints detailed information about the hash kernel memory in use (controlled by the
parameter fwhmem) and the system kernel memory in use, including peak values of both.
Output
205872
Explanation
A pool of 4194304 bytes was allocated by the VPN/FireWall module kernel for its internal
hash table items and other kernel data structures. 3992704 bytes are available in that
pool. There are 61671 allocation operations and 59509 free operations while none had to
be rejected due to memory exhaustion.
Output
Explanation
The amount of system physical memory is 62857216 bytes while 3072000 bytes are
available for kernel allocation (note that this information is not display on all supported
platforms). 5615497 bytes of kernel memory are used by the Firewall kernel module
(including that hash memory) and the peak usage was 5712425 bytes.
Output
Explanation
This information relates to the activity of the virtual machine. (The figures relate to virtual
machine operations, lookups and records in tables, and the number of packets
inspected).
Output
Explanation
FireWall-1 uses an abstract data type (cookie) to represent packets. These statistics
relate to the code that handle those cookies and is used only for heuristic tuning of the
code.
Output
Explanation
FireWall-1 performs 'virtual reassembly' which means that it gathers all the fragments of a
packet before processing that packet. This statistics information tells us that the kernel
module has processed 142389 fragments and assembled them to 24012 packets while
non fragment were expired. Fragments expire when their packet fails to be reassembled
in a 20 seconds time frame or when due to memory exhaustion, they cannot be kept in
memory anymore.
Output
Explanation
Output
Translation: 245/1023021 forw, 222/829627 bckw, 467 tcpudp, 0 icmp, 36-31 alloc .
Explanation
This information relates to address translation. 245 of the 1023021 packets, going in the
'forward' direction (forward outgoing, backward - incoming), while 222 of the 829627
packets, going on the 'backward' direction, were translated. 467 of the translations were
of tcp/udp packets while no ICMP packet had to be translated. 36 tcp/udp port numbers
where dynamically allocated while 31 where de-allocated.
fw ctl debug
The fw ctl debug command is a powerful debugging tool, which is very helpful when debugging
VPN-1/FireWall-1.
With its many commands it is possible to see nearly everything that happens in the kernel module.
Syntax
fw ctl | all | cookie | crypt | driver | filter | hold | if | ioctl | kbuf
| ld | log | machine | memory | misc | packet | q | tcpseq | xlate, xltrc
| winnt | synatk | domain | install | profile | media | align | ex |
balance | chain
To start debug mode;
fw ctl debug [command]
To cancel the debugging;
fw ctl debug 0
Apart from this method of operation there is an option to use the debug commands from a window rather than
from the console (console being the default option).
In most cases, you would need to run the debug as follows:
% fw ctl debug buf [buffer size] /* direct the information to a buffer */
% fw ctl debug command1 command2 /* generate the required data in that buffer */
% fw ctl kdebug f > output_file /* Read the kernel buffer and print it to a file */
After all the necessary data is gathered, interrupt the last command using Ctrl-C
Cancel the debugging using fw ctl debug 0
Meaning
all
All the switches. This option is not recommended. The amount of data massive and it will be
almost impossible to get any useful information. On some platforms it could crash the machine,
as the operating system will try to write massive amounts of data to the console.
Cookie
With the cookie switch turned on, all the cookies (the data structure that holds the packets) are
shown. (cookies are used in order to avoid the problems that arise from the ways different
Operating Systems handle packets).
Example:
M_dup(fwcookie.c:2464): 7E492D0
m_dup(fwcookie.c:2464): 7E492D0
Explanation
Those are just pointers to the data. (the actual cookies)
crypt
With this option turned on, all the encrypted/decrypted packets are printed in clear text and
cipher text. The algorithms and keys that used are also printed
See crypt Example, Output and Explanation, on page 12.
10
Option
Meaning
driver
returns
len = 36
len = 36
len = 52
Explanation:
Those are kernel calls about log entries read.
filter
Shows the packet filtering that is done by the kernel module, and all the data that is loaded into
the kernel (the building of the tables, the services and the filtering functions.)
hold
This is the holding mechanism and all packets that are being held or released are shown when
this switch is turned on (for example when doing encryption).
if
All the interface related information (accessing the interface, installing on interface).
ioctl
When this switch is turned on it shows all the ioctl ( I/O control) messages such as the
communication between the kernel and the daemon, loading and unloading of
VPN-1/FireWall-1. (For instance when the daemon exits, it is sometimes possible to see the
ioctl command that caused the exit.)
kbuf
All the information that is kbuf related (such as rdp when encrypting). The kbuf is the kernel
buffer memory pool, and the encryption keys use these memory allocations. (The memory
switch is for the tables memory pool).
Ld
Log
This switch shows everything related to the log (all log calls).
Machine
This switch shows the actual assembler commands that are being processed. (heavy)
memory
Misc
All the things that are not shown with the other commands.
Packet
This switch shows all the actions performed on a packet (accept, drop, fragment).
tcpseq
This switch prints the tcp sequences that are being changed when using address translation.
xlate, xltrc
Prints the NAT related information (changing IPs) where the xlate switch is the basic (and
most commonly used) switch, and xltrc gives additional information by showing the actual
process of going through the NAT Rule Base for each packet (mostly on telnet and ftp).
See xlate, xltrc on page 14.
Winnt
synatk
domain
Domain queries.
Install
Driver installation.
Profile
Prints the number of packets that were filtered and the amount of time spent on them.
Media
Align
Gives information regarding the decoding of the H323 data in H323 data connections.
Ex
Balance
Chain
11
crypt
With this option turned on, all the encrypted/decrypted packets are printed in clear text and cipher text. The
algorithms and keys that used are also printed
Example
Output
Explanation
12
9. The actual data in the packet still encrypted (the first 20 is header, then 8 ICMP header, the
rest is the actual data in this packet - ICMP echo request).
10. mdlen=16 the MD5 checksum length is 16.
md=(B1,8B,69,CA,62,FE,AB,67,79,27,88,55,15,14,7F,B4) the actual MD5 hash - no errors are
reported meaning the data integrity is not compromised.
11. fw_crypt: just after calling cookie_put_data() a debugging line that shows that the
decrypted data was returned to the cookie
12. cookie 0x7E492D0: m=0x5A49600, offset=0, len=60, flen=0 - the data cookies (see line
8).
13. The actual data in clear text, you can compare and see that the first 24 bytes in the
packets on lines 9 and 13 are the same, those are the headers which are not encrypted, the
next 4 are control characters which are encrypted and afterwards the actual data which on the
second packet (line 13) is sequential as it should be in ICMP and on the encrypted packet it is
garbled.
Output
1. fw_crypt_make_md: mdlen=16
md=(5D,44,68,66,CC,68,78,D5,3C,1F,31,A2,50,86,CF,5C)
2. fw_crypt: op=encrypt method=0 md=1 entry=3 len=60 offset=24
3. fw_crypt: cookie=7E492D0, cookie_m=5A49600, packetid=9E01
4. fw_crypt: keybuf=7E86210 keylen=6 keyval=(1E,42,8A,D2,2,52)
5. fw_crypt: mdkeylen=32
mdkey=(61,8F,DF,A4,AB,7C,AA,5E,96,F,53,36,1C,92,B1,47,55,C8,1F,8B,6A,
DE,CB,62,65,FB,51,52,6B,63,4,C2)
6. fw_crypt: niv=4 iv=(1C,4,0,0)
7. fw_crypt: crunched iv=(1C,4,0,0,1C,4)
8. fw_crypt: just before calling fwcrypto_do()
9. cookie 0x7E492D0: m=0x5A49600, offset=0, len=60, flen=0
10..
0: 45 00 00 3C 1C 04 00 00 FF 01 62 25 C7 CB 47 1E
16: C0 A8 6E 05 00 00 01 5C 02 00 52 00 61 62 63 64
32: 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74
48: 75 76 77 61 62 63 64 65 66 67 68 69
11.
fw_crypt: just after calling cookie_put_data()
12.
cookie 0x7E492D0: m=0x5A49600, offset=0, len=60, flen=0
13.
0: 45 00 00 3C 1C 04 00 00 FF 01 62 25 C7 CB 47 1E
16: C0 A8 6E 05 00 00 01 5C 61 EB 75 99 12 89 96 AB
32: 80 D8 C2 7B 45 75 FD D6 E9 6E 95 01 31 E8 59 3E
48: FF B6 7D 62 D0 2D 2E 87 A6 6D 84 A9
Explanation
13
xlate, xltrc
Prints the NAT related information (changing IP addresses etc.) where the xlate switch is the basic (and most
commonly used) switch, and xltrc gives additional information by showing the actual process of going
through the NAT Rule Base for each packet (mostly on TELNET and FTP).
Example
Output
14
Explanation
15
Syntax
fw monitor [-d] [-D] <{-e expr}+|-f <filter-file|->> [-l len] [-m mask] [x offset[,len]] [-o <file>]
The filter can be specified from a file (-f option) or from the command line (-e option).
There are 4 inspection points along the passage of a packet through VPN-1/FireWall-1:
The term virtual machine above refers to most of the packet processing done by the FireWall and not only to the
INSPECT code execution (including virtual defragmentation, NAT, encryption, etc.).
Once started the command will compile the specified INSPECT filter program, load it to the kernel (not
replacing the security policy), and then the program will continuously get packets from the kernel and display
them in the terminal window (from which the command was issued). Upon an interrupt signal (Control-C) or
other catchable signal, the program will stop displaying packets, unload the monitor filter and exit.
The INSPECT program which is used to filter the monitored packets should return accept in order for the packet
to be displayed, any other return code from INSPECT (or the implicit drop at the end) will cause the packet not
to be displayed. No scoping should be used in the filter program (e.g. => le0@all...), since the same filter is
executed in all interfaces and in all directions. Instead, an expression such as direction=0,ifid=1, should be used
(the interface id number for an interface can be found by using the fw ctl iflist command). Tables and
functions can be used, care should be taken though, not to use table names that are used by the security policy.
Unless the -o option was specified, packets are displayed to the standard output (control messages are printed
on the standard error), the first line will display IP information, the next lines will display protocol specific
information (for TCP, UDP or ICMP). If the display option (-x) is used the following lines will show a hex
dump and printable character display of the packet content.
Packets are inspected in all 4 points mentioned above unless a mask is specified (-m option).
16
Options
Switch:
Explanation:
-d
Provides lower level debug output from the filter loading process
-D
Provides higher level debug output from the filter loading process
-e
-f
Specify an INSPECT filter file name ('-' means the standard input), the file is copied before
compilation. The -f and -e options are mutually exclusive.
-l
Specify how much of the packet should be transferred from the kernel (for packets longer than
the specified length only a prefix will be available for display).
-m
Specify inspection points mask, any one or more of i, I, o, or O can be used (the meaning of
each is explained above).
-o
Specify an output file. Save 'monitored' packets in the output file as they are monitored. During
the monitoring, a count of the number of packets saved in the file is displayed. The content of
the file can later be examined by the snoop -i <file> command.
-x
Specify display parameters. When this option is present, the IP and protocol information will be
followed by a hex dump and printable character display, starting at the offset bytes into the
packet for len bytes long. (If offset + len is larger than the length specified by the -l option, only
the data available will be displayed).
Examples
fw monitor -e '[9:1]=6,accept;' -l 100 -m iO -x 20
This will display all TCP packets going through the FireWall, once before the virtual machine in the inbound
direction and once after the virtual machine in the outbound direction (provided, of course, that the FireWall
allowed the packet to pass). Up to 80 bytes of the TCP header and data will be displayed (assuming no IP
options).
fw monitor -e 'accept;' -m iI -o /tmp/monitor.snp
<ctrl-c>
snoop -i /tmp/monitor.snp -V -x14
This will save all packets going into the FireWall, one before the virtual machine in the inbound direction and
once after the virtual machine in the inbound direction, in the file /tmp/monitor.snp. This file should later
be copied to a Solaris machine and can be examined by the snoop utility. In the previous example, display only
TCP packet going from or to the ftp or ftp-data port.
Alert - 19 Dec 1999 - A security hole has been discovered in the "snoop" application that could allow
a malicious user to gain privileged access to a machine running "snoop".
Sun Microsystems has provided patches to fix this security hole. They can be downloaded from:
http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-license&nav=pub-patches
Sun has issued a Security Bulletin #00190 regarding this vulnerability. See
http://sunsolve.sun.com/pub-cgi/secBulletin.pl
Since "snoop" presents a security risk, Check Point recommends that running snoop should be
avoided. fw monitor should be used instead, which will usually provide more information than
17
snoop. Where snoop is the only way to obtain information, verify that the Sun patches have been
applied before running the snoop.
Files
Filename:
Explanation:
$FWDIR/tmp/monitorfilter.pf
$FWDIR/tmp/monitorfilter.*
(.* for .fc, .ft, etc.)
Output files of the compilation. These are removed before the program
exits.
Notes
It is extremely important to avoid interfering with the security policy tables, or unexpected behavior may result
(which may include a machine crash). In the "post machine" inspection points (I and O) packets are
"defragmented", which means that the packet data buffer transferred from the kernel includes data from all IP
fragments, but only the IP header of the first fragment (which indicates the length of the first fragment only).
An exception to this is, for example, when there is no virtual defragmentation (such as when no security policy
is loaded on the FireWall).
Any load, fetch or unload of the security policy while fw monitor is running will cause the monitor filter to
be unloaded and the program to exit.
18
Changing the log format in order to display additional information about packets going through the
FireWall.
2.
Inserting debug lines in the INSPECT code to show run time information and to check where the code is
entered.
*/
The new field will be added to the Info column in the Log Viewer (see Appendix C: Log Viewer "info"
Messages, page 189.
19
More Information
More Information
For more information on INSPECT and VPN-1/FireWall-1 Control (fw ctl) commands see the
VPN-1/FireWall-1 4.1 and 4.1 SP1 (Check Point 2000) Reference Guides
20
21
Introduction
The network administrator wishes to conceal IP addresses in the internal networks from the Internet
2.
The IP addresses of the internal network use invalid Internet addresses. That is, as far as the Internet is
concerned, these addresses belong to another network or use a private address range.
This chapter provides additional information about Address Translation that is not covered in the User Guides.
Source
Destination
Service
Source
Destination
Service
DMZ
DMZ
Any
InternalNetwork
InternalNetwork
Any
DMZ
InternalNetwork
Any
InternalNetwork
DMZ
Any
DMZ
Any
Any
DMZ-Static
InternalNetwork
Any
Any
InternalNetwork-Hide
Then the DMZ addresses will not be translated when going to the Internal Network, and translated otherwise. If
the Internal Network is not translated, you can omit rules 2,4,6.
See the SecureKnowledge Solution (ID: 36.0.1738860.2502469) in the Check Point Technical Services site
22
2.
Create a new workstation object for the network/address range being NATed.
3.
Input the pertinent information on the general tab (name and IP).
4.
5.
6.
Set the mode to "hide" and input 0.0.0.0 as the Hiding IP address.
Source IP
Destination IP
Client (illegal)
Server (legal)
Internet
Server (legal)
Server (illegal)
Another possibility is to use IP tunneling, to tunnel the IP packets with illegal source and destination addresses
in the data portion of legally addressed IP packets which pass between the gateways.
23
Note: The following instructions show how to change both the source and destination address in address
translation rules. The procedure makes it possible to use the server's illegal IP address in the internal network by
creating the following address translation rule:
1.
Original Packet
Source | Destination | Service
Internal-1 network | Server's Illegal | any
2.
Translated Packet
Source | Destination | Service
Internal-1's Gateway (hide) | Server's Legal | Original
3.
Source IP
Destination IP
Client (illegal)
Server (illegal)
Internet
Server (legal)
Server (illegal)
Note: SKIP and IPSEC, which encapsulate the IP packets, do not require any of the above, and allow you to
disregard the whole issue.
See the SecureKnowledge Solution (ID 36.0.2512318.2514147) in the Check Point Technical Services site
How to use NAT when the IP address is embedded in the data area
There are certain protocols, such as the one used to communicate between a Primary Domain Controller and
Backup Domain Controller in Windows, which put the IP address in the data area, where VPN-1/FireWall-1
doesn't know how to change it unless NAT has been adapted specifically to that protocol.
In these cases it is sometimes possible to use two VPN-1/FireWall-1 gateways with Address Translation to still
allow the protocol to be used.
24
Destination
Service
Source
Destination
Service
10.0.0.1
any
any
197.3.5.10(s)
any
any
Any
197.3.5.10
any
Any
10.0.0.1(s)
any
In this case you'd need the following rule on the FireWall on the client side:
Source
Destination
Service
Source
Destination
Service
Any
10.0.0.1
any
Any
197.3.5.10(s)
any
197.3.5.10
any
any
10.0.0.1(s)
any
any
Then, the packet will travel the Internet with the legal IP address of the server, but both the client and the server
will see it with it's illegal address. Note that if the client's IP address is also illegal you would need to use dual
Address Translation.
See the SecureKnowledge Solution (ID 36.0.2437410.2512633) in the Check Point Technical Services site
25
Leaky NAT
For some connections, (usually those with long timeouts) the internal IP address of the Address Translated
object leaks through VPN-1/FireWall-1. This sometimes causes the connection to fail since the reply is to an
unknown IP address.
Cause
Leaky NAT is caused by the TCP timeout of that specific connection. When a TCP connection is inactive for
too long, it is deleted from the NAT tables. If the connection is resumed, it will be inspected again on the
inbound interface, but since it is an established connection and not a SYN packet it wont be inspected on the
Outbound interface, and will therefore be passed untranslated.
For a connection to be translated it needs to be in the NAT tables. If a connection is deleted from the NAT
tables it will be deleted from the Connection tables as well. Occasionally, packets from connections that are no
longer registered in the NAT tables or the connection tables pass through anyway. The reason could be that the
connection is being checked and allowed through by the Rule Base even though it should not be.
Troubleshooting
The symptom for this behavior is usually a connection drop. This can be seen in the output of the fw
monitor command, where the Internal IP address is seen on the outbound interface. That means that the
server will be getting an unreachable IP address, causing the connection to fail.
26
default value is 1 Minute. This value is the waiting value between a SYN packet and a SYN-ACK packet. If this
counter is timed out, the connection will be erased from the tables.
If the connection is resumed and is no longer in the tables it can pass with no translation because it is absent
from the NAT tables.
In this scenario, one can increase the value of this parameter in order to increase the waiting period for the
SYN-ACK packet. Bear in mind that this change will increase the size of the tables, because the deletion of
each entry will be postponed.
4. Increase the value of the TCP end timeout (tcpendtimeout):
This workaround is for a situation where leaky NAT happens in the closing phase of the connection.
In the Objects.C file, set the tcpendtimeout value. The default value is 50 Seconds.
This is the waiting time between the time that the two peers sent their FIN or RESET packets, and the time that
the last ACK was sent. When the time is exceeded, the connection is deleted from the tables. A packet that is
sent through after that time will not be translated.
5. Change the relevant service to a service of type 'other' and not 'TCP':
This ensures that packets will be inspected on the outbound interface too.
6. Applying the ACK Denial-Of-Service hotfix.
The ACK DOS hotfix prevents packets in established TCP connections from being checked against the Rule
Base. This way, if a connection is not registered in the tables, it will be dropped with no exceptions.
This workaround is rather extreme since it will drop each connection that has been idle for more than 3600 sec.
It was originally developed to block Denial Of Service Attacks.
The following INSPECT code should be added to the $FWDIR/lib/code.def file (at the end of the file,
just before the #endif statement).
After completing the edit, reinstall the security policy.
For version 4.0-based installations, this code will also log these events.
#ifndef ALLOW_NONFIRST_RULEBASE_MATCH
tcp, first or <conn> in old_connections or
(
#ifndef NO_NONFIRST_RULEBASE_MATCH_LOG
(
<ip_p,src,dst,sport,dport,0> in logged
) or (
record <ip_p,src,dst,sport,dport,0> in logged,
set sr10 12, set sr11 0, set sr12 0, set sr1 0,
log bad_conn
) or 1,
#endif
vanish
);
#endif
27
Debugging NAT
Debugging NAT
Note: See Chapter 2: Troubleshooting Tools, page 5 for more information on the fw ctl debug,
fwinfo, and the fw monitor commands.
To debug NAT problems, make use of the following debug commands. They should be issued in an
environment that produces the problem.
For example, for an FTP connection problem, perform the commands followed by a FTP connection and some
kind of snoop on the connection (fw monitor would be best)
This set of commands will produce some outputs that will shed some light over the issue.
Not all NAT problems require this kind of debugging. Use it for especially problematic situations, such as when
NAT fails and for Leaky NAT issues.
Note: the commands should be issued in the order specified here.
1.
2.
NOTE: In order to stop the debugging issue CTRL+C after step 4 is completed
3.
While these commands are running, run the fw monitor command that is appropriate for your connection.
For a FTP connection for example run the following:
fw monitor -m iIoO -e "accept [20:2,b]=21 or [22:2,b]=21 or [20:2,b]=20
or [22:2,b]=20;" -o <filename>
4.
More Information
For more information on Network Address Translation, See
Version 4.1 SP1 (Check Point 2000): VPN-1/FireWall-1 Administration Guide Chapter 14
28
Introduction
F ire w a ll
(S U N )
F ire w a ll
F ir e w a ll
( W in d o w s N T )
(H P )
B a y N e tw o r k s
S ite M a n a g e r
GUI
C lie n t
M a n a g e m e n t S e rv e r A r c h ite c tu r e
F W D P ro c e s s ta lk s to fire w a lls
U s e r a n d N e tw o rk D a ta b a s e s
D o w n lo a d R u l e b a s e
L o g F ile s
F W M P ro c e s s ta lk s to G U I C lie n ts
G U I C lie n t G U I C lie n t
G U I C lie n t
G U I C lie n t
Figure 1. General architecture of the interaction between Management Server (Control Module) and the
Firewall Module on the Embedded System
Management Server to Embedded Firewall Communications
Router (Embedded System) sends log file information back to Management Server on port 257
30
Communication between Management Server and GUI Client (including Username/Password) is encrypted
on port #258
Accept/Reject rules
Anti-Spoofing
What happens when applying the Gateway rule to Interface and the direction
set to Eitherbound
See the SecureKnowledge Solution (ID: 10022.0.1673175.2471537) in the Check Point Technical Services site
Problem which the time in log entries is different to the time on the router and
the Management module.
See the SecureKnowledge Solution (ID: 3.0.666864.2300662) in the Check Point Technical Services site
Problem which the remote Firewall is not dynamically downloading the correct
policy
See the SecureKnowledge Solution (ID: 10022.0.1673144.2471537) in the Check Point Technical Services site
Problem, which the management module doesnt get, logs from routers, few
possible causes and resolution.
See the SecureKnowledge Solution (ID: 10022.0.527050.2411096) in the Check Point Technical Services site
Problem which after installing policy, the system status will display HELP on a
Nortel (Bay) Router.
See the SecureKnowledge Solution (ID: 55.0.3594400.2592864) in the Check Point Technical Services site
31
Perform a regular installation of the router (boot bn/asn/arn.exe ti.cfg, and then
install.bat), or use a predefined non-FireWalled configuration, if you have one. The important thing
is that the router is configured so that communication from Nortel's Site Manager to the router is enabled.
2.
Through the Configuration Manager (a GUI for controlling several routers), make sure that all the nonFireWalled details (like IP Circuits, protocols, etc.) are configured the way you would like them to be.
3.
5.
6.
7.
Through the VPN-1/FireWall-1 GUI, define the router as a Network Object by selecting Router from the
pull-down menu. In General tab select Bay Networks for the Type field, check the Internal checkbox, and
the VPN-1/FireWall-1 Installed checkbox. Note that you cannot issue SNMP Fetch at this stage, since a
default policy, which allows only FireWall communication between the management and the router, is
installed on the router. You should also specify the external interface of the router, and the license mode
(i.e., how many nodes can the router protect). Having defined the above, you should be able to install
policies on the router, as if it were a regular inspection module (which it is).
8.
32
Licenses
The license for the embedded system capabilities is installed only on the Management Module NOT on the
router.
Sometimes there are no log entries: Additional putkeys and fwstop/fwstart at the
VPN-1/FireWall-1 Management, as well as boots to the router, usually fix this.
The router is not displayed on System Status: Caused by not selecting Platform FireWall Interfaces. The
Management displays that a policy had been installed, but it has no effect. In this case, the policy is
accepted by the router, but there are no FireWalled interfaces on which to install the policy.
Select the router you would like to configure (there is a small window which lists all the routers the Site
Manager "knows" about).
2.
From the Site Manager Menu bar, choose Tools Configuration Manager Dynamic. This will open a
Configuration Manager window, which lets you configure a specific router.
3.
Save the current configuration file (File Save As somename.cfg), so you'll be able to return to this state
at a later time, by simply booting the router with this configuration file.
4.
On the configuration Manager choose Protocols IP SNMP Communities. This will open a window called
"SNMP Community List".
5.
On the SNMP Community List Window, choose Community Add Community, to add your own
community, giving it READ/WRITE permissions.
6.
Select the new community that you've defined in step 5, and choose Community Managers. This will open
the Managers window. In this window, add the IP address of the VPN-1/FireWall-1 machine.
7.
Exit the "Managers" and the SNMP Community List windows (Don't erase the "Public" default community
yet. Do it later).
8.
In the Configuration Manager, save your definition in a file, preferably with the ".cfg" suffix (File Save
As).
To enable VPN-1/FireWall-1 to correctly communicate with the Nortel (Bay) router via SNMP, make sure that
the following steps are performed during configuration:
In the VPN-1/FireWall-1 GUI
1.
Open the Network Objects Manager, and define the router. The definitions should be as follows:
Type = Router
Location = Internal
Vendor = Bay Networks
FireWall-1 = Not Installed
33
2.
Press the "SNMP Info..." button to Enter the "SNMP Information" window, and in it change the values of
both "Read" and "Write" fields to the new community you've defined previously using the Nortel (Bay)
Site Manager.
Make rules which have either "Routers" or the specific router in the "Install On" field.
Warning - Make sure that you are not adding rules which block SNMP communication between
VPN-1/FireWall-1 and the router, and from the Site Manager to the router.
3.
Install the policy. This should load the access list on the router.
2.
Using Configuration Manager, as described above, erase the default "Public" community, or make it
READ ONLY.
Whatever access list you make, it is recommended you allow SNMP connections to the router only
from the VPN-1/FireWall-1 site and from the Site Manager. No other SNMP connections to the router
should be allowed (this, of course, doesn't include SNMP THROUGH the router, to different locations,
which is simply a matter of your security policy choices).
It is recommended that you copy the configuration file on the router to a special file called "config" (no
extensions), which is the default configuration file, used when the router comes up from a failure (when
turned on, after a power supply failure, etc.). This, of course, should only be done after you verified
everything is OK with your configuration file.
34
VPN-1/FireWall-1 Commands:
To save the "secret" password for use in connecting and communicating with the management station:
fwputkey secret xxx.xxx.xxx.xxx
To erase all the current password entries in the NVRAM.
fwputkey clearkey
To retrieve VPN-1/FireWall-1 configuration (MIB)
get wfRFwallGroup.*.0
General Commands
To show the version and build date of the current boot image.
stamp
To start BCC (Bay Command Console) the configuration utility.
bcc
2.
Next type the following command to configure the primary management station IP address and the local IP
address (the routers primary interface):
35
Typing info at this point will show you the currently defined firewall information. Back up management
stations can be defined at this point.
4.
Now the individual interfaces must be configured to use the firewall. Type back twice to return to the root
menu. Type in the name of the first interface:
ethernet/1/1
5.
6.
7.
2.
Check the log files on the router. RFWALL is a keyword in the log files for the Check Point Software on
the Router. The proper syntax for this is
Log -ffdwit -eRFWALL (will show all of the new firewall messages.)
(-ffdwit) means
(ff) fault
(d) debug
(w) warning
(i) informational
(t) trace
log -ffdwit -t9:00
3.
The MIB Group for the firewall is wfRFwallGroup. The following MIB objects will show the IP Addresses
of the Check Point Control Station, and the Firewall Module on the Router.
get wfRFwallGroup.*.0
The output of the command retrieves the following data, which present the current routers
VPN-1/FireWall-1 configuration:
wfRFwallGroup.wfRFwallDelete.0 = 1
wfRFwallGroup.wfRFwallDisable.0 = 1
wfRFwallGroup.wfRFwallState.0 = 1
wfRFwallGroup.wfRFwallLogHostIp.0 = xxx.xxx.xxx.xxx
wfRFwallGroup.wfRFwallLogHostIpInt.0 = 0
wfRFwallGroup.wfRFwallLocalHostIp.0 = yyy.yyy.yyy.yyy
36
wfRFwallGroup.wfRFwallLocalHostIpInt.0 = 0
wfRFwallGroup.wfRFwallVersion.0 = 2
wfRFwallGroup.wfRFwallHmemMin.0 = 50000
wfRFwallGroup.wfRFwallHmemMax.0 = 100000
wfRFwallGroup.wfRFwallLogHostIpBkp1.0 = 0.0.0.0
wfRFwallGroup.wfRFwallLogHostIpIntBkp1.0 = 0
wfRFwallGroup.wfRFwallLogHostIpBkp2.0 = 0.0.0.0
wfRFwallGroup.wfRFwallLogHostIpIntBkp2.0 = 0
Check the communications from the management station to the router. Make sure you can ping the router
from a DOS Prompt using the IP address.
2.
Next, check to see if you can ping the router using the name described for the object in the Network Object
Manager. On Windows NT, the hosts file is located under \winnt\system32\drivers\etc\hosts. Check to
see if the name in this file can be resolved.
3.
If you still have problems downloading a Rule Base, try and synchronize the secret keys between the Check
Point Management Station and the Nortel (Bay) Router as follows:
On the router, type in
fwputkey <secret key> <IP Address of Check Point Management Station>
On the management station
fw putkey <secret key> <IP Address of Router>
4.
The fw bload command could be used to compile and install the security policy on the embedded
module. You can use this command from the command line.
Commands syntax:
fw bload [inspect-file | rule-base] target...
37
Accept/Reject rules
Anti-Spoofing
Problem, which the management module doesnt get, logs from routers, few
possible causes and resolution.
10022.0.527050.2411096
See the SecureKnowledge Solution (ID: 10022.0.527050.2411096) in the Check Point Technical Services site
Problem which you cant load policy into xylan module and you receive an
unauthorized action error message.
55.0.634804.2563934
See the SecureKnowledge Solution (ID: 55.0.634804.2563934) in the Check Point Technical Services site
38
Information to Gather
BAY Router
1.
2.
3.
4.
5.
2.
3.
Xylan
1.
Image version (if its newer than 3.1.6 then, send the image files).
2.
3.
39
More Information
More Information
For more information on Routers and Embedded Systems, See
Version 4.1 SP1
Check Point 2000 Administration Guide:
Chapter 17 Routers and Embedded Systems.
Chapter 4: Network objects, Router properties, pages 118-141
Version 4.1
Administration Guide:
Chapter 17 Routers and Embedded Systems.
Chapter 4: Network objects, Router properties, pages 114-139
Version 4.0
FireWall-1 Architecture and Administration User Guide version 4.0:
Chapter 6: Routers and Embedded Systems.
Managing FireWall-1 Using the Windows GUI, pages 35-48
40
41
Introduction
Select the router you would like to configure (there is a small window which lists all the routers the Site
Manager "knows" about).
2.
From the Site Manager Menu bar, choose Tools Configuration Manager Dynamic. This will open a
Configuration Manager window, which lets you configure a specific router.
3.
Save the current configuration file (File Save As somename.cfg), so you'll be able to return to this state
at a later time, by simply booting the router with this configuration file.
4.
On the configuration Manager choose Protocols IP SNMP Communities. This will open a window called
"SNMP Community List".
5.
On the SNMP Community List Window, choose Community Add Community, to add your own
community, giving it READ/WRITE permissions.
6.
Select the new community that you've defined in step 5, and choose Community Managers. This will open
the Managers window. In this window, add the IP address of the VPN-1/FireWall-1 machine.
42
7.
Exit the "Managers" and the SNMP Community List windows (Don't erase the "Public" default community
yet. Do it later).
8.
In the Configuration Manager, save your definition in a file, preferably with the ".cfg" suffix (File Save
As).
To enable VPN-1/FireWall-1 to correctly communicate with the Bay router via SNMP, make sure that the
following steps are performed during configuration:
In the VPN-1/FireWall-1 GUI
1.
Open the Network Objects Manager, and define the router. The definitions should be as follows:
Type = Router
Location = Internal
Vendor = Bay Networks
FireWall-1 = Not Installed
2.
Press the "SNMP Info..." button to Enter the "SNMP Information" window, and in it change the values of
both "Read" and "Write" fields to the new community you've defined previously using Bay's Site Manager.
Make rules which have either "Routers" or the specific router in the "Install On" field.
Warning - Make sure that you are not adding rules which block SNMP communication between
FireWall-1 and the router, and from the Site Manager to the router.
3.
Install the policy. This should load the access list on the router.
2.
Using Configuration Manager, as described above, erase the default "Public" community, or make it
READ ONLY.
Whatever access list you make, it is recommended you allow SNMP connections to the router only
from the VPN-1/FireWall-1 site and from the Site Manager. No other SNMP connections to the router
should be allowed (this, of course, doesn't include SNMP THROUGH the router, to different locations,
which is simply a matter of your security policy choices).
It is recommended that you copy the configuration file on the router to a special file called "config" (no
extensions), which is the default configuration file, used when the router comes up from a failure (when
turned on, after a power supply failure, etc.). This, of course, should only be done after you verified
everything is OK with your configuration file.
Error message while trying to install new license (only for 4.1)
See the SecureKnowledge Solution (ID: 10043.0.4395816.2572453) in the Check Point Technical Services site
43
Error message on the Import Access List window of the FireWall-1 GUI
Importing access list operation will fail when trying to import in Graphical rulebase from a FastEthernet0/0
interface
See the SecureKnowledge Solution (ID: 10043.0.5516028.2585580) in the Check Point Technical Services site
Error message while trying to install new license (only for 4.1)
See the SecureKnowledge Solution (ID: 10043.0.4395816.2572453) in the Check Point Technical Services site
Access List download fails the first time a username is defined in the routers
enable mode
When a username is defined in the routers enable mode, downloading the Access List fails. Every time the
router asks for a username, a time-out message is displayed. Access List installation will succeed on the second
try. To avoid this problem, do not define enable username for Cisco routers.
44
Syntax
router_load -cisco <router> <conf file> <password|XXX|PROMPT> <enable
password|XXX|PROMPT>
OR:
router_load -cisco <router> <conf file> <user name|XXX|PROMPT>
<password|XXX|PROMPT> <enable user name|XXX|PROMPT> <password|XXX|PROMPT>
OR:
router_load -cisco <router> <password|XXX|PROMPT> <enable
password|XXX|PROMPT> [-command <command>]
OR:
router_load -cisco <router> <user name|XXX|PROMPT> <password|XXX|PROMPT>
<enable user name|XXX|PROMPT> <password|XXX|PROMPT> [-command <command>]
The conf file is the router.cl file in the conf directory. This file doesnt exist when configuring the
router network object on the VPN-1/FireWall-1 GUI. You can create this file by installing the access list from
the GUI (when the router is not connected to the VPN/FireWall management module).
Error message while trying to install new license (only for 4.1)
See the SecureKnowledge Solution (ID: 10043.0.4395816.2572453) in the Check Point Technical Services site
45
Error message while trying to install new license (only for 4.1)
See the SecureKnowledge Solution (ID: 10043.0.4395816.2572453) in the Check Point Technical Services site
Syntax
router_load -3com <router> <conf file> <user name|XXX|PROMPT>
<password|XXX|PROMPT> <enable password|XXX|PROMPT> [-command <command>]
The conf file is the router.cl file in the conf directory. This file doesnt exist when configuring the
router network object on the VPN-1/FireWall-1 GUI. You can create this file by installing the Access list from
the GUI (when the router is not connected to the VPN/FireWall management module).
46
Error message while trying to install new license (only for 4.1)
See the SecureKnowledge Solution (ID: 10043.0.4395816.2572453) in the Check Point Technical Services site
Syntax:
router_load -steelhead <router> <conf file> <user name|XXX|PROMPT>
<password|XXX|PROMPT> [-command <command>]
The conf file is the router.cl file in the conf directory. This file doesnt exist when configuring the
router network object on the VPN-1/FireWall-1 GUI. You can create this file by installing the Access list from
the GUI (when the router is not connected to the VPN/FireWall management module).
More Information
For more information on Managing Router Access Lists, see:
Version 4.1 SP1
Check Point 2000 Administration Guide
Chapter 4: Network objects, Router properties, pages 118-147,
Chapter 14: Network Address Translation, pages 464-470.
Version 4.1
Administration Guide
Chapter 4: Network objects, Router properties, pages 115-145,
Chapter 14: Network Address Translation, pages 459-464.
Version 4.0
Managing FireWall-1 Using the Windows/OpenLook GUI User Guide,
Chapter 2: Network Objects, Router Setup, page 40.
47
48
Introduction
Troubleshooting Anti-Spoofing
Introduction
Spoofing is a technique where an intruder attempts to gain unauthorized access by altering a packets IP address
to make it appear as though the packet originated in a part of the network with higher access privileges. VPN1/FireWall-1 has a sophisticated anti-spoofing feature, which detects such packets by requiring that the interface
on which a packet enters a gateway corresponds to its IP address.
Find out which address bootp clients use (normally it would be 255.255.255.255) and create a workstation
network object with this IP.
2.
Use this object as the source for the port 67 service and destination for the port 68 service.
3.
Since bootp uses the IP broadcast address 255.255.255.255, you need to add it to the anti-spoofing group
for the interface of the server, so that IP packets destined to it will be passed. Since the IP source address is
often 0.0.0.0, you might also need that address to be part of the anti-spoofing group for the interface of the
client (the device which attempts to boot). To do these things, you need to create a network object that will
contain this address, so you'll be able to add it to the anti-spoofing group.
See the SecureKnowledge Solution (ID: 36.0.259529.2476199) in the Check Point Technical Services site
49
2.
3.
Apply that group to your interface for Anti-spoofing and install the new policy
See the SecureKnowledge Solution (ID: 3.0.216192.2211274) in the Check Point Technical Services site.
50
Debugging Anti-Spoofing
Debugging Anti-Spoofing
In order to solve your problem, your technical support representative will need all relevant information about
the problem and its environment. For each type of problem, the Support representative will ask for specific
records and files.
Sending this information as soon as the Support Call is opened will make the handling of the ticket more
efficient and will ensure that the problem is resolved as quickly as possible
This section lists the information that Check Point Support will ask you to gather for Anti-spoofing problems. It
may also be of use when doing your own troubleshooting.
See Chapter 2: Troubleshooting Tools, page 5 for more information on the fwinfo, fw monitor and
the fw ctl debug commands.
Information to Gather
1.
fwinfo file
2.
Network Diagram
51
52
53
Environment
Hardware
Sun (TM) Enterprise 250 (2 X UltraSPARC-II 296MHz), Keyboard Present
OpenBoot 3.7, 512 MB memory installed,
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <SUN4.2G cyl 3880 alt 2 hd 16 sec 135>
/pci@1f,4000/scsi@3/sd@0,0
54
AVAILABLE SWAP:
Total: 7848k bytes allocated + 1640k reserved = 9488k used, 400496k available
IP Interface
Issuing the ifconfig -a command resulted in:
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255
ether 8:0:20:a6:eb:58
hme1: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.1 netmask ffffff00 broadcast 192.168.2..255
ether 8:0:20:a6:eb:58
hme2: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
inet 10.1.1.1 netmask ffffff00 broadcast 10.1.1.255
ether 8:0:20:a6:eb:58
Issuing the /opt/CPfw1-41/bin/fw ctl iflist command resulted in:
0
1
2
3
:
:
:
:
lo0
hme0
hme1
hme2
The Software
Check Point VPN-1(TM) & FireWall-1(R) Version 4.1 Build 41439 [VPN +
DES + STRONG]
55
Note: The WebSense Server was moved to a separate interface on the FireWall (100 Mbps Ethernet)
Tuning
System parameters
The following system parameters were set:
set
set
set
set
set
set
noexec_user_stack = 1
noexec_user_stack_log = 1
rlim_fd_cur=4096
rlim_fd_max=4096
tcp:tcp_conn_hash_size = 16384
fw:fwhmem = 0x1000000
-set
-set
-set
-set
-set
-set
-set
-set
/dev/hme
/dev/tcp
/dev/tcp
/dev/tcp
/dev/tcp
/dev/tcp
/dev/tcp
/dev/tcp
adv_100fdx_cap 1
tcp_xmit_hiwat 65535
tcp_recv_hiwat 65535
tcp_cwnd_max 65535
tcp_slow_start_initial 2
tcp_conn_req_max_q 1024
tcp_conn_req_max_q0 4096
tcp_close_wait_interval 60000
VPN-1/FireWall-1 parameters
1.
56
2.
3.
4.
5.
Increase the number of instances of the in.ahttpd HTTP security server process to 5
In $FWDIR/conf/fwauthd.conf change the following line,
80 in.ahttpd wait -5
Note: When using multiple instances of the security server such as the in.ahttpd HTTP security server
the client_was_auth table is used. The client_was_auth table stores the port number of the specific
security server to which the client connection was folded, so that subsequent connections from the same client
will be handled by the same security server instance.
Performance Test
A test was conducted during a peak load period, which coincided with lunchtime during a Wednesday, with
poor weather. (A likely scenario for maximum number of users sitting at their desktops, having lunch and using
their web browsers.) The test period was from approx. 10:45 a.m. to 1:15 p.m. The httpss was used in
transparent mode, (i.e. no configuration required at the desktop).
Observations
1.
proxied_conns
connections
18
19
3217
15829
2.
Achieved peak open sockets on the firewall of approx. 11,000 sockets. (2 x 5500, determined by using
netstat and counting the number of entries of the VPN-1/FireWall-1s external interface IP address).
3.
Performance from local test machine(s) browser was acceptable and comparably faster that the existing
proxy technology.
4.
CPU load on VPN-1/FireWall-1 averages approx. 99 % during the peak (100% at times) and averages
approx. 75 % throughout the test.
5.
The ahttpd process load on the CPU averaged approx. 15% per process (x 5). The first process always
appeared to have a higher load, sometimes as high as 30% while the rest were down in the 15% range.
6.
The first half of the test was without the WebSense rule. For the second half, the WebSense rule was added
on the fly. Check a number of illegal sites, and get appropriate reject from WebSense rule.
7.
Near the end of the test, approx. 1 p.m. a message appeared on the test browser "FW-1: hostname:
Cannot connect to WWW server". This message appears numerous times in the ahttpd.elg
log file. It is therefore assumed that other client browsers experienced this same message.
8.
At about the same time, several console messages where received from VPN-1/FireWall-1: " log
buffer message queue full". Because of the log buffer message, it was decided to reduce the
57
Excessive Log Grace period to 30 sec (See the SecureKnowledge Solution in the Check Point Technical
Services site (ID 110022.0.1679268.2471760)), and then re-installed the policy.
9.
Test ended approx. 1:15 p.m., and after change no. 8, it appeared that there were no more log buffer
messages on the console. Number of connections at this time dropped to less than 10,000.
10. Note that many drops are logged and most appear to be return packets from web servers. These packets will
continue for up to 10 min (default) as web server is still trying to close connection.
11. All fw and httpss processes are stable through the entire test, (no processes hanging, no core dumps etc.)
.
Discussion
Re: observation no.4 and no. 7:
It was deemed necessary by the test team to increase the resources required for this environment. With the CPU
at 99% during peak and sometime at 100%, there appeared to be no room for higher loads. Also, with the high
number of Cannot connect to www server entries in the ahttpd.elg log file, it was determined
that the box was out of resources periodically, even though this message could appear for other reasons
including servers that does not respond, etc.
Re: observation no. 8:
After reducing the Excessive Log Grace Period to 30 sec, (half the default of 60 sec.), the messages to the
console Log buffer message queue full stopped. This message occurs when the kernel
process responsible for the logging is filling the buffer for the log messages faster than the user mode process
can empty this buffer This is a normal message identifying the potential loss of important log messages. A
better remedy is a faster CPU and /or to increase the size of the log queue, which is a system parameter. The
latter may in some cases not resolve the problem.
Re: observation no. 10:
These are mostly late packets from the web server(s) as determined by a network sniffer. Because the
connection has already been removed from the connections table, (i.e. client browser has already closed or reset
its connection to the transparent proxy) these packets are dropped by the clean-up rule. Possible remedy is to
increase :tcpendtimeout from 50 sec to some higher value. This will allow the connection to stay in the
connection table longer and therefore allow the packets to get through and therefore get ack'd and the
connection to be closed in an orderly fashion. This has a negative side effect of drastically increasing the size of
the connections table.
Another solution is to add a rule to filter these return packets, from any, source port 80, to the external IP
address of VPN-1/FireWall-1 on port gt. 1023, reject, no track. This will at least eliminate these from the log
viewer. This was determined to be the preferred corrective action for this environment.
Another solution is to make a code change to enable Check Point gateways to drop non-first TCP packets
instead of matching the rule base. It should be noted that this INSPECT fix will cause a change of behavior
from the existing Check Point gateway behavior in the following way. Following a reboot, policy unload or
stopping the FireWall, all active TCP connections will be blocked, and any timed-out TCP connections (i.e.,
connections that have been inactive longer than the TCP timeout) will be disconnected. The ability of
VPN-1/FireWall-1 to maintain connections after policy reload will not be affected by this change.
For the changes, see http://www.checkpoint.com/techsupport/alerts/ackdos_update.html
Once these connections have been removed from the connections table, these packets will be dropped by rule 0
so this might explain these kind of log messages.
Action Plan
Following this test, the following actions were taken. They are presented for the purpose of illustration, and may
be a useful guide for your own environment.
1.
58
2.
3.
4.
Tuned the parameters including /dev/hme, /dev/tcp, file descriptors, and VPN-1/FireWall-1
parameters described above.
5.
6.
7.
8.
Conclusions
Following this test, the following conclusions were drawn. They are presented for the purpose of illustration,
and may be a useful guide for your own environment.
1.
The resources required for this environment need to be increased in order to achieve a level of performance
that does not completely exhaust VPN-1/FireWall-1 and OS resources and provides some margin for future
growth.
2.
Overall the test was successful, the VPN-1/FireWall-1 product and the httpss transparent security server
processes were stable and as reported periodic lack of resources as they should.
3.
The performance of VPN-1/FireWall-1 and the httpss security servers with the enhanced feature of UFP
is better (faster) than an existing proxy technology albeit on a larger and faster platform.
4.
At some point, assuming growth in demand for the httpss service, the load will reach the limit of
resources available on an E450/4 CPU machine with 1 GB of memory. Assuming there is no feasibly larger
single box to go to, the only option at this point would be one of load balancing.
59
Another instance of this problem is the range request. The client can ask the server to send just part of the
response. It can do it by adding the range request header. In that way the smart client (Trojan horse) can get the
second half first and then get the first half. The HTTP security server will block each range request unless the
user will add the http_allow_ranges to the props section of the objects.C file.
60
The problem
The redirect response includes two major headers: the action header, which has the return code (e.g. HTTP/1.0
302 Not Allowed), and the location header, which direct the browser to the new URL (e.g. Location:
http://199.203.71.111/index.html).
The browser prints the URL in its address window (the one which the user uses to enter the requested URL),
and after getting a redirect response it replaces the original URL with the one from the location header. A URL
contain two parts: the host name and the path. A transparent HTTP request does not include the full URL but
only the path (so that if the user enters http://www.checkpoint.com/index.html the HTTP request will include
only the "/index.html" part).
The effect of all this is that when VPN-1/FireWall-1 redirects the browser back to the original URL, it puts the
IP address in the location header instead of the host name which is not available, which in turn causes the
browser to replace the URL with the IP address.
Solution
When using Partially or Fully Automatic Client Authentication, it is now possible to configure the
VPN-1/FireWall-1 so that the redirection sent to the client that points it to the server, will be done according to
the host header and not according to the destination IP.
To enable redirection according to the HTTP host header, follow these steps:
1.
On the management station, issue the fwstop command (or on NT stop the VPN-1/FireWall-1 service)
2.
In the file $FWDIR/conf/objects.C, under the line which includes the token
:props (
Add the following line:
:http_use_host_h_as_dst (true)
3.
Start the FireWall by running fwstart (on NT, start the VPN-1/FireWall-1 service).
61
URI Resource In the Match tab the Host field contains URL name
In order for the VPN-1/FireWall-1 Security Server to be able to do match on that specific rule which contains a
URL name in the host filed of the match tab of the URI Resource, it has to do a Reverse DNS lookup for each
HTTP request.
In case it fails the connection will be dropped and the client will be notified with a message Unknown WWW
server or The WWW server is not responding.
How to use CVP for content security with HTTP and/or a URI service
on ports other than 80
1.
First set up VPN-1/FireWall-1 to invoke the HTTP Security Server to send Port 80 traffic to the CVP
Server.
2.
Define the CVP Server according to the instructions in the VPN-1/FireWall-1 Administration Guide.
3.
4.
Create a Rule with appropriate Source and Destination and specify the Service as
"http-->Resource"
If other ports are specified in a URL, and the CVP server must inspect the traffic for content, then:
1.
Create a User_Defined TCP service of type "URI" and specify the port to be used.
2.
Create a Rule with appropriate Source and Destination and specify the Service as
"User_Defined-->Resource"
See the SecureKnowledge Solution (ID: 36.0.1952321.2504884) in the Check Point Technical Services site
62
Test Plan
Diagram of the Environment
Solaris machine
Solaris machine
FW-1
Security
Server
CVP
Server
Outgoing connections
2.
Monitoring tools like: top, snoops, logs or accounts, and easy access to the objects involved
63
Overloaded CPU
2.
Memory problem
3.
2.
2.
3.
A bug
The test
Start with a low load, and then build up to a higher load. Either start the tests at a quiet time or divide the load
on the security and the CVP servers via the Rule Base.
1.
Turn the CVP resource on and start the measurements again. Look for changes.
3.
If you see nothing unusual, increase the load by performing the test at a busier period.
4.
If you see the problem or its symptoms, determine the cause. See the above list of
possible causes.
64
Test Results
From the tests you should be able to determine:
1.
The faulty object. From now on you can be more focused in your resolution.
2.
A measurement of the load (accounts, logs, snoops) and the network view (snoops).
3.
4.
65
SOCK commands commands that allow the user to open sockets (tunneling)
SITE commands commands that allow the user to send special commands to the ftp server by using the
site resources.
MAIL commands commands that allow the user to send and use e-mail through ftp.
In addition to these security enhancements, the FTP Security Server provides protection from port spoofing by
not allowing the opening of ports to an IP address that is different from the one used to connect.
All though not recommended, it is possible to allow the usage of all of those commands listed above, which
FireWall-1 by default prohibits.
To allows those commands, create a file called aftpd.conf in the $FWDIR/conf directory and edit the
following lines:
port_spoof
Error: 'reason: tried to open tcp service port, port: <service name>'
FTP Data connections reject on Rule 0FTP data connections are dropped by the FireWall
Fix
There are several things you can do to alleviate this.
66
1.
Delete the FireWall-1 service(s) that are causing the problem. This is the easiest solution, but is not always
feasible.
(Pre-defined high-port TCP services are listed below).
2.
Delete the FireWall-1 service(s) that are causing the problem, and recreate them as a service type of 'Other'.
That way FireWall-1 will not see them as known TCP services. Please see this link for information on how
to do this: How to manually define a TCP port range
3.
Perform a base.def modification to keep FireWall-1 from comparing against these known services. Always
back up any file before modifying it, and make sure you use a UNIX based editor such as VI to edit this
file. NT editors place carriage return / line feeds at the end of the text. If you are using the base.def on
an NT machine, use edit.com from the command prompt rather than Notepad or Wordpad.
Make this modification on the Management server to your $FWDIR/lib/base.def. then stop/start the
FireWall, and re-install the Rule Base.
Original base.def:
// ports which are dangerous to connect to
define NOTSERVER_TCP_PORT(p) {
(not
(
( p in tcp_services, set sr10 RCODE_TCP_SERV, set sr11 0,
set sr12 p, set sr1 0, log bad_conn)
or
( p < 1024, set sr10 RCODE_SMALL_PORT, set sr11 0, set sr12
p,
set sr1 0, log bad_conn)
)
)
};
is changed to:
// ports which are dangerous to connect to
define NOTSERVER_TCP_PORT(p) {
(not
( p < 1024, set sr10 RCODE_SMALL_PORT, set sr11 0, set sr12 p,
set sr1 0, log bad_conn)
)
};
you need to re-install the policy for the changes to take effect.
List of pre-defined high-port TCP services:
1235
1352
1494
1503
1521
1525-1526
1570-1571
1720
1723
1755
2000
2049
2299
vosaic-ctrl
lotus
Winframe
T.120
(NetMeeting)
sqlnet
sqlnet2
Orbix
H323
(iphone)
pptp
NetShow
OpenWindows
nfsd-tcp
PCtelecommute
67
2626
2649,2651
2998
5190
5510
5631
6000-6063
6499
6660-6670
7000
7070
12468-12469
16384
18181-18184
18187
AP-Defender,
AT-Defender
IIOP
RealSecure
AOL
SecurID-prop
PCanywhere
X11
IS411
IRC
IRC2
RealAudio
WebTheater
ConnectedOnline
CVP, UFP, SAM, LEA
ELA
See the SecureKnowledge Solution (ID: 47.0.707710.2521144) in the Check Point Technical Services site
68
Reducing the MTU on the FireWall should help the situation. The FireWall will then require the server to
fragment the packets into smaller pieces, avoiding this problem. If the application does not allow fragmentation
of the packet, then it will not work with encryption.
See the SecureKnowledge Solution (ID: 33.0.241016.2462650) in the Check Point Technical Services site
Add the following line to the :props section of the $FWDIR/conf/objects.C file on the
management station
:ftp_dont_check_random_port (true)
2.
See the SecureKnowledge Solution (ID: 10022.0.2917673.2504701) in the Check Point Technical Services site.
69
How to add a support for a new command to the ftp security server
The following commands are supported by ftp Security Server
ABOR,
MACB,
NOOP,
SITE,
XMKD,
ACCT,
MAIL,
PASS,
SIZE,
XPWD,
ALLO,
MDTM,
PASV,
SOCK,
XRMD.
APPE, BYE, BYTE, CDUP, CWD, DELE, FIND, FW1C, HELP, LIST,
MKD, MLFL, MODE, MRCP, MRSQ, MSAM, MSND, MSOM, NLST,
PORT, PWD, QUIT, REIN, REST, RETR, RMD, RNFR, RNTO,
STOR, STOU, STRU, SYST, TYPE, USER, XCUP, XCWD, XMD5,
70
71
The user composes the message, and sends it through the SMTP Client to the original server (the user is not
aware of the fact that a VPN-1/FireWall-1 SMTP Security Server is in place).
2.
The VPN/FireWall inspection module intercepts the SMTP connection, and decides that the request should
be sent to the Security Server. The connection is folded into the Security Server.
3.
The VPN-1/FireWall-1 SMTP Security Server receives the folded connection and checks, in the
appropriate rules resource how to handle the connection and performs the necessary actions (rewriting,
mime stripping).
4.
After all the necessary actions performed the message is transferred to the spool directory waiting for the
mail dequeuer.
5.
T stands for Temporary file, which is a file not yet fully received.
72
R stands for Ready file, which is a file that is ready to be sent on.
E stands for Error file, a file that cannot be sent for some reason and needs to be processed.
6.
The SMTP Security Server receives a file that starts with T and turns it into an R type.
7.
The dequeuer takes the R file and sends it on, or processes it into an E file.
8.
The mail dequeuer opens a new connection to the final SMTP server and to the CVP server (if requested).
9.
If CVP connection requested, the mail dequeuer receives the file back from the CVP server and completes
the session by sending the message to the final SMTP server.
Connection between the Email Client and the VPN-1/FireWall-1 SMTP Security Server
2.
Connection between the VPN-1/FireWall-1 Mail Dequeuer and the Anti Virus Server
3.
Connection between the VPN-1/FireWall-1 Mail Dequeuer and the Final Email Server
Connection between the Email Client and the Firewall SMTP Security
Server fails
To troubleshoot the connection between Email Client and the VPN-1/FireWall-1 SMTP Security Server:
1.
Look in the Log Viewer to see if the email connection is accepted from the appropriate rule in the Rule
Base. Also check the 'Info' column of the Log Viewer. This is where the connection is described in more
details (see Appendix C: Log Viewer "info" Messages, page 189).
2.
Make sure the email has completed the queuing process and has a name of T#### (where ### is the email
order number, given by VPN-1/FireWall-1) under the spool directory. This is located under the default
installation directory of:
for Windows NT
for UNIX
\winnt\fw\spool
/etc/fw/spool
3.
If there is no file in this directory after the email has been sent by the Client, and the log file displays that
the SMTP connection has been accepted, make sure the SMTP Security Server has been configured
correctly. Validate this by running the following:
for Windows NT
for UNIX
\winnt\fw\bin\fwconfig
/etc/fw/bin/fwconfig
Make sure the SMTP Security Server is defined to start with the other VPN-1/FireWall-1 Security Servers.
This will place a "asmtpd" entry into the directory:
\winnt\fw\conf\fwauthd.conf
/etc/fw/conf/fwauthd.conf
for Windows NT
for UNIX
If this entry does not exist add the following line to the fwauthd.conf file:
25
4.
in.asmtpd
wait
Run TELNET to the Mail Server on port 25 to see if the SMTP Security Server works. Enter the command
"help" or "?" to see VPN-1/FireWall-1 SMTP Server replies.
See the SecureKnowledge Solution (ID: 10022.0.1775714.2480161) in the Check Point Technical Services site
73
Connection between the Firewall Mail Dequeuer and the Anti Virus
Server fails
Troubleshoot the connection between the VPN-1/FireWall-1 Mail Dequeuer and the Anti Virus Server as
follows:
1.
2.
If this is successful, then see if the Anti Virus software has received an email from the VPN-1/FireWall-1.
This will tell you if the VPN-1/FireWall-1 has accepted the email from the Client, queued it, renamed the
email and forwarded this on to the Anti Virus Server.
3.
Validate that the Proper CVP ports are configured on the Anti Virus Machine and the VPN-1/FireWall-1
Resource. By default the parameter FW1_cvp uses port 18181.
4.
Run TELNET to the mail server on port 25 to see if the SMTP Security Server works. Enter the command
"help" or "?" to see the VPN-1/FireWall-1 SMTP Server replies.
5.
Use a packet sniffer, or the "snoop" command in UNIX or the Network Monitor Agent in NT to see if there
is any communication between the VPN-1/FireWall-1 Dequeuer and the Anti Virus Machine.
See the SecureKnowledge Solution (ID: 10022.0.1775726.2480161) in the Check Point Technical Services site
Connection between the Firewall Mail Dequeuer and the Final Email
Server fails
Troubleshoot the connection between the VPN-1/FireWall-1 Mail Dequeuer and the Final Email Server as
follows
1.
2.
Try and use the SMTP Resource without the Anti Virus Server being defined. Now download the Security
Policy to the VPN-1/FireWall-1 again and see if the Email passes from the Queuer to the Dequeuer and
then on to the Final Email Server. If the above works correctly, then the problem lies with the Anti Virus
Server. Please refer to Connection between the VPN-1/FireWall-1 Mail Dequeuer and Anti Virus Server
fails
3.
Try and TELNET from the VPN-1/FireWall-1 to the Final Email Server on port 25 to see if a connection
can be made. This will show if the SMTP process on the Email Server is configured and active, so that the
Dequeuer can forward the email to the Final Email Server.
See the SecureKnowledge Solution (ID: 10022.0.1775733.2480161) in the Check Point Technical Services site
74
Rule:
Source:
Destination:
Service:
Action:
Track:
1.
any
mailserver
smtp->foo
accept
long
2.
any
mailserver
smtp->baa
accept
long
3.
any
any
any
drop
long
75
See the SecureKnowledge Solution (ID: 3.0.132201.2193912) in the Check Point Technical Services site
III. Error: "agent mail server ... reason: Too much mail data" in the
Log Viewer
Cause: The size of sent email was larger then maximum mail size that is configured in the mail resource
Solution: Increase max email size in the SMTP Definition > Action2 > Don't accept Mail Larger Than:
See the SecureKnowledge Solution (ID: 10043.0.6566373.2619870) in the Check Point Technical Services site
76
RCPT
DATA
RSET
NOOP
QUIT
HELP
See the SecureKnowledge Solution (ID: 47.0.1261642.2525193) in the Check Point Technical Services site
77
Information to Gather
HTTP Security Server
To debug the HTTP Security Server, do the following:
1.
2.
Setenv FWAHTTPD_DEBUG=1
3.
fwstart or fwd
The debug output will be redirected to file ahttpd.elg (or ahttpd.log in pre-4.1 version)
Send the files to support@ts.checkpoint.com.
Authentication
Gather the following information:
1.
fwinfo file.
2.
3.
4.
5.
If the problem is related to SMTP, ask for the spool directory and run the mail dequeuer and the asmtpd
in debug mode.
2.
fwopsec.conf file.
3.
4.
Set the environment variable OPSEC_DEBUG_LEVEL to 3, and restart fwd. Send the output received in
fwd.log to support@ts.checkpoint.com.
78
VPN-1/FireWall-1 4.1 and 4.1 SP1 (Check Point 2000) Administration Guides
Chapter 11: Security Servers and Content Security
79
80
Introduction
FireWall-1
The following information will help you debug and troubleshoot each component.
Note For important information about how LDAP is used in VPN-1/FireWal~1, see VPN-1/FireWall-1
LDAP Account Management in Chapter 5, Managing Users of VPN-1/FireWall-1 Administration Guide.
LDAP problems
LDAP problems can be divided into these categories:
1.
AMC problems
Installation
GUI
2.
3.
Installation
Limitations
Known problems
This document covers the first two categories. Since the installation category is specific for each type of LDAP
Server, you should consult the documentation accompanying the LDAP Server.
81
LDAP is based on a client/server model in which an LDAP client makes a TCP connection to an LDAP
server.
Default port numbers are 389 for a standard connection and 636 for a Secure Sockets Layer (SSL)
connection.
Distinguished Name
A globally unique name for an entry, called a distinguished name (DN), is constructed by concatenating the
sequence of DNs from the lowest level of a hierarchical structure to the root. The root becomes the relative DN.
This structure becomes apparent when setting up the Account Management Client (AMC), which manages
multiple user databases in one firewalled network.
Example
If searching for the name John Brown, the search path would start with John Browns CommonName (CN).
You would then narrow the search from that point, to the organization he works for, to the country. If John
Brown (CommonName) works for the ABC Company, one possible DN might be:
cn=John Brown, o=ABC Company, c=US
This can be read as John Brown of ABC Company in the United States.
A different John Brown who works at the 123 Company might have a DN as follows:
cn=John Brown, o=123 Company, c=UK
The two common names John Brown belong to two different organizations with different DNs.
Test the connection without SR client, and with users defined in the VPN-1/FireWall-1 database. If the
problem consists then it is not related to the LDAP server or to the SR.
82
Installation Issues
2.
If the problem disappeared, try to initiate a user authentication action rule with users defined on the
LDAP.
3.
4.
If you have reached this point, then the problem is probably LDAP related, and this document should help
you solve it. Try to locate the log files on the LDAP, which may contain error messages that indicate the
cause of the problem.
Installation Issues
Refer to the LDAP Servers user guides for information on how to install the LDAP Server, and follow the
instructions carefully.
Configuration Issues
In order to properly configure the Account Management Module, the administrator must be familiar with the
following:
LDAP
The first goal is to enable a user defined in an LDAP Server to authenticate to the VPN/FireWall Module using
a fixed password. After this modest goal is achieved, you can undertake something more complex.
See: How to integrate Account Management and Netscape LDAP Server v3.1 with VPN-1/FireWall-1 (Solution
ID: 55.0.4222079.2607206) in the Check Point Technical Services site.
DN
UID
83
Member
objectclass
Configuration Issues
These indexes reduce lookup time, but there is a trade-off between faster lookup times and the extra disk space
needed to store the additional indexes. (See Known limitation for search related issues).
Schema Checking
The LDAP schema is a description of the structure of the data in an LDAP directory.
Each LDAP should have instructions regarding the way to set the VPN-1/FireWall-1 Schema.
When schema checking is enabled, LDAP requires that every object class and its associates attributes be
defined in the directory schema.
When you first begin to use VPN-1/FireWall-1 Account Management, you should confirm that schema
checking is enabled (you can check the error logs to see if there is anything wrong with the schema).
Each LDAP has its own way of setting the VPN-1/FireWall-1 schema. Schema configuration issues are the
most frequently encountered LDAP issues.
See the following Solutions in the Check Point Technical Services site
How to access the FireWall-1 LDAP schema (Solution ID: 55.0.1120086.2568794) in the Check Point
Technical Services site
See the following solutions for VPN-1/FireWall-1 Schema Issues in the Check Point Technical Services
SecureKnowledge:
How to use LDAP without implementing the VPN-1/FireWall-1 Schema on the LDAP Server? (Solution
ID: 10043.0.460391.2521903
Is filter used by VPN-1/FireWall-1 when searching the ldap directory for user groups adjustable? (Solution
ID: 10043.0.5520134.2585567)
How to create a new Netscape LDAP Server on Netscape LDAP 3.x? (Solution ID:
10022.0.1178630.2444127)
AMC.properties
AMC Property
Meaning
84
AMC Property
Meaning
GroupRequiresMember=TRUE
AddUserDefaultOC=TRUE
To get the defaults, you need to delete the old AMC.properties file, since there is still no update mechanism
for this file. The AMC creates an AMC.properties file with the default values if it cannot find it.
More Information
For more information about Account Management Client, see the Check Point Account Management Version
1.1 User Guide.
If the LDAP Server is SSL-enabled, the VPN-1/FireWall-1 and the AMC can use SSL to communicate
with the LDAP Server.
Note The VPN-1/FireWall-1 User Database always has priority over Account Unit. It is recommended that
you define the network and system administrators as VPN-1/FireWall-1 users, so that they will always be able
to log in to the VPN-1/FireWall-1 Management Station, even if the LDAP connection is down.
85
2.
Confirm the administrators name and password. This establishes communications between the LDAP and
administration server.
Do not change the administrators name or password. The previous step is done to establish communications
between the LDAP Server and the Administration Server.
Problem: What are the restrictions for the LDAP parameters in the VPN-1/FireWall-1
properties?
Answer: There are two configurable parameters in the properties, the defaults are in parentheses:
Time-out on LDAP requests this cannot be larger then the TCP timeout (20)
Except for the Time-Out on LDAP requests, there are no restrictions on these values.
You should note that:
Most of the servers allow similar definitions on the server side. E.g. size limit could be configured to 100
on the servers side and 10000 on VPN-1/FireWall-1. The actual size would be the minimum (100) in this
case.
There was a bug which caused the time out on cached users to be ignored, while the value was larger then
900 seconds, and the user authenticated with certificates, this bug has been fixed in VPN-1 4.1 SP2 and
VPN-1 4.0 SP6. (for more information see PKI Issues related to LDAP on page 91).
Account Unit definitions in VPN-1/FireWall-1 are not correct. Check the login and password fields in the
Account Unit window.
Check that the login DN you have configured has root permission or at least write permission in the
access control configuration of the server.
Check that there are no special configurations to block the AMC from whom you are working in the access
control configuration of the server.
When you create a new user on the LDAP Server using the AMC, the name you enter in the Login Name
field will be the login name to use when authenticating to VPN-1/FireWall-1.
Make sure there is no other user with the same login name.
86
Confirm that Use LDAP Account Management is checked in the Security Policy GUI Properties Setup
window LDAP tab.
2.
Confirm that User Management is checked on the Account Units General tab.
3.
Check that the LDAP server is accessible from the VPN/FireWall Module machine (e.g. no rule prevents
the access, routing, etc.)
4.
Confirm that there is a VPN-1/FireWall-1 workstation object with the IP address of your LDAP server.
5.
Confirm that there is a VPN-1/FireWall-1 server object for an LDAP server using the LDAP Account
Unit.
6.
In Login DN (Account Units General tab), use the same logon DN that you created when you created the
Netscape LDAP server (cn=loginname). Note that the DN is case sensitive.
You may need to edit the AMC.properties file, in order to ensure compatibility between the Account
Management Client and the particular version of the LDAP server. (See Ensuring compatibility between the
AMC and the specific LDAP server on page 84,).
2.
3.
4.
To delete a branch, enter the following statements with this syntax (The ou object can be any DN starting
with ou):
dn: ou=name,o=name
87
changetype: delete
control-d to end the input
5.
6.
It is defined in the slapd.conf file (on the LDAP Server) with the suffix parameter, but it does not exist
in the LDAP directory.
It is defined as a branch in the Account Unit, but is not defined in slapd.conf with the suffix parameter.
In the first case, you can create the object in the LDAP directory by:
Selecting it and choosing Create Tree Object from the File menu.
In the second case, the object cannot be created with the Account Management Client, because it must already
be present in slapd.conf.
Defining Users
Before creating a user, group, or organizational unit, be certain that Schema Checking is enabled. (Regarding
the VPN-1/FireWall-1 schema see Schema Checking, on page 84.
Problem: Cannot create LDAP groups with the AMC (Account Management Client), while using the New
Group icon (Solution ID: 10043.0.6499710.2614415) in the Check Point Technical Services site.
Workaround: Use the title bar, choose File New Group
88
Syntax
fw ikecrypt [SecretKey] [UserPassword]
Options
Table 2:
fw ikecrypt options
parameter
meaning
SecretKey
A secret string stored in the Account Unit that the user belongs to.
UserPassword
The output will be the encrypted secret to place under the fw1ISAKMP-SharedSecret user attribute.
This is also useful for writing bulk scripts for LDAP (with LDIF format).
89
On AMC versions (below build 140) there was a problem with the AMC reading the synchronized groups (and
the user associations), in the LDAP database. Even though the NT groups appear in the Netscape "Users &
Groups" console window, they do not appear in the AMC.
The AMC could not recognize the attributes uniquemember or the objectclass
"groupofuniquenames" The AMC was looking for attributes of "member" and objectclass
"groupofnames instead.
Solution:
1.
Upgrade to AMC build 140 and above. AMC build 140 and above support both groupOfNames and
groupOfUniqueNames. You can view these groups with different color and you can add/remove
members. There is no need to manually modify the group types (this might have negative effects on
Netscape).
2.
If you are using an older AMC version, in order for the AMC to see the group definitions and the users in
those groups, you must make modifications to the user attributes for the group and the objectclass.
Make sure that Use LDAP Account Management in the LDAP tab of the Properties Setup screen is
checked.
2.
Using the Account Management Client, verify that the user is indeed defined in the Account Unit.
90
Special Configurations
Special Configurations
Multiple LDAP Servers
There are several advantages in using more than one LDAP server, including the following:
Remote sites can have their own LDAP servers that contain the database, and so speed up access time
See: Are multiple account management licenses required for multiple, autonomous LDAP servers? (Solution
ID: 55.0.639999.2564039) in the Check Point Technical Services site.
91
Known Limitations
Known Limitations
Performance issue when the large groups of users (more than around 1000 - 1500 users) are defined on the
LDAP server (Solution ID: 10043.0.5520148.2585567) in the Check Point Technical Services site.
This limitation is related to two issues:
The VPN-1/FireWal~1 looks up for the groups the user is member in, any time the user supposed to be fetched.
The query used to bring the whole group object from the LDAP.
From VPN-1 4.1 SP-2 and VPN-1 4.0 SP-6 the behavior was changed and only the group DN is retrieved from
the LDAP server (this is a big difference when the group is big).
While the old implementation used to query the groups using the AU branches as search base, the new queries
use the DNs of the external groups defined for each AU. For example, supposed that we have the following:
a.
b.
cn=rndg1, ou=rnd,o=cp,c=il
2.
The old implementation used to query the branch "o=cp,c=il". The new implementation query the two
branches (in LDAP any object is a valid search branch) "cn=rndg1, ou=rnd,o=cp,c=il" and
"cn=supportg1, ou=support, o=cp,c=il".
From this fix the queries do not retrieve the group content (which is very large with large groups).
This should improve the performance for the LDAP search.
The indexes the LDAP server is configured to work with (i.e. the attributes that the server make the hashing
with so it can fast answer queries that include these attributes as the filter). In order to improve server
performance the "member" attribute better be indexed at the server.
92
Debugging LDAP
Debugging LDAP
In order to solve your problem, your technical support representative will need all relevant information about
the problem and its environment. For each type of problem, the Support representative will ask for specific
records and files.
Sending this information as soon as the Support Call is opened will make the handling of the ticket more
efficient and will ensure that the problem is resolved as quickly as possible
This section lists the information important debugging tools for use when troubleshooting LDAP problems. File
outputs can also be sent to Check Point Support support@ts.checkpoint.com
See Chapter 2: Troubleshooting Tools, page 5 for more information on the fwinfo, fw monitor and
the fw ctl debug commands.
The Log Viewer the VPN-1/FireWall-1 log file might contain informative error messages.
2.
fwenc.log file If SecuRemote is involved try, the fwenc.log file should be very informative.
See: How to troubleshoot SecurRemote problems by creating a fwenc.log file (Solution ID:
47.0.1537649.2530505)
fw ldapsearch
2.
3.
Environment Variables.
See the following SecureKnowledge solutions in the Check Point Technical Services site:
How to set environment variables in Windows NT? (Solution ID: 36.0.92223.2471774).
How to set environment variables on UNIX? (Solution ID: 10022.0.3099256.2509558).
4.
The LDAP log files each LDAP has its own log files, which might be informative as well (usually access
and error logs).
For example: The Netscape log files are: access.log and error.log (located in
Netscape/SuiteSpot/slapd-<serverid>/logs
5.
6.
7.
Snoop files - If you have a Sniffer or a snoop utility, you can trace the connection between different entities
and check if the connection exists.
See: How to get a packet snoop on Windows NT Solution ID: 36.0.2503074.2514022).
93
Debugging LDAP
fw ldapsearch
Using this function you can access the LDAP server, and get all the information it contains including the
CRL (Certificate Revocation List).
Syntax
ldapsearch [options] filter [attributes...]
where:
Filter
attributes
fw ldapsearch attributes
Attribute
Meaning
-A
-B
-b basedn
-D binddn
Bind dn
-d level
-f file
-F sep
-h host
LDAP server
-l time lim
-p port
-S attr
-s scope
-t
-T Timeout
-u
-w passwd
-Z
-z size lim
Examples
On Windows NT machines, if the DN referred to is the DN of the CRL (cn=CRL1 if CA is Entrust).
fw ldapsearch -h host -b "cn=CRL1, o=check point, c=IL"
certificaterevocationlist=* certificaterevocationlist
With a CA other than Entrust, you should mention the DN of the CA object if non-Distribution Points are
mentioned.
94
More Information
More Information
For more information on LDAP Account Management, see:
Version 4.1 SP1
Check Point 2000 Administration Guide
Chapter 5: Managing Users, VPN-1/FireWall-1 LDAP Account Management, page 174.
Version 4.1
Administration Guide
Chapter 5: Managing Users, VPN-1/FireWall-1 LDAP Account Management, page 171.
Version 4.0
Administration Guide
Chapter 4: Account Management, page 135.
95
Troubleshooting Fail-over
Fail-over in High Availability Applications ..................................................................................................101
Introduction ...................................................................................................................................................101
High-Availability Failure Detection - How it works ........................................................................................101
VPN Fail-Over...............................................................................................................................................103
Troubleshooting Fail-Over ............................................................................................................................103
Resolving Common Fail-Over Problems ......................................................................................................105
Debugging High-Availability .........................................................................................................................106
Information to Gather....................................................................................................................................106
97
Troubleshooting Synchronization
Synchronization and High Availability
Note: The section on Synchronization Applies to VPN-1/FireWall-1 4.1 SP1 only.
High Availability machines do not have to be synchronized. Synchronization ensures that no connections are
lost when a machine takes control from a machine that has gone down. However, there are exceptions for
more information see Restrictions on Page 561 of the Check Point 2000 VPN-1/FireWall-1 Administration
Guide. The disadvantage of Synchronization is that synchronizing internal tables on all machines reduces
performance.
If you do not require synchronization, you must still configure the High Availability machines with
synchronization set to no sync in the $FWDIR/conf/sync.conf file. If the High Availability machines are
synchronized, there must be a control channel between all the machines. For a description of the putkey
command, see fw putkey on page 12 of the Check Point 2000 VPN-1/FireWall-1 Reference Guide.
The following paragraphs are copied (with slight modifications) from the Synchronization section on page 573
of the Check Point 2000 VPN-1/FireWall-1 Administration Guide:
There are three possible synchronization modes.
1.
No synchronization
2.
3.
New style synchronization on UDP port 8116 (compatible with the High Availability feature described
in this section)
value meaning
No sync
TCP sync
CPHAP
new style synchronization on UDP port 8116. (compatible with the High Availability
feature described in this section). All other lines in the file are ignored. As of
VPN-1/FireWall-1 4.1 SP1 This should be used with caution. It will work properly in
VPN-1/FireWall-1 4.1 SP2.
Content Security
98
User Authentication
Accounting
Troubleshooting Synchronization
Use fw tab to verify that entries are really synchronized.
Use fwd d to get debugging information from the two FireWall fwd daemons.
See also Debugging High-Availability on page 106.
Synchronization Tests
#
Test Description
Test Configuration
Expected result
NT or Solaris machines
in High Availability
(High Availability (HA))
cluster
NT or Solaris machines
in High Availability (HA)
cluster (Primary or
ACTIVE-up)
Opened connections
shouldn't be lost
during fail-over.
Remarks
99
In the event of a failure, users can continue working with complete transparency
See the SecureKnowledge Solution (ID: 36.0.1469927.2500635) in the Check Point Technical Services site
How to verify the state tables on primary and secondary FireWalls are
being synchronized
Run the command, "$FWDIR/bin/fw tab -t connections -s" on both FireWall modules. They should have the
same number of connections if the state is being synchronized
See the SecureKnowledge Solution (ID: 55.0.6588603.2666394) in the Check Point Technical Services site
The two gateways are of the same Operating System, for instance, two NT machines.
The two gateways have to be of the very same FireWall-1 version, including the build number. This means
that, for instance, a FireWall-1 3.0b build 3064 gateway will not be able to synchronize with a FireWall-1
3.0b build 3072 machine.
See the SecureKnowledge Solution (ID: 36.0.216398.2474844) in the Check Point Technical Services site
100
Troubleshooting Fail-over
Fail-over in High Availability Applications
Note: The section on Fail-over in High Availability Applications Applies to: versions: 4.1 SP1
Introduction
As enterprises have become more dependent on the Internet for their core applications, uninterrupted
connectivity has become more crucial to their success. Beginning with VPN-1/FireWall-1 Version 4.1,
encrypted connections are supported in High Availability configurations and can survive failure of a VPN1/FireWall-1 gateway.
VPN-1/FireWall-1 High Availability solutions consist of the following key elements:
1.
A mechanism for detection of a gateway failure and redirection of the traffic around the failed gateway to a
backup gateway.
2.
State synchronization between two gateways, so that the backup gateway is able to continue connections
that were originally handled by the failed gateway.
An important point of a High Availability (HA) firewall solution is ensuring that there is no single point of
failure on the network. The primary objective of a High Availability firewall solution is providing a secure and
available network 100% of the time. When a failure occurs, the redundant component(s) or back up will ensure
a continuous, normal, flow of network traffic.
101
Table 1:
State:
Explanation:
DEAD
INIT
STANDBY
READY
This is a transient state that should usually not last more than a fraction of a second. This state is
used when a machine wants to change its state to ACTIVE. It first changes its state to READY,
and when this state is confirmed by all other (not dead) machines in the cluster the state of the
machine is changed to ACTIVE.
ACTIVE
The machine is filtering packets. In HA modes this means all packets. In LB mode every active
machine filters some of the connections.
The state of a machine is usually determined by the machine itself (other machines only record the state
reported). However, in two cases a machine may determine the state of another machine:
If machine A did not hear from machine B for more than 1 second, machine A changes the state of machine B
to DEAD. Before doing so, about 0.7 seconds after machine A last heard from machine B, machine A sends
FWHAP_QUERY packets, every 0.1 seconds to machine B. This means that even if the timer on machine B is
not accurate, or one of the FWHAP_MY_STATE packets it sent did not reach machine A, it should not be
deduced to be DEAD while still alive.
Machine A may refuse to confirm the state of machine B. This does not block machine B from being in that
state but does not allow it to change to a higher state. This is usually used to block a machine from changing
from READY to ACTIVE (by not confirming the READY State).
In HA mode exactly one machine should be active at a time. Two machines may never be ACTIVE at the same
time. When one machine goes down and the other goes UP there may be a short period of time, typically
probably no more than the round trip time between machines in the cluster, at which one machine is READY
but none are ACTIV.
Except for the obvious machine failure, in which the machine cannot send any more packets (and therefore is
detected as DEAD by the timeout mechanism described above), there may be other situations in which we
would not like the machine to remain active (and to fail over to a stand-by machine). This is implemented by
allowing problems to be reported to the HA module.
102
Problems detected by the VPN/FireWall module should also be reported using the Active Check Device
Interface- for example, if the fwd daemon is running on each module.
VPN Fail-Over
By leveraging VPN-1 state table synchronization, which includes key exchange information, Check Points
High Availability maintains IKE based VPN connections in the event of a fail-over.
VPN solutions without IKE fail-over drop all connections in the event of a failure thus forcing users to reauthenticate and re-establish connections. IKE fail-over delivers a seamless transition that is critical for many
VPN deployments.
Troubleshooting Fail-Over
The High Availability cluster contains one primary module and one or more secondary modules. When the
primary module fails, one of the secondary module becomes Active.
The following tests can be used to check if the failover capability is working properly, and to isolate problems if
it is not. Both HA modes are tested: Primary-up mode, and Active-up mode.
In primary-up mode the machine with the smallest ID should, if it can, be ACTIVE. This means that if the
primary machine goes down (and fails-over to the secondary machine) and then comes back up, the primary
machine will again filter connections (even though the secondary machine is still functioning properly).
In active-up mode the machine that is currently active remains active (even when another machine in the
cluster with a smaller number is OK) until this (active) machine goes down, at which point the stand-by
machine with the smallest number should take over.
Note: See also Debugging High Availability, page 106.
103
Test Description
Test Configuration
Expected result
Remarks
1.
Disconnect 1 interface on
the ACTIVE machines and
reconnect it after a
successful fail-over.
Cluster machines in
primary-up High
Availability (HA)
mode.
This should be
tested while
connections are
being opened
between the
external and
internal
segments.
2.
Cluster machines in
primary-up High
Availability (HA)
mode.
3.
Cluster machines in
primary-up High
Availability (HA)
mode.
4.
Cluster machines in
primary-up High
Availability (HA)
mode.
Check that no
connections are
lost
Test Description
Test Configuration
Expected result
Remarks
1.
Disconnect \1 interface on
the ACTIVE machines and
reconnect it after a
successful fail-over.
Cluster machines in
Active-up High
Availability (HA)
mode.
This should be
tested while
connections are
being opened
between the
external and
internal
segments.
2.
Disconnect 1 interface in
all cluster machines at the
same time
Cluster machines in
Active-up High
Availability (HA)
mode.
3.
Cluster machines in
Active-up High
Availability (HA)
mode.
Check that no
connections are
lost
104
Test Description
Test Configuration
Expected result
4.
Disconnect 1interface
from the primary machine,
then 1interface from the
secondary, plug back
(secondary first).
Cluster machines in
Active-up High
Availability (HA)
mode.
Remarks
Whenever the primary returns to service it does not take over as the primary
machine
The cause for this is that the "Return control to the highest priority ready machine" box, is not checked on both
the primary and the secondary modules.
To fix this, check the "Return control to the highest priority ready machine" box, on both the primary and the
secondary modules.
Sometimes Whenever the primary returns to service it does not take over as the primary machine even though
the High Availability tab has been set correctly for the primary and "Return control to the highest priority ready
machine" is checked in NT or primary is set to primary-up in Solaris. This issue is presently under investigation
See the SecureKnowledge Solution (ID: 55.0.6797869.2673485) in the Check Point Technical Services site
How to address external interfaces for High Availability for Automatic Failover
External interfaces must have identical IP addresses for High Availability (HA) to work properly.
See the SecureKnowledge Solution (ID: 47.0.1736725.2532249) in the Check Point Technical Services site
105
Debugging High-Availability
Debugging High-Availability
In order to solve your problem, your technical support representative will need all relevant information about
the problem and its environment. For each type of problem, the Support representative will ask for specific
records and files.
Sending this information as soon as the Support Call is opened will make the handling of the ticket more
efficient and will ensure that the problem is resolved as quickly as possible
Listed here is the information that Check Point Support will ask you to gather for Debugging High-Availability
problems. It may also be of use when doing your own troubleshooting.
See Chapter 2: Troubleshooting Tools, page 5 for more information on the fwinfo, fw monitor and
the fw ctl debug commands.
Information to Gather
1.
2.
3.
4.
Network topology.
5.
106
HTTP Method
6.
A client initiates an service request (for example, an HTTP session) to the logical server.
7.
VPN-1/FireWall-1 determines which physical server will be the server for this session, on the basis of the
load balancing algorithm.
8.
9.
lhppd direct the communication to the proper physical server, and notifies the client that subsequent
connections should be directed to the IP address of a server, rather than the IP address of the logical server.
10. The remainder of the session is conducted without the intervention of the load-balancing daemon.
A client initiates a service request (for example, an FTP session) to the logical server.
2.
VPN-1/FireWall-1 determines which physical server will be the server for this session, on the basis of the
load balancing algorithm.
3.
4.
The reply packet is routed back through the gateway and translated back to its original state.
107
How to configure Connect Control and NAT for Server Load Balancing
without Default Routes
See the configuration document Connect Control with Address Translation (ID 55.0.2061723.2576947) in the
Check Point Technical Services site (4 pages).
108
Load balancing does not work on HPUX when the web servers are on
virtual interfaces
No solution available at this time
See the SecureKnowledge Solution (ID 10043.0.3487758.2562155) in the Check Point Technical Services site.
Check_alive this table exists to see if the physical servers are alive. The in.pingd process reads the
table and sends pings to the servers if a time period has passed.
Logical_cache_table only when persistent mode is enabled. Holds the information relating to
which client connects to which server.
Logical_request any new connection going through the connect control module is written in that
table
These tables are described in detail in Load balancing tables, page 164 of Appendix A: State Tables for
VPN-1/FireWall-1 4.0
Check_alive table
Load balancing takes place between a group of servers. A server will only take part in the load balancing if it is
alive. If a server is no longer considered as a valid server the VPN/FireWall module will not redirect packets to
that server (it may be down or overloaded for example). The Check_Alive table is used to determine whether
the servers in the group are alive
The In.pingd send Pings to the servers at regular intervals, and a computation based on the values in the
table determines whether or not the server is alive.
109
Check_Alive table
1
IP
address
Magic (1 or 2)
1= Client
Auth.
2= Load
balancing
Recheck
number of
seconds
between each 2
consecutive
rechecks
Reference
count- how
many
connections
were referred
to this server
time
left/
total
time
The following computation is used to decide if the server is up or down. If the result is TRUE, the server has
died:
Time Now [last time host was pinged (value 3)]
5)
The pingd process is defined in the fwauthd.conf file in the conf directory. If this process is disabled
you will not be able to activate load balancing on VPN-1/FireWall-1.
The following solutions from the SecureKnowledge database solve problems that relate to the tables used by the
Connect Control module.
Logical Server of type Other using the round robin for the Load
Balance does not work
Another symptom is that Logical Server of type Other using the round robin for the Load Balance did work for
VPN-1/FireWall-1 4.0 SP1
A possible workaround is to choose for the Time Zone a country, which has the same difference from GMT, but
has no problem with Daylight Saving information. For example, in Israel, which is in time zone GMT+02:00,
the user may choose Helsinki for the Time Zone, since Helsinki and Israel are in the same time zone, and this
will solve the problem.
Cause of this problem: Problem will occur only where the Windows NT option 'Automatically adjust clock for
daylight savings changes' is grayed out in the Control Panel> Date/Time Properties>Time Zone. This is the case
for some of the countries listed in the time Zone list (Australia or Israel, for example).
In these countries, Daylight Savings information is not available to Windows NT, so that Time objects in the
VPN-1/FireWall-1 Rule Base may not work correctly.
This results in VPN-1/FireWall-1 updating the "check_alive" table with a wrong time. This is a result of a
bug in the compiler used to compile VPN-1/FireWall-1
See the SecureKnowledge Solution (ID: 10043.0.732302.2530987) in the Check Point Technical Services site
(x)
110
Load Balancing does not work properly when using Persistent Server
Mode
The Persistent Server Mode allows a specific client to be assigned a specific server for the duration of the
Persistent Server timeout, the default being 30 minutes.
The client identifier is limited to the IP address only. Thus, if you have 5 hide NAT clients with the
same valid IP address coming in, they will all be assigned to the same persistent mode server.
Cause of this problem: There is no way to distinguish between different clients if they are coming from
the same IP, for example an HTTP proxy
See SecureKnowledge Solution (ID 10022.0.1112971.2441351) in the Check Point Technical Services site.
Edit the table.def file and in the cache table definition add the attribute Syncas in the following
example
111
wait 0
112
If this value is 0, a check is made that "period_until_measure" has elapsed since the last time a
measurement was taken. "period_until_measure" is a variable that specifies the number of
"lbalance_period_wakeup_sec" periods to wait until a new measurement is taken.
This value is increased by 1 each time a new measurement is taken and the load values were not used, until the
maximum of 1200 is reached.
113
114
Introduction
Troubleshooting SNMP
Introduction
With the increase in the size of the computer network in an organization, it becomes increasingly important
centrally manage the variety of network devices. The Simple Network Management Protocol (SNMP) enables a
standard way of managing TCP/IP networks. SNMP uses a Management Information Base (MIB), which is a
tree structure of variables. Every vendor can add appropriate variables to the existing standard ones.
Agents (daemons) are installed on every network device that uses SNMP. Agents are responsible for
communication with the management station(s). Thus, a management station has to be defined, so that the agent
will know where to send SNMP traps and answers. There are three types of SNMP connections:
GET A command used by the management station to query (get MIB variable values) the network
element.
TRAP When a network element changes its status, it sends a trap (message) to the management station.
For every SNMP command, a community string has to be specified. A community string is a text string that is
used as an authentication word. The VPN-1/FireWall-1 default string is public for GET commands, and
private for SET commands.
To learn more about the protocol, read Rfc1157.
In VPN-1/FireWall-1, SNMP is used on Network Objects definitions (the SNMP fetch button).
See the configuration document for FireWall-1 4.0: Installation/Update Procedure for HP Open View and
FireWall-1 Interoperability (ID 55.0.4232364.2607295) in the Check Point Technical Services
SecureKnowledge site (29 pages).
First, check that the SNMP daemon is running. On the NT platform, check that the local SNMP service is
used, and if it doesnt exist, add it by right-clicking on the Network Neighborhood icon and choosing
Properties. Then go to the Services tab and add the SNMP service. On Unix platforms use the
VPN-1/FireWall-1 snmpd (the SNMP daemon, started automatically when the FireWall is started), which
is located at $FWDIR/bin directory. If the OS SNMP daemon is already started then the FireWall-1
daemon is started at port 260, while the standard port (that is occupied by the other daemon) is 161. If the
SNMP daemon doesnt work, execute the command snmpd at $FWDIR/bin.
2.
In FireWall-1 4.0, the FireWall-1 snmpd gets all the SNMP connections and sends them to the OS snmpd
(if exists) unless they request FireWall-1 information.
115
More Information
3.
Make sure that the community strings are correctly defined when trying to establish an SNMP connection.
On Unix platforms, the community strings are defined by $FWDIR/conf/snmp.C . Network object
community strings are defined in the Network Objects window.
4.
100% CPU usage when trying to poll information from the FireWall-1
snmpd
One of the most common problems with SNMP is on Solaris 2.6 once you try to poll information about the
FireWall tree using the snmpwalk command or a Network management tool that uses the snmpwalk command.
On the management station you get an error message: snmpwalk: No response arrived before timeout and on
the Agent station the FireWall-1 snmpd used almost 100% of CPU resources.
This problem occurs because of the way SNMPD was run on the machine. On Solaris 2.6 the native SNMPD
must run together with the FireWall-1 smpd, otherwise any attempt to poll information fails and causes the
system to reach almost of 100% CPU load.
The solution is as follows:
1.
2.
Run both the native snmpd and the Firewall snmpd together:
(1) Run /usr/lib/snmp/snmpdx
(2) Run /usr/lib/dmi/snmpXdmid -s <hostname> -c /etc/snmp/conf
(3) Run $FWDIR/bin/snmpd
See the SecureKnowledge Solution (ID 10043.0.4616466.2575219) in the Check Point Technical Services site.
More Information
For more information on SNMP and FireWall-1, see the chapter on SNMP and Network Management Tools in
VPN-1/FireWall-1 Administration Guides for version 4.1 and Check Point 2000, chapter 18.-
116
117
Troubleshooting Licensing
For the latest information about operational aspects of Check Point product licensing, see the
Check Point License center http://license.checkpoint.com/
Node n
Node 2
Node 1
FW-1
VPN-1
External Network
118
Node A
Node N
Node n
Node 2
FW-1
Node 1
FW-1
Node B
Intranet
Firewall
Internet Firewall
Router
External Network
Node 2
Node n
Proxy
Node 1
Internal IP
addresses
hidden by the
proxy
FW-1/
VPN-1
External Network
Figure 3. Licencing requirements with intermediate proxy behind the VPN-1/FireWall-1 Gateway
119
FireWall-1 and VPN-1 licenses are based on the total number of protected nodes. This requirement does not
change when using any intermediate proxy or device capable of IP address translation.
For the network shown in the diagram above, the VPN-1/FireWall-1 license must support all "n+1" internal
nodes. The one additional node accounts for the Proxy.
Node 2
Node n
FW-1/
VPN-1
Node 1
FW-1/
VPN-1
External Network
Figure 4. Licencing requirements with multiple VPN-1/ FireWall-1 gateways protecting a common
internal network
Each VPN-1/FireWall-1 gateway requires a license that will support all n internal nodes. Because each VPN1/FireWall-1 gateway is protecting all internal nodes, each must be licensed accordingly.
The BCK
2.
120
3.
4.
Email address for PO confirmation (The BCK and the number of licenses that it can generate will be sent as
a PO confirmation).
Supported in
VPN-1/FireWall-1 Version:
Meaning:
embed_40_25
embed_40_50
embed_40_100
embed_40_250
embed_40_500
embed_40_ul
embed25
embed50
embed100
ebmed250
embed500
Embedul
121
Supported in
VPN-1/FireWall-1 Version:
Meaning:
remote1
renmote2
remote4
remote
lcontrol
control
122
Type
Eval
807dafa7
807dafa8
807dafa7
807dafa7
Expiration
15Jul96
Never
Never
Never
Never
Ver
4.x
4.x
4.x
3.x
4.x
Features
pfm control
pfm control
pfm control
pfm control
pfm control
routers
routers
routers
routers
routers
encryption [Invalid]
encryption
encryption
encryption
The FireWall in question contains four licenses. The first is an evaluation license, which is valid for all
computers, but only until July 15th, 1996. The second is an invalid license, probably because of typos in the
license string. The third is a permanent license for hostid 807dafa8, which is perfectly valid but irrelevant
because the hostid is 807dafa7. The fourth license is also valid, but allows us to run FireWall-1 v. 3.x only,
and not VPN-1/FireWall-1 4.x. Only the latter license (which never expires, is valid, and is for the correct
hostid, and has the correct version), is actually used.
When verifying licenses on the firewall, it is important to remember that even if a license is displayed as valid,
it may still be irrelevant because of either date or hostid. If several relevant licenses are installed, their features
are ORed together.
To check whether a certain license feature exists in your license (whether explicitly, or included in a combined
license feature), use the command fw checklic <feature>.
Both the fw printlic and the fw checklic commands allow you to use a "-k" switch in order to
perform the check upon the license embedded in the kernel module rather than upon the one in
$FWDIR/conf/fw.LICENSE (%systemroot%\fw\conf\fw.LICENSE on NT)
See the SecureKnowledge Solution (Solution ID: 3.0.698740.2304823) in the Check Point Technical Services
site
Expiration
Features
Signature
The features
123
License installation
Table 3:
VPN-1/FireWall-1 4.0
on NT
Registry path:
HKEY_LOCAL_MACHINE/STSTEM/CurrentControlSet/Services/FW1/Para
meters/License
(There is no need for specific installation of the license on the kernel.)
VPN-1/FireWall-1 4.0
on UNIX
file: $FWDIR/conf/fw.license
(Used by fw and fwui applications)
VPN-1/FireWall-1 4.1
on NT
Registry path:
HKEY_LOCAL_MACHINE\SOFTWARE\CheckPoint\License
(This path should be created by the installation.)
VPN-1/FireWall-1 4.1
on UNIX
file: $FWDIR/conf/cp.license.
License file
Installations procedure
Solaris
fwmod.5.x.o
fw putlic K
SunOS4
fwmod.4.xo
Solaris x86
fwmod.5.x.o
HPUX 10
HPUX 9
fwmod.hpux10.o/
fwmod.hpux9.o
AIX
fwmod.4.x.o
Additional Notes
1. VPN-1/FireWall-1 4.0 On UNIX
To install the license in the kernel use the command putlic k.
The flag k is used to force the installation on the kernel.
On Unix the kernel license is put in the kernel driver found under the $FWDIR/modules/ directory.
The command fw putlic K (with uppercase K) forces license installation both in the license file and the
kernel.
The command putlic K must be used when new modules are installed. This is relevant only for the
Solaris / SunOS / Solaris x86 Operating Systems.
2. The cp.macro file
124
There is a new file on VPN-1/FireWall-1 4.1 on NT and UNIX called $FWDIR/conf/cp.macro. It contains
mapping between product SKUs and license features and grouping of features.
Error: "Failed to add license" when trying to add license via the GUI
or "fw putlic" command
The cause for these messages could be one of the following:
1.
2.
There are occasionally problems when installing licenses from the GUI
Check your license, and the fw putlic command you performed. Note that I, l and 1 are different
characters, and so are 0, O and o.
Also make sure you did not omit any of the features in the feature list.
Try installing the license using the command line ("fw putlic"), which is more reliable.
If the problem is still not solved, contact the Check Point licensing center and ask them to issue a new license.
Inform them that previous license is faulty.
Error: "No license for fwm" when trying to open a GUI client.
In case of a motif GUI, you should obtain a motif license. You can get it for free on
http://license.checkpoint.com by providing your certificate key. You need to get this license for the
Management's IP address.
In case this is a Windows GUI, the feature needed is control. Check if you have that feature, as specified in
Error: "No license for <feature>" when trying to do some action
125
If you get a list of so-called 'internal' IP addresses detected, check if they are all internal, or whether some of
them are external. If they are all internal, upgrade to a bigger product. If some are external, make sure your
conf/external.if file includes the name of your external interface, as found in the output of
"ifconfig -a" (UNIX) or 'ipconfig /all' (NT).
If the list of IP addresses is not available, you can alternatively get the database/fwd.h file to a UNIX
machine, and issue the od -t u1 fwd.h command. You will get a list of numbers each between 0 and 255.
Each 4 consecutive numbers are an IP address. Alternatively, you can issue the fw lichosts command to
get a log of the internal hosts detected (note that this command may take some time to complete).
After the reason to the problem is found, you need to delete the database/fwd.h and
database/fwd.hosts file and restart the fwd. If the reason to the problem no longer exists (e.g. the
network previously had too many hosts, but now it no longer does) this would solve the problem.
On HP machines, the error message "only 25 internal hosts allowed" which appears after a boot can be ignored.
It is printed before the license is loaded into the kernel, and therefore it is not yet found in that stage.
For more information about exceeding the number of hosts for a license, see the SecureKnowledge Solution
(ID: 3.0.188485.2208447) in the Check Point Technical Services site.
126
127
Introduction
Rule Base
1.
fwinfo file.
2.
3.
fwinfo file.
2.
3.
fw monitor file on both FireWall-1 Interfaces (or, preferably, the appropriate fw monitor, which is
better in this case).
4.
5.
After the problem occurs, stop this command with ^C, and run fw ctl debug 0.
Anti Spoofing
1.
fwinfo file
2.
Network Diagram
128
INSPECT
INSPECT
If a specific Service is suspected as being part of the problem, gather the following information
1.
2.
3.
4.
5.
If you want to debug the Inspect code, you can add debug statements in the code, such as the following:
Debug dport
Or, if you want to print out more than one value:
Debug <0x369, sr4, [68:5,b]>
Then, to see the debug output run
fw ctl debug and fw ctl kdebug -f.
GUI
1.
Make sure that the edition of the GUI Client is compatible with the Management station.
2.
fwinfo file.
3.
4.
LOG
Gather the following information:
1.
fwinfo file.
2.
Log files.
3.
If the problem is related to the Log Viewer, issue the command fw logexport to see if all the columns
are full.
4.
If the log records are not written to the log file (fw log and fw logexport show no new records), you
may want to run fw d d D, which includes special debugging option for FW1_LOG connections.
129
High Availability
High Availability
1.
2.
3.
4.
Network topology.
5.
Security Servers
Authentication
Gather the following information:
1.
fwinfo file.
2.
3.
4.
5.
If the problem is related to SMTP, ask for the spool directory and run the mail dequeuer and the asmtpd
in debug mode.
2.
fwopsec.conf file.
3.
4.
Set the environment variable OPSEC_DEBUG_LEVEL to 3, and restart fwd. Send the output received in
fwd.log to support@ts.checkpoint.com.
130
LDAP
LDAP
1.
fwinfo
2.
3.
fw.log
4.
fw monitor :
between the client and the FireWall
Between the FireWall and the LDAP
5.
2.
3.
4.
5.
Bay CES
1.
2.
3.
Xylan
1.
Image version (if its newer than 3.1.6 then, send the image files).
2.
3.
131
2.
3.
4.
fwinfo of the management (if its VPN-1/FireWall-1 with an OSE feature). Or the conf directory
Cisco
1.
2.
3.
fwinfo of the management (if its VPN-1/FireWall-1 with an OSE feature). Or the conf directory.
Crashes
CORE
Gather the following information:
1.
Core File (called core for a process core. In case of a kernel panic, send the vmcore.* and vmunix.*
files instead).
2.
fwinfo taken from the system while in the status that caused the core.
3.
Dr. Watson
Gather the following information:
1.
2.
fwinfo taken from the system while in the status that cause the Dr. Watson.
3.
4.
132
In This Chapter
Mission Statement .........................................................................................................................................134
Check Point Worldwide Technical Services General Process ..................................................................134
Availability of Check Point Worldwide Technical Services .......................................................................134
Contacting Check Point Worldwide Technical Services by Telephone ...................................................134
Contacting Check Point Worldwide Technical Services by E-mail...........................................................136
Problem Severity Definitions ........................................................................................................................137
Software Versions Supported.......................................................................................................................137
Escalation Procedure ....................................................................................................................................137
133
Mission Statement
Direct telephone and e-mail access to technical specialists for problem resolution, bug
reporting, documentation clarification and technical guidance, 24 hours a day, 7 days a
week.
Gold Plus
Support
Direct telephone and e-mail access to technical specialists for problem resolution, bug
reporting, documentation clarification and technical guidance, 24 hours a day, 7 days a
week.
Gold
Support
Direct telephone and e-mail access to technical specialists for problem resolution, bug
reporting, documentation clarification and technical guidance, on normal business days,
Monday through Friday, during 6:00 am to 6:00 pm local time for the Americas, and
Monday through Friday 8:00 am to 8:00 pm local time for the rest of the world.
134
possible to provide this information, Check Point may be hindered in the ability to bring resolution to an issue
in a timely fashion.
1.
Complete contact information, (name, title, company name, e-mail address, phone number, pager number,
fax number, onsite phone number, time zone) for all parties involved in the issue. If the issue is related in
any way to licensing, please provide certificate keys and purchase order numbers for the applicable
product.
2.
Describe hardware platform(s) involved in this issue, including the amount of memory, disk space, and
NIC card types (manufacturer and model).
3.
Describe the operating system(s) involved in this issue, including the version number and patch level
information. (Include which service pack and Hotfixes for NT, which patches for Solaris, etc.).
4.
Provide a detailed description of the problem or issue, including any symptoms noted, any patterns seen
(time of day or only certain users affected, etc) and any specific error messages received.
The Support Center Team Member will then attempt to help resolve the issue. If the issue cannot be resolved
via the phone, the issue will be transferred to the Check Point Test Lab. Once it has been determined that the
issue cannot be resolved via the phone, you may be asked to submit some additional information which could
include the following or other items:
1.
Execute the $FWDIR/bin/fwinfo command on all FireWall-1 modules and the FireWall-1
management station in question, divert the output to a file, and ATTACH (do not embed), the file to an
initial e-mail message.
2.
Provide a detailed description of the network topology including, but not limited to: physical network
parameters, media and protocols.
3.
Location map (topology diagram) of all segment routers and transitional gateways.
4.
5.
General information about the network, including: approximate number of users, approximate number of
simultaneous sessions per user, types of applications in use, etc.
6.
An electronic topology diagram is preferred - Visio or PowerPoint are good applications to use for this.
If this is not feasible, a fax of hand drawn diagrams is an acceptable alternative, provided the IP addresses
or Host ID information is legible.
7.
Provide a historical description of the problem or issue, from the customer's perspective, detailing
chronology and troubleshooting efforts already completed. If FireWall-1 has been upgraded or "backed
down" for any reason, please also detail which versions were involved.
8.
Provide any miscellaneous, related information. This would include debugging output, packet traces, core
dump files, Dr. Watson error logs, FireWall-1 logs, etc.
In the event Check Point is unable to diagnose and, where appropriate, resolve a problem through WTS access,
then Check Point agrees to escalate the problem resolution in accordance with the Check Point escalation
procedure. In all cases, Check Point will provide the customer a respective trouble ticket tracking number for all
calls from the customer.
In the event that Check Point assesses the call to be a non-Check Point defect or failure, Check Point will
immediately contact the designated customer contact.
135
When contact is initiated via electronic mail, the "Subject:" line should include a brief summary of the issue
and must include the Support ID delimited by pound signs: Example: "FW-1 v4.0 Service Pack 3
installation question. #SUPPORT ID#"
2.
Complete contact information, (name, title, company name, e-mail address, phone number, pager number,
fax number, onsite phone number, time zone) for all parties involved in the issue. If the issue is related in
any way to licensing, please provide certificate keys and purchase order numbers for the applicable
product.
3.
Describe the hardware platform(s) involved in this issue, including the amount of memory, disk space, and
NIC card types (manufacturer and model).
4.
Describe the operating system(s) involved in this issue, including the version number and patch level
information. (Include which service pack and Hotfixes for NT, which patches for Solaris, etc.).
5.
Provide a detailed description of the problem or issue, including any symptoms noted, any patterns seen
(time of day or only certain users affected, etc) and any specific error messages received.
6.
Execute the $FWDIR/bin/fwinfo command on all FireWall-1 modules and the FireWall-1
management station in question, divert the output to a file, and ATTACH (do not embed), the file to an
initial e-mail message.
7.
Provide a historical description of the problem or issue, from the customer's perspective, detailing
chronology and troubleshooting efforts already completed. If FireWall-1 has been upgraded or "backed
down" for any reason, please also detail which versions were involved.
Check Point understands that due to unusual circumstances, it may not always be feasible to include all of this
information in an initial e-mail In order to provide better service, Check Point requests this information as soon
as possible, as access to the appropriate data and information facilitates problem resolution. If it is not possible
to provide this information, Check Point may be hindered in the ability to bring resolution to an issue in a
timely fashion.
136
An error that renders product inoperative or causes the product to fail catastrophically; e.g.
major system impact, system down. A reported defect in the licensed product which cannot
be reasonably circumvented, in which there is an emergency condition that significantly
restricts the use of the licensed product to perform necessary business functions. Inability
to use the licensed product or a critical impact on operation requiring an immediate
solution.
Severity 2
error
An error that substantially degrades the performance of the product or materially restricts
business; e.g. moderate system impact, system hanging. This classification is a reported
defect in the licensed product which restricts the use of one or more features of the
licensed product to perform necessary business functions but does not completely restrict
use of the licensed product. Ability to use the licensed product, but an important function is
not available and operations are severely impacted.
Severity 3
error
An error that causes only a minor impact on the use of the product; e.g. minor system
impact, performance/operational impact. The severity level three defect is a reported
defect in the licensed product that restricts the use of one or more features of the licensed
product to perform necessary business functions. The defect can be easily circumvented.
The error can cause some functional restrictions but it does not have a critical or severe
impact on operations.
Severity 4
error
A reported anomaly in the licensed product which does not substantially restrict the use of
one or more features of the licensed product to perform necessary business functions. This
is a minor problem and is not significant to operation. Anomaly may be easily circumvented
or may need to be submitted to Research and Development as a request for
enhancement.
Escalation Procedure
Regardless of the total elapsed time of an outstanding ticket, the point of escalation is initiated at the
engineering level, escalated to the Team Lead, and followed by the Support Center Manager(s).
Should an issue require managerial attention, any Technical Services team member will, upon request, connect
customer to a manager directly. The formal manager escalation path for all Check Point office locations is as
follows:
Technical Services Manager, Corporate Manager, OEM Manager, Bench Test Manager, Escalations
Manager
137
138
VPN tables.......................................................................................................................................................153
Encryption tables ..........................................................................................................................................153
decryption_pending table..........................................................................................................................153
encryption_requests table.........................................................................................................................153
rejected_encryptions table ........................................................................................................................154
rdp_table table ..........................................................................................................................................154
cryptlog_table table...................................................................................................................................154
SKIP tables ...................................................................................................................................................154
skip_connections table..............................................................................................................................154
skip_key_requests table ...........................................................................................................................155
skip_table table .........................................................................................................................................155
skip_keyid table ........................................................................................................................................155
IKE tables .....................................................................................................................................................156
ISAKMP_ESP_table table.........................................................................................................................156
ISAKMP_AH_table table...........................................................................................................................156
IPSec tables..................................................................................................................................................156
manual_table table....................................................................................................................................156
SA_requests table.....................................................................................................................................156
SPI_table table..........................................................................................................................................157
SecuRemote client side tables.................................................................................................................157
enc_timer table .............................................................................................................................................157
userc_topology table ....................................................................................................................................157
userc_session table......................................................................................................................................158
userc_encapsulating_gateways table ..........................................................................................................158
userc_request table ......................................................................................................................................159
SecuRemote server side tables ...............................................................................................................159
userc_rules table ..........................................................................................................................................159
userc_encapsulating_clients table ...............................................................................................................160
userc_dont_trap table...................................................................................................................................160
userc_bind table ...........................................................................................................................................161
IPSEC_userc_dont_trap_table table ............................................................................................................161
userc_request_extended table .....................................................................................................................162
userc_resolved_gw table..............................................................................................................................162
userc_DNS_A table ......................................................................................................................................162
userc_DNS_PTR table .................................................................................................................................162
userc_encrypt_DNS table.............................................................................................................................162
Security servers and authentication tables.................................................................................................162
auth_services table.......................................................................................................................................162
client_auth table ...........................................................................................................................................162
client_was_auth table ...................................................................................................................................163
proxied_conns table .....................................................................................................................................163
autoclntauth_fold table .................................................................................................................................164
session_auth table........................................................................................................................................164
session_requests table.................................................................................................................................165
Load balancing tables ...................................................................................................................................165
check_alive table ..........................................................................................................................................165
logical_requests table...................................................................................................................................165
logical_servers_table table ...........................................................................................................................166
logical_servers_list_table table.....................................................................................................................166
logical_cache_table table .............................................................................................................................167
139
140
fw tab
fw tab displays the content of INSPECT tables on the target hosts in various formats.
For each host, the default format displays the host name and a list of all tables with their elements
Syntax
fw tab [-all |-conf confile] [-s][-m
targets
Options
parameter
meaning
-all
The command is to be executed on all targets specified in the default system configuration
file ($FWDIR/conf/sys.conf)
-conf
conffile
-s
Summary of the number of entries in each table: host name, table name, table ID, and its
number of entries
-m
number
For each table, display only its first number of entries (default is 16 entries at most)
-u
-t tname
-x tname
-x
-d
Debug mode
targets
141
Table Attributes
A table may have the following attributes:
Attribute
Description
expcall <function>
Call function when an entry is deleted or expires from this table. Can also appear as free
function.
expires <time>
hashsize <size>
In the connections table, the size of the connection table hash. This value should be the
power of 2 closest to the size of the table.
implies
<table_name>
When an entry goes out from this table it will go out from the specified table.
kbuf <x>
The xth argument in the value section is a pointer to an internal data structure (mostly used
in encryption).
keep
limit <x>
refresh
sync
Field
Example value
Description
c7cb4764
Source IP address
0000008a
Source port
c7cb47ff
Destination IP address
00000050
Destination port
00000006
142
General tables
General tables
connections table
The connections table contains data on all active connections.
Example
attributes: refresh, expires 60, expcall 133279992 4, implies 2, kbuf 1,
hashsize 8192
<c7cb4764, 0000008a, c7cb47ff, 00000000, 00000011; 00000000, 00000002,
00000000; 39/40>
<c7cb4765, 0000008a, c7cb47ff, 00000000, 00000011; 00000000, 00000002,
00000000; 37/40>
The connections table uses the following format:
Field
Example value
Description
1.
c7cb4764
source IP address
2.
0000008a
source port
3.
c7cb47ff
destination IP address
4.
00000000
destination port
5.
00000011
IP protocol
6.
00000000
r_ckey.
This field is a pointer to the encryption key if the connection is encrypted, otherwise
it is NULL
7.
00000002
8.
00000000
9.
39/40
time left/total time. There are x of y seconds left until the entry times out and is
deleted from the table
r_ctype
The r_ctype field contains eight hexadecimal digits in the form 0000klmn. The last four digits of the value are
interpreted using the tables below.
Value of n
Description
TCP connection
UDP connection
Connection is encrypted
Value of m
Description
Other
IPSec connection
143
General tables
Value of l
Description
Match by seq/ack change (for encrypted/NATed connections where the SEQ/ACK numbers
may be changed
Digit k is interpreted as four binary digits of the form 0xyz. If a bit in any position is set to 1, the
corresponding value in the table below is assumed.
Bit of digit k
Description
r_cflags
The r_cflags field contains eight hexadecimal digits that should be interpreted as four bytes of the form ghij.
The values of g, h, i and j are interpreted using the tables below.
Byte j is interpreted as eight binary digits of the form PQRSTUVW. If a bit in any position is set to 1, the
corresponding value in the table below is assumed.
Bit of byte j
Description
Description
0x66, 0x67
IIOP connections
0x82
0x83
0x84
0x86
0x88
H.245 connection
144
General tables
Hexadecimal value
Description
Xtreme connections
0xa1
VDOlive connection
0xa8
RTP connection
0xaa
NetShow connection
0x00
Byte h holds the interface ID (the number of the interface in "fw ctl iflist") of the interface in the direction of the
destination.
Byte g holds the interface ID (the number of the interface in "fw ctl iflist") of the interface in the direction of the
source.
old_connections table
All connections that were in the connections table during the installation of the security policy are copied into
the old_connections table. (The table could be used for various purposes, such as encryption or to reconstruct
the key).
Example
attributes: expires 3600, keep, sync, kbuf 2
<c0a83005, 0000042d, c7cb473e, 00000017, 00000006; 00004001; 1531/3620>
The old_connections table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol; different flags (like in the
r_ctype connection table); time left/total time>
conn_oneway table
The conn_oneway table is a special table that holds information about connections that are known to be one
way only. Connections that are listed in this table are not allowed to operate both ways, but only to the known
one way.
Example
attributes: refresh, expires 3600
<c7cb471e, 00000014, c0a86e05, 00000549, 00000006; 00000001; 3/55>
The conn_oneway table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol; rule number; time left/total
time>
estab_table table
Sometimes "inverted" entries appear in the log file. In these entries, the source port is a well-known service,
and the service (i.e. the destination port) is a random high port.
FireWall1 times out idle connections after a while and removes them from the connection table. When a TCP
connection is erased from the connection table but that connection later receives a delayed reply, the packet is
logged by the firewall as dropped (or rejected) since it is unrecognized.
145
General tables
However, FireWall1 tries to maintain the connection by sending a garbage packet to the destination of the
original packet, with the header of the original packet. This step is taken so that if the connection still exists, the
internal host will ask the server to re-send, and resume the connection. If the connection is resumed, the only
evidence to what has happened is the log entry marking this packet as 'rejected'.
This mechanism operates by default only for a limited period of time after FireWall-1 is started. It is possible to
remove these entries by un-checking the checkbox "Log Established TCP Connections" in the Properties
window.
Example
attributes: expires 30<c7cb4759, c073cd0c, 00000015, 00000543; 28/30>
frag_table table
The frag_table table holds information about fragmented packets so the original packet can be reassembled.
Example
attributes: expires 20, limit 1000
<c0a83005, c7cb477d, 0000005e, 00000e0e; fee78768; 20/20>
The frag_table table uses the following format:
<source IP address, destination IP address, IP protocol, ip_id; ptr; time left/total time>
The ip_id value is the value of the IP identification field in the IP header.
The ptr value is a pointer to the location where the data fragment is held in kernel memory.
hold_table table
The hold_table table holds packets while the daemon processes them in order to avoid data retransmission.
Example
attributes: expires 90, expcall 4234021872 0, limit 100, refresh
<0000005e, 00000e0e; 89/90>
The hold_table table uses the following format:
<packet ID, pointer; time left/total time>
The packet ID is a 32-bit integer that is unique and used to identify each packet. The pointer is a pointer to a
data structure that contains data on how to handle this packet after the hold is over.
pending table
The pending table is a general table that holds information about connections that are not yet fully specified
(pending), such as data connections for FTP PASV
Example
attributes: refresh, expires 3600, sync, kbuf 1
<c0a83005, 46545053, c7cb47c6, 0000d8f1, 00000006; 00000000, 00004001;
44/60>
The pending table uses the following format:
146
SAMP tables
<source IP address, magic number, destination IP address, destination port, IP protocol; encryption key, r_ctype
and r_cflags (see r_ctype connection table); time left/total time>
The magic number is an arbitrary number that identifies the VPN-1/FireWall-1 entity that recorded this entry,
and will need to use the entry later on. Usually the magic number is meaningful when looked upon as 4 ASCII
characters.
SAMP tables
sam_blocked_ips table
SAM is an acronym for suspicious activity monitor and is a FireWall-1 tool for dynamically blocking IP
addresses that are allowed by the Rule Base but which act suspiciously. All newly blocked IP addresses are
stored in the sam_blocked_ips table.
Example
attributes: expires 2147483647
<c7cb47bb; 00000002, 00000002, 00000001; 2147483386/2147483647>
The sam_blocked_ips table uses the following format:
<blocked IP address; IP flags, logging option, action option; time left/total time>
IP flags may have the following values:
IP flag value
Description
0x0001
0x0002
Block source
0x0004
Block destination
0x0008
0x0010
0x0020
0x0040
Block connection
Description
no log
147
The action option may have any combination the following values:
Action option
Description
0x01
0x02
0x04
0x08
0x10
0x20
0x40
0x80
sam_blocked_servs table
The sam_blocked_servs table holds connections that are blocked by SAM.
Example
attributes: sync keep
<c0a80c01, c073cd0c, 00000015, 00000006; 00000002, 00000004>
The sam_blocked_servs table uses the following format:
<source IP address, destination IP address, destination port, IP protocol; logging option, action option>
Refer to the tables for the sam_blocked_ips table above to interpret the logging and action options.
forbidden_tab table
Each embedded FireWall-1 has a feature that indicates how many hosts can be located "behind" it (the number
of hosts can be unlimited). This limitation is enforced in the Inspect code using the macro COUNT_HOST.
COUNT_HOST records each packet that comes from the internal interface in a table until the limit is exceeded.
When that happens an alert is generated. However, rather than issuing an alert on each packet that comes from
the same source, the "forbidden" sources are recorded. (Forbidden in the sense that there are X other sources
from the internal network that have already been recognized.) Each time an alert is to be generated, the
148
Logging tables
forbidden table is first checked to see if an alert has already been sent for that source. If the alert has not been
sent, the source IP address is recorded and the alert is sent.
Example
attributes: expires 300
<c7cb471e; 176/300>
The forbidden_tab table format is a list of IP addresses in hexadecimal format.
host_table table
This table holds the IP addresses of internal machines protected by the FireWall. The table only exists where the
FireWall license is for a limited number of machines behind the FireWall.
The maximum number of entries in this table is the allowed number of internal machines.
Example
Attributes: limit 250
<c0a81f01>
<c0a81f0c>
<c0a81f0e>
Logging tables
logged table
The logged table holds all the connections that are all ready logged in order to prevent the same connection
from being logged more than once.
Example
attributes: expires 62
<00000006, c0a83005, c7cb477d, 0000046e, 00000017, 00000002; 38/62>
The logged table uses the following format:
<IP protocol, source IP address, destination IP address, source port, destination port, rule number; time left/total
time>
tracked table
The tracked table keeps information for accounting.
Example
attributes: refresh, expires 10000, free function 4276413424 11<c0a83005,
00000431, c7cb477d, 00000017, 00000006; 3471650b, 000012ed, 000347c1,
00000001, 00000004, 00000003; 9998/10000>
<00000000, c0a81f01, 00000014, c073cd75, 00000513, 00000006; c073cd75,
00000512, c0a81f01, 00000015, 00000006; 9990/10000>
The tracked table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol; time, # of packets, # of
bytes, rule number, counter, interface; time left/total time>
149
Logging tables
The first five fields are the key fields mentioned above. The time field represents the time measured in
seconds since 1/1/1970. The counter runs from 0-10 (0xa), and when it reaches 10 (i.e. every 10th packet) a trap
is sent to the daemon to update the live connections log, or a synchronized VPN/FireWall module if such exists.
The interface field tracks the interface on which accounting is taking place, to avoid counting packets more than
once.
The second entry, which has 0 as the first key, is used to associate a data connection (whose parameters are in
the next 5 key fields) with a control connection (whose parameters are the values) for accounting purposes.
trapped table
The trapped table is used to trap connections that need to interact with the daemon while the actual interaction is
being made. This avoids forwarding retransmissions while the connection is stalled (for example when
negotiating encryption).
Example
attributes: expires 10
<c0a83005, 0000061f, c7cb471c, 00000017, 00000006, 00000001; 100/180>
The trapped table uses the following format:
< source IP address, source port, destination IP address, destination port, IP protocol, rule number; time
left/total time>
dup_con table
The dup_con table is used for special debugging and is not normally used. It holds data on the connections that
were chosen to be debug-printed. This table holds the conn fields described in The basic structure of a
connection in a table entry (above), and a time-out section.
Example
attributes: refresh expires 600
<c0a80c01, 00000427, c0a80c2f, 00000015, 00000006; 600/600>
domain_cache table
Information about this table will be available in the next update to this document.
arp_table table
Information about this table will be available in the next update to this document.
fwul_table table
Information about this table will be available in the next update to this document.
fwsm_ioctl table
Information about this table will be available in the next update to this document.
synatk_table table
Information about this table will be available in the next update to this document.
150
NAT tables
fw_route table
Information about this table will be available in the next update to this document.
NAT tables
Address Translation Connection tables
The fwx_forw and fwx_backw tables serve as a connection table for address translated connections for outgoing
(forw) and incoming (backw) connections. Each entry holds both the original connection and the translated
connection.
fwx_forw table
Example
attributes: expires 2147483647, limit 25000, refresh, keep, free function
4276388946 0
<c0a83005, 00000467, c7cb477a, 0000008b, 00000006; c7cb477d, 900027d5,
c7cb477a, 0000008b, 00000000; 3184/3600>
The fwx_forw table uses the following format:
<original source IP address, original source port, original destination IP address, original destination port, IP
protocol; translated source IP address, translated source port (highest byte is used for flags, translated
destination IP address, translated destination port (highest byte is used for flags), TCP sequence structure; time
left/total time>
The second destination IP address field listed is the destination of the client. The TCP sequence structure is
recorded in case the TCP sequence needs to be changed.
The flags associated with the source port and flags and destination port and flags fields are:
Flag value
Description
0x10
Established connection
0x20
FIN has been received (2 will also appear in the flags area of the destination port)
0x40
Destination static
0x80
Hide mode
0x08
fwx_backw table
Example
attributes: keep, limit 25000
<c7cb477a, 0000008b, c7cb477d, 000027d5, 00000006; c7cb477a, 0000008b,
c0a83005, 90000467, 00000000>
The fwx_backw table uses the same format as fwx_forw, but the entries represent the backward connections.
format:
<source IP address, source port, destination IP address, destination port, IP protocol; source IP address, source
port and flags, destination IP address, destination port and flags, TCP sequence structure>
151
NAT tables
fwx_anticipate table
This table hold the translation parameters of data connections that are expected to occur based on existing
control connections (e.g. an FTP data connection will be recorded in this table if a PORT or PASV command
was detected in the control connection).
Example
attributes: expires 2147483647, limit 25000, keep, expcall 4276293796 0
<c0a83005, 00000000, cdd8a363, 00000d6d, 00000006; c0a83005, 00000000, c0a83001,
00000d6d, 00000006; 318/330>
fwx_anticpate_rev table
Example
attributes: keep, limit 25000
<c0a83005, 00000000, c0a83001, 00000d6d, 00000006; c0a83005, 00000000,
cdd8a363, 00000d6d, 00000006>
The fwx_anticipate_rev table uses the following format:
<anticipated source IP address, anticipated source port, anticipated destination IP, anticipated destination port,
anticipated IP protocol; source IP address to translate to, source port to translate to, destination IP address to
translate into, destination port to translate into, IP protocol>
The source ports are unknown in this case and are thus set to 0.
fwx_alloc table
The fwx_alloc table holds information about the allocation of ports for the translated packets.
Example
attributes: keep
<00000000, c7cb477d, 00000006, 00002710; 000027f6>
<c7cb477d, 00000006, 000027d5>
<00000000, c7cb477d, 00000001, 00000258; 0000025c>
The fwx_alloc table uses the following formats.
First entry: <0, hiding IP address, IP protocol, first high port used; next high port to be allocated>
The first field is a space holder and is always 0. The first high port to be used is always 10000.
Second entry: <hiding IP address, IP protocol, port already being used>
152
VPN tables
Third entry: <0, hiding IP address, IP protocol, first low port to be used; next port to be allocated>
The first field is a space holder and is always 0. The first low port to be used is always 600.
fwx_auth table
The fwx_auth table holds the original information of a folded connection, so that back connections can work
properly.
Example
attributes: expires 300, limit 25000, refresh, keep
<c0a83001, 00000450, c0a83005, 00000635, 00000006; c7cb47e3, 00000017;
286/300>
The fwx_auth table uses the following format:
<IP address of the interface of the FireWall-1 machine closest to the client, folded destination port, source IP
address, source port, IP protocol; destination IP address, destination port; time left/total time>
The first destination port is the high folded port. The second destination port is the original destination port
for the service. The source IP address is that of the client and the destination IP address is the final destination.
fwx_frag table
Information about this table will be available in the next update to this document.
VPN tables
Encryption tables
decryption_pending table
During the initialization period of the FWZ scheme, on the responder computer, connections that will need
decryption are inserted into the decryption_pending table.
Example
attributes: expires 120, kbuf 1;
<c0a83005, 00000456, c7cb477d, 00000017, 00000006; 174/180>
The decryption_pending table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol; time left/total time>
In the case of SecuRemote the format is:
<source IP address, rule number, destination IP address, 0, IP protocol; time left/total time>
encryption_requests table
In the initiation phase of the encryption, connections that are to be encrypted are stored in the
encryption_requests table up to the point of actual encryption.
Example
attributes: expires 180
<c0a83005, 00000456, c7cb477d, 00000017, 00000006; 174/180>
153
VPN tables
rejected_encryptions table
Connections that need to be encrypted according to the Rule Base, but cannot be due to problems (wrong
scheme, timed out encryption request, failure in key exchange or generation) are inserted into the
rejected_encryptions table.
Example
attributes: expires 180
<c0a83005, 00000456, c7cb477d, 00000017, 00000006; 174/180>
The rejected_encryptions table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol; time left/total time>
rdp_table table
The rdp_table table holds RDP (the encryption negotiation protocol) connections in the following particular
case. When two computers perform encryption with one another and there is a gateway in the middle that needs
to forward these RDP connections, then on the gateway computer, all RDP connections are inserted into this
table.
Example
attributes: expires 60
<c0a80c01, 000004f9, c7cb47e3, 0000006e, 00000011; 57/60>
<c0a81c0e, c073cd77; 58/60>
The rdp_table table uses the following format (these are the values of the original connection):
<source IP address, source port, destination IP address, destination port, IP protocol; time left/total time>
In the case of SecuRemote the format is (again, these are the values of the original connection):
<source IP address, destination IP address; time left/total time>
cryptlog_table table
Information about this table will be available in the next update to this document.
SKIP tables
skip_connections table
Each SKIP packet contains the encrypted session key that is decrypted and used to decrypt the packet. In order
to optimize the decryption process, the skip_connections table contains the encrypted session key and the nonencrypted session key of a connection. This avoids having to decrypt the session key for each packet.
Example
attributes: refresh, expires 180, free function 133280052 0
<4ba107e5, c3298f6d; 802a33bd; 169/180>
The skip_connections table uses the following format:
<key1, key2; pointer to key; time left/total time>
154
VPN tables
The key1 and key2 fields are actually the first and last parts of the same key and are used to identify each key.
skip_key_requests table
The skip_key_requests table holds the requests for skip encryption including the two gateways and their NSIDs.
Example
attributes: refresh, expires 60
<00000000, c0a80c1f, 00000000, c073cd1c; 59/60>
The skip_key_requests table uses one of the following formats.
In the case of manual IPSec:
<0, source IP address, 0, destination IP address; time left/total time>
In the case of SKIP:
<NSID value of source, source IP address, NSID value of destination, destination IP address; time left/total
time>
The NSID values
NSID value
Description
None
IP
MD5
skip_table table
The skip_table table is used for optimization. It holds the shared secret for the two encrypting gateways instead
of recalculating it every time.
Example
attributes: refresh, expires 86400, free function 133280040 0
<00000000, c7cb4704, 00000000, ce56230b; fc449da8; 85906/86400>
The skip_table table uses one of the following formats.
In the case of manual IPSec:
<0, source IP address, 0, destination IP address; shared secret key; time left/total time>
In the case of SKIP:
<NSID value of source, source IP address, NSID value of destination, destination IP address; shared secret key;
time left/total time>
Refer to The NSID values table above for descriptions of the possible NSID values.
skip_keyid table
When using SKIP encryption, the pointer to the encryption key in the connections table is actually an entry in
the skip_keyid table. The skip_keyid table entry is a pointer to the actual key.
Example
attributes: refresh, expires 3600, free function 4233988200 0
<ce56230b, 02010300; fc98ac10; 3106/3600>
155
VPN tables
Always 00
For VPN+STRONG editions: 0- 3DES, 1- CAST, 2 RC4-128, 3- DES, 4 DES-IV32, 5 RC4-40, 6RC2-40, 7- DES-40CP, 8- CAST-40, 9- CLEAR
For VPN+DES editions: 0 3DES, 1- DES, 2 DES-IV32, 3 RC4-40, 4- RC2-40, 5- DES-40CP, 6CAST-40, 7- CLEAR
IKE tables
ISAKMP_ESP_table table
Information about this table will be available in the next update to this document.
ISAKMP_AH_table table
Information about this table will be available in the next update to this document.
IPSec tables
manual_table table
The manual_table table is the same as the skip_keyid table, only applied to manual IPSec.
Example
attributes: refresh, expires 86400, expcall 4233974528 0
<00000000, 00000101; fc961eb8; 83039/86400>
The manual_table table uses the following format:
<0, SPI; pointer to key; time left/total time>
SPI is the IPSec Security Parameters Index the index of the Security Association used to encrypt/decrypt a
datagram.
SA_requests table
Information about this table will be available in the next update to this document.
156
SPI_table table
Information about this table will be available in the next update to this document.
enc_timer table
attributes: expires 1
<00000001; 1/1>
Used by SecuRemote Client:
Yes.
Used by FW daemon:
No.
Keys:
Values:
None.
Timeout:
1 sec.
Comments:
userc_topology table
The userc_topology table holds the topology of the relevant network objects (those that are inside the
encryption domains).
Example
<c7cb47e3, ffffffff; c7cb4760>
<c0a81e16, ffffffff; c7cb4760>
The userc_topology table uses the following format:
<IP address, netmask, encrypting gateways>
157
Yes.
Used by FW daemon:
No.
Keys:
Values:
None.
Timeout:
None.
Comments:
Used by the client to check whether packets should be encrypted (if they
are a part of the topology) or not.
userc_session table
The userc_session table holds the session key for the encryption.
Example
attributes: expires 800, free function 4276219426 12
<c0a81e03, c7cb4760; 804c63d8; 632/800>
The userc_session table uses the following format:
<client_ip_address, gateway address; key; time left/total time>
The reason that the client IP address is used and not only the gateway address is that most SecuRemote clients
are used on a laptop which has a dynamic IP address. So using the client IP address can be beneficial.
Used by SecuRemote Client:
Yes.
Used by FW daemon:
No.
Keys:
Values:
<key>
Timeout:
800 sec
Comments:
Stores negotiated keys between client and firewall on the client side. Note
that unless the firewall daemon crashes the session key will always
timeout on the client before it times out on the server. If the opposite
occurred, communication would not be possible, since the server would
not know to decrypt packets from the client.
userc_encapsulating_gateways table
The userc_encapsulating_gateways table holds the addresses of the gateways with which the clients needs to
use encapsulation.
Example
<c073cd0c>
<c073cd0e>
The userc_encapsulating_gateways table uses the following format:
<gateways IP address>
158
Yes.
Used by FW daemon:
No.
Keys:
<gw_ip>
Values:
None
Timeout:
None
Comments:
userc_request table
attributes: expires 60
<c073cd1c; 55/60>
Includes a list of gateways, with which the SecuRemote client has a pending encryption request.
Used by SecuRemote Client:
Yes.
Used by FW daemon:
No.
Keys:
<gw_ip>
Values:
None
Timeout:
60
Comments:
userc_rules table
The userc_rules table holds a list of rules that are relevant for SecuRemote and a list of IP addresses and
sessions key (for optimization).
Example
attributes: expires 900, free function 133279992 20
<c0a83005, 00000001; 00000001; 859/900>
<c0a83005, 00000000; 81fc7538; 859/900>
The userc_rules table uses the following format:
<clients IP address, rule number; (0 or 1); time left/total time>
or:
<clients IP address, 0; pointer to kernel buffer holding user name; time left /total time>
159
No
Used by FW daemon:
Yes
Keys:
Values:
Timeout:
900 sec.
Comments:
Client encrypt rules check this table to see if the connection belongs to
SecuRemote clients.
userc_encapsulating_clients table
If in the negotiation phase it was concluded that certain host connections are to be encapsulated, the host IP
address and the encapsulating server IP address are inserted into the userc_encapsulating_clients table. This is
done after the negotiation for the encryption is over.
Example
attributes: refresh, keep, expires 4000
<c0a81e05; c7cb4760; 3998/4000>
The userc_encapsulating_clients table uses the following format:
<client IP address; gateways IP address; time left/total time>
Used by SecuRemote Client:
No.
Used by FW daemon:
Yes
Keys:
<user_ip>
Values:
<gwip>
Timeout:
4000 sec.
Comments:
userc_dont_trap table
When a packet has a destination IP address which is not in the encryption domain, that IP address is added into
the userc_dont_trap table so that further communication to that IP address will not be trapped again (for
optimization).
Example
attributes: expires 10
<c7cb473e; 00000000; 3/10>
The userc_dont_trap table uses the following format:
<clients IP address; (0 or 1); time left/total time>
160
No.
Used by FW daemon:
Yes
Keys:
<user_ip>
Values:
Timeout:
10 sec.
Comments:
Used by the daemon to indicate to the kernel that packets coming from a
user should not be trapped again because there is already an open RDP
connection for those packets.
userc_bind table
The userc_bind table holds the public Diffie-Hellman key of the client for optimizing the specified amount of
time in the user properties.
Example
attributes: expires 3600, keep, kbuf 1
<4183c5d3, 3a31362a, 9342e2b5; 8029dc98; 3448/3600>
The userc_bind table uses the following format:
<client IP address, gateway IP address, username (hashed); users public key (hashed); time left/total time>
Used by SecuRemote Client:
No.
Used by FW daemon:
Yes
Keys:
Values:
Timeout:
Comments:
Used to prevent excessive authentication of users. That is, if the user was
authenticated once and the relevant values (public key) are still set in this
table, the gateway will authenticate the client based on the fact that the
client can successfully sign a message sent from the server using this
public key.
IPSEC_userc_dont_trap_table table
Attributes: expires 15
<c0a80112>
This table includes client IP addresses for which a trap was already sent, and there is no need to send an
additional one.
Used by SecuRemote Client:
No.
Used by FW daemon:
Yes
Keys:
<user ip>
Values:
None.
Timeout:
15.
Comments:
161
userc_request_extended table
Information about this table will be available in the next update to this document.
userc_resolved_gw table
Information about this table will be available in the next update to this document.
userc_DNS_A table
Information about this table will be available in the next update to this document.
userc_DNS_PTR table
Information about this table will be available in the next update to this document.
userc_encrypt_DNS table
Information about this table will be available in the next update to this document.
client_auth table
The client_auth table holds the connections that were authenticated by client authentication and the remaining
number of sessions allowed. Entries can be of two formats: standard sign on and specific sign on.
162
Example
attributes: sync expires 60
<00000002, c0a80c01; 00000005, 00000384; 57/60>
<00000002, c0a80c01, 00000001; 00000005, 00000384, 8029dc98; 55/60>
<000000002, c0a80c01, c073cd59, 00000050, 00000006, 00000000; 00000005,
00000384; 53/60>
<000000002, c0a80c01, c073cd59, 00000050, 00000006, 00000000, 00000001;
00000005, 00000384, 8029dc98; 47/60>
The client_auth table uses one of the following formats.
In the case of standard sign on (line 1 in the above example):
<rule number, IP address that is now authenticated for access; # of allowed sessions left, seconds until next
client authentication ; time left/total time>
Standard sign on entries include the rule number and source IP address as the two keys, and the values are the
number of allowed session and the time until the clients next authentication.
In the case of specific sign on (line 3 in the above example):
<rule number, IP address that is now authenticated for access; destination IP address that can be accessed,
destination port, IP protocol, RPC connection; # of allowed sessions left, time until user reauthentication; time
left/total time>
The RPC connection field is set to 1 if the connection is an RPC connection; otherwise it is set to 0.
Specific sign-on entries have the same values, but the keys are: <rule #, src, dst, dport, ip_p, is_rpc>.
Each of the above entries will have an additional field whose value is 1 if it corresponds to a Single Sign-On
using UAM. In that case the entry will also have an additional value which is a pointer to a buffer where the
user ID is stored. (Fields 3 and 6 in line 2 above and fields 7 and 10 in line 4 above).
client_was_auth table
The client_was_auth table includes information about the port to which each user-authenticated connection
should be folded.
Example
attributes: refresh expires 1800
<c0a80e1f, 00000017; 00008235; 1759/1800>
The client_was_auth table uses the following format:
<source IP address, original destination port (authenticated service port number); folded destination port; time
left/total time>
proxied_conns table
The proxied_conns table helps to keep alive proxied (folded) connections after a reinstallation of policy, by
storing the connection information in this table.
Example
attributes: keep
<c0a83005, 0000044d, c0a83001, 00000442, 00000006; 00000150, 00000000,
00000000>
<00000000, 00000555, c0a81e16, 00000015, 00000006; 00000150, c0a83005,
0000044d>
163
Description
autoclntauth_fold table
The autoclntauth_fold table includes information regarding client authentication connections that should be
folded. The keys in the table are the source IP address and the service.
Example
attributes: expires 60
<c0a80c0e, 00000050; 38/60>
The autoclntauth_fold table uses the following format:
<source IP address, destination port; time left/total time>
session_auth table
All connections that were authenticated by session authentication are stored in the session_auth table.
Example
attributes: expires 60
<00000001, c0a83005, 00000453, c7cb477d, 00000017, 00000006; 30/60>
<ffffffff, c0a83005, 00000453, c7cb477d, 00000017, 00000006; 30/60>
<fffffffe, c0a83005, 00000453, c7cb477d, 00000017, 00000006; 30/60>
The session_auth table uses the following formats.
164
<-1 (ffffffff), source IP address, source port, destination IP address, destination port, IP protocol; time
left/total time>
The second and third entries are used to ensure that only one client can work after the authentication. The
second entry allows the inbound connection to FireWall-1 and is removed from the table immediately after the
authentication is complete.
The third entry ensures that the connection will be able to go through the gateway and is removed from the table
as soon as the connection passes the gateway (unless the connection is to the gateway itself in which case the
entry will remain until the specified timeout).
session_requests table
All connections that need to be authenticated by session authentication are held in this table until the
authentication is completed.
Example
attributes: expires 180
<c0a83005, 00000456, c7cb477d, 00000017, 00000006; 174/180>
The session_requests table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol; time left/total time>
logical_requests table
Connections that need to be forwarded to another server as a result of a logical server are stored in the
logical_requests table while FireWall-1 determines the correct server to forward the connection to.
165
Example
attributes: expires 180
<c0a83005, 0000061f, c7cb471c, 00000017, 00000006, 00000001; 100/180>
The logical_requests table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol, rule number; time left/total
time>
logical_servers_table table
The logical_servers_table table holds a list of the logical servers.
Example
<c7cb471c; ffffffff, ffffffff>
<c0a83005; ffffffff, ffffffff>
<ffffffff, 00000000; 00000001>
The logical_servers_table table uses the following format:
<server IP address; ffffffff, ffffffff>
<ffffffff, 00000000; 00000001> - terminator entry which always appears last in the table
Note that only logical servers that are actually used in rules will appear. Each machine will appear once, even if
the machine is used in more than one logical server.
logical_servers_list_table table
The logical_servers_list_table table includes the list of logical servers
Example
<c073cd1f, 00000002, 29dc9842; c0a81f0c, c0a81f0e, c0a81f1c>
<c073cd0c, 00000003, 4f77a384; c0a80c1c, c0a80c1f>
The logical_servers_list_table table uses the following format:
<logical server IP address, rule number, additional key; IP address of physical server, IP address of physical
server>
In the examples, the first logical server has the IP 192.115.205.31. It is referenced in rule 2, is of type other
(see explanation in following paragraph) uses round robin, and does not use caching. Its physical servers are
192.168.31.12, 192.168.31.14 and 192.168.31.28. The second logical server has the IP 192.115.205.12. It is
referenced in rule 3, is of type HTTP (see explanation in following paragraph), uses domain method, and
caching.
The additional key field contains eight hexadecimal digits that should be interpreted as four bytes of the form
ghij. Bytes g, h and i together form a pointer to the object of the group of physical servers:
The keys are the logical servers IP address, the rule number, and an additional key whose value is as follows:
Bits 0-5 of the rightmost byte: The load balancing method, a 6-bit number (server load=0, round trip =1,
round robin=2, random=3, domain=4).
166
The values are the IP addresses of the physical servers. The number of values may change, as not all server
groups are the same size.
logical_cache_table table
The logical_cache_table table holds cache information for load balancing. Each connection is recorded in the
table so it will always be directed to the same security server.
Example
attributes: refresh expires 1800 limit 1000
<c0a81201, c073cd1f, 00000017, 00000002; c0a81f0e, 00000017, 00000000;
1790/1800>
<c0a82801, c073cd0c, 00000050, 00000003; c0a80c1c, 00000050, 000080dc;
1794/1800>
<c0a82801, 0029dc98; 18000000; 1793/1800>
The logical_cache_table table uses one of the following formats.
If domain caching is not used (lines 1 and 2 above):
<source IP address, logical servers IP address, destination port, rule number; physical server IP address,
physical server port, additional value; time left/total time>
Here the destination IP address is the logical servers IP address. The additional value field has a value of 0 for
servers of type other or holds the in.lhttpd port number for HTTP.
If domain caching is used (line 3 above):
<Source IP address, logical server unique identifier; flags specifying the physical servers to use; time left/total
time>
h323_tracer_table table
The h323_tracer_table table holds the information regarding the h323 control. Due to the unique nature of the
h323 protocol, different ways of implementing it can cause great differences in the appearance of packets. In
some cases packets for control and data are different while in other cases the control and data are mixed and
their order is different.
This table holds the information about the packet that is expected next, whether control or data.
167
Example
attributes: refresh, expires 900
<c073cd1f, 000005e3, c7cb47c6, 000006bf, 000000006;
The h323_tracer_table table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol; expecting, data length,
direction; time left/total time>
The data length field is the length of the data in bytes. The direction field is either 0 (incoming) or 1 (outgoing).
The expecting field is interpreted using the following table:
Expecting value
Description
AL_EXPECT_INITIAL_HEADER
AL_EXPECT_HEADER
AL_EXPECT_MSG
AL_IN_HEADER
AL_IN_MSG
AL_IN_INITIAL_HEADER
AL_OUT_OF_SYNC
wf_connections table
The wf_connections table holds a list of win-frame connections (win-frame is a x-server for windows). This
table is similar to the pending tables but holds only win-frame related information.
Example
attributes: refresh, expires 3600, sync
<c0a81f01, 00000684, c073cd85, 000005d6, 00000001; 0005a594; 3599/3600>
The wf_connections table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol, connection direction;
sequence number; time left/total time>
The connection direction field is either 1 (for a connection from the client to the win-frame server) or 2 (for a
connection from the server to the client). The sequence number field is the sequence number of the first packet
in each direction. (client to server or server to client)
rtsp_tab table
The rtsp_tab table saves data regarding the RealTime Streaming Protocol (used by RealAudio).
Example
attributes: refresh sync expires 60
<c073cd2c, 0000057e, c0a80c01, 0000022a, 00000006; 0000061f; 53/60>
The rtsp_tab table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol; UDP client port; time
left/total time>
168
RPC tables
Netshow_tab table
Information about this table will be available in the next update to this document.
Cooltalk_datatab table
Information about this table will be available in the next update to this document.
Sqlnet_port_tab table
Information about this table will be available in the next update to this document.
X11_verify_tab table
Information about this table will be available in the next update to this document.
RPC tables
rpc_sessions table
The rpc_sessions table holds information on RPC connections. The key fields are the UDP connection
parameters (with 0 in the source port field, as it can be any port), and the value is the RPC program number.
Example
attributes: refresh sync expires 40
<c0a81f01, 00000000, c0a81f0c, 00000543, 00000011; 000186a5; 36/40>
The rpc_sessions table uses the following format:
<source IP address, source port, destination IP address, destination port, IP protocol; RPC program number;
time left/total time>
rpc_serv_hosts table
The rpc_serv_hosts table holds the IP addresses of computers on which the port mapper was successfully
contacted. This table is used to implement Stateful inspection for RPC and holds data about the RPC and the
port mapper.
Example
attributes: expires 700
<c7cb47e3; 456/700>
<c7cb47c6; 537/700>
The rpc_serv_hosts table uses the following format:
<IP address of working port mapper>
rpc_serv table
The rpc_serv table holds the replies for the port mapping requests that are held in the pmap_req table. When an
answer connection is entered into this table, it is removed from the pmap_req table. This table is used to
implement Stateful Inspection for RPC and holds data about the RPC and the port mapper.
169
RPC tables
Example
attributes: refresh, expires 800
<c7cb47c6, 00000011, 00000753, 000186c3; 798/800>
The rpc_serv table uses the following format:
<source IP address, IP protocol, answer port; program number; time left/total time>
The source IP address is that of the responding server. The answer port is the answer for the port request in the
pmap_req table. Refer to the pmap_req table below for information on the program number field.
pmap_req table
The pmap_req table holds the clients requests to the port mapper for a certain server port. This table is used to
implement Stateful Inspection for RPC and holds data about the RPC and the port mapper.
Example
attributes: expires 10
<c0a8cd0c, c7cb47c6, 00000011, 00000753, 5a93f6d6; 000186c3; 5/10>
The pmap_req table uses the following format:
<source IP address, destination IP address, port mapper protocol, source port, transaction ID; RPC program
number; time left/total time>
The port mapper protocol is either 11 (UDP) or 6 (TCP). The transaction ID is the unique number assigned to
any port mapping request. The program number is the unique number of the program whose port was
requested. Some typical program numbers are:
Program Number
Description
100001
Rstat
100004
Ypserv
100007
Ypbind
100300
NIS+
Note: Open any RPC service in FireWall-1 to see its program number
pmap_not_responding table
The pmap_not_responding table contains the list of IP addresses of computers on which the port mapper failed
to reply.
Example
attributes: expires 120
<c7cb47e3; 116/120>
The pmap_not_responding table uses the following format:
<IP address which is not replying>
170
DCE/RPC tables
DCE/RPC tables
dcerpc_maps table
The dcerpc_maps table relates to the DCE/RPC port mappers replies.
Example
attributes: sync refresh expires 86400 keep
The dcerpc_maps table uses the following format:
Its keys are the Endpoint Mappers IP address and the GUID requested by the client (which takes 4 fields, since
it is 16 bytes long), and the value is the port of the port mappers response.
See definition of a key in The basic structure of a connection in a table entry on page 142)
dcerpc_binds table
The dcerpc_binds table lists the GUID requested in the port mapper connection.
Example
attributes: sync refresh expires 3600
The dcerpc_binds table uses the following format:
The keys are the connection parameters, and the values are the requested GUID.
See definition of a key in The basic structure of a connection in a table entry on page 142
dcerpc_portmapper_requests table
The dcerpc_portmapper_requests table holds requests to the DCE/RPC port mapper that are still not answered.
Example
attributes: sync expires 20
The dcerpc_portmapper_requests table uses the following format:
Its keys are the connections parameters and the requested GUID.
See definition of a key in The basic structure of a connection in a table entry on page 142
dcom_objects table
The dcom_objects table holds data on the responses to DCOM remote activation requests.
Example
attributes: sync refresh expires 86400 keep
The dcom_objects table uses the following format:
<source IP address, destination IP address, destination port given by DCERPC portmapper, IP protocol, 4
ClassID fields; time left/total time>
171
IIOP tables
dcom_remote_activations table
Th dcom_remote_activations table holds data on DCOM remote activation requests.
Example
attributes: sync refresh expires 60
The dcom_remote_activations table uses the following format:
<source IP address, source port, 4 GUID fields; 4 ClassID fields; time left/total time>.
Exchange_notifiers table
Information about this table will be available in the next update to this document.
IIOP tables
iiop_port_tab table
The iiop_port_tab table includes the ports used by the IIOP service (1570, 1571, 2649, 2651).
Example
<00000622>
<00000623>
<00000a59>
<00000a5b>
The iiop_port_tab table uses the following format:
<IIOP service port number>
iiop_requests table
Information about this table will be available in the next update to this document.
iiop_servers table
Information about this table will be available in the next update to this document.
cvp_servers_list table
The cvp_servers_list table contains a list of CVP server IP addresses.
Example
c7cb473e
The cvp_servers_list table uses the following format:
172
firewalled_list table
The firewalled_list table holds a static list of FireWalled IP addresses.
Example
c0a86e01
c7cb471e
The firewalled_list table uses the following format:
FireWalled IP address
radius_servers_list table
The radius_servers_list table contains a list of RADIUS server IP addresses.
Example
c7cb47db
The radius_servers_list table uses the following format:
RADIUS server IP address
173
servers_list table
The servers_list table holds the IP addresses of the computers that participate in load balancing. There need not
be a rule that involves load balancing for the IP addresses to appear in this table (unlike the
logical_servers_table table).
Example
c0a83017
c0a83c03
c7cb477d
The servers_list table uses the following format:
<server IP address>
tcp_timeouts table
The tcp_timeouts table holds the different timeouts for various TCP services.
Example
<00000015; 00001c20>
<00000000; 00000e10>
The tcp_timeouts table uses the following format:
<port, timeout>
A port of 0 signifies the default TCP timeout for services not mentioned in the table.
tcp_services table
The tcp_services table holds a list of known TCP ports that are secured and will not be opened insecurely.
Example
localhost:
-------- tcp_services -------00000007
00000009
0000000d
0000000f
00000015
00000017
The tcp_services table uses the following format:
<TCP port number>
udp_services table
The udp_services table holds a list of known UDP ports that are secured and will not be opened insecurely.
174
Example
-------- udp_services -------00000007
00000009
0000000d
00000025
The udp_services table uses the following format:
<UDP port number>
ufp_servers_list table
The ufp_servers_list table holds a list of UFP server IP addresses.
Example
c7cb473e
The ufp_servers_list table uses the following format:
<UFP server IP address>
table_target_list tables
The table_target_listX is a table that holds information about address translation rules. Used when a single rule
performs one or more address translations.
Example: table_target_list8
<00010001, 00000001, c0a86e05, c0a86e05, c7cb471e, 00000000, 00000000>
175
Description
0x0
0x1
0x2
0x202
0x302
176
To modify any of the properties listed in the table below, do the following:
1.
2.
Edit the $FWDIR/conf/objects.C file. (Use a simple text editor such as Notepad. Do not use a word
processor).
3.
4.
5.
If the property is not found, add a new line after the props line. Use the format shown above to list the
new property and assign it a value.
6.
7.
8.
For properties that involve the security servers, VPN-1/FireWall-1 must be restarted.
If the property is a Boolean property (i.e. ONLY if its value is either true or false), use the command fw
config <property> put <true|false> rather than edit the objects.C file.
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
acceptdecrypt
add_ntgroups
addresstrans
TRUE
adtr_skip_routing_msg
FALSE
alertcmd
Fwalert
allow_all_options
FALSE
allow_clear_gettopo
177
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
allow_encryption_outgoing
_first
allowed_telnet_option
as_failure_limit
as_radius_free_type
au_connect_timeout
au_timeout
automatically_open_ca_rul
es
FALSE
block_reverse_tcp
FALSE
block_reverse_tcp_p
First
block_reverse_udp
FALSE
block_reverse_udp_p
First
ca_matchbyname
FALSE
ca_wait_mode
clnt_auth_msg
control_back_compatibility
FALSE
cooltalkenable
default_track
AuthAlert
domain_tcp
TRUE
FALSE
40
178
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
domain_tcp_p
domain_tcp_router
TRUE
domain_tcp_router_p
first
domain_udp
TRUE
domain_udp_p
domain_udp_router
TRUE
domain_udp_router_p
first
enable_fastpath
FALSE
enable_objects_check
TRUE
enable_tcprpc
FALSE
encryption_kernel_logging
TRUE
established
TRUE
established_p
first
established_router
TRUE
established_router_p
first
exportableskip
ftp_allowed_cmds
ftp_dont_accept_site_on_l
ogin
FALSE
ftp_dont_check_random_p
ort
FALSE
179
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
ftp_listen_timeout
60
ftp_msg
ftp_msg_max_lines
100
ftp_use_cvp_reply_safe
Allow the CVP server to send data before the reply FALSE
(true) or not (false)
ftpdata
TRUE
ftppasv
TRUE
fw_ignore_domain_rules
fw_ignore_session_rules
fw_light_verify
FALSE
fw_listen_queue
200
fw1_enable_p
first
fw1enable
TRUE
fwfrag_limit
1000
fwfrag_minsize
fwfrag_timeout
20
fwldap_cachesize
100
fwldap_cachetimeout
900
fwldap_displaydn
FALSE
fwldap_passwordcheckmet
hod
fwldap_passwordexpiration
90
fwldap_requesttimeout
20
180
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
fwldap_sizelimit
10000
fwldap_useldap
FALSE
fwsynatk_ifnum
-1 (all)
fwsynatk_max
5000
fwsynatk_method
0 (none)
fwsynatk_timeout
fwsynatk_warning
fwz_encap_mtu
gatewaydir
inbound
http_allow_double_slash
FALSE
http_allow_ranges
FALSE
http_avoid_keep_alive
FALSE
http_block_java_allow_chu
nked
FALSE
http_cvp_allow_chunked
FALSE
http_disable_ahttpdhtml
FALSE
http_disable_automatic_cli
ent_auth_redirect
http_disable_cab_check
http_dont_handle_next_pr
oxy_pw
FALSE
http_erase_ftp_links
FALSE
http_erase_port_cmd
FALSE
http_failed_resolve_timeou
t
181
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
http_force_down_to_10
http_handle_proxy_pw
http_log_every_connection
http_max_auth_password_
num
1000
http_max_auth_redirect_n
um
1000
http_max_connection_num
4000
http_max_header_length
1000
http_max_header_num
500
http_max_held_session_n
um
1000
http_max_realm_num
1000
http_max_server_num
10000
http_max_session_num
0 (infinite)
http_max_url_length
2048
http_next_proxy_host
http_next_proxy_port
http_no_content_length
FALSE
http_old_auth_timeout
0 (never)
http_process_timeout
32400
http_query_server_for_aut
horization
FALSE
http_redirect_timeout
300
http_servers
http_session_timeout
TRUE
300
182
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
http_skip_redirect_free
http_sup_continue
http_use_cvp_reply_safe
Allow the CVP server to send data before the reply FALSE
(true) or not (false)
http_use_default_schemes
http_use_host_h_as_dst
http_use_proxy_auth_for_
other
TRUE
http_weeding_allow_chunk
ed
FALSE
icmpcryptver
icmpenable
icmpenable_p
before last
icmpenable_router
TRUE
icmpenable_router_p
before last
imap_msg
* OK CheckPoint
FireWall-1
Authenticated Imap
Server running on
iphoneenable
TRUE if Iphone
appears in the
rulebase, FALSE
otherwise
ipoptslog
TRUE
10000
ipsec_spi_alloc_min
100
183
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
isakmp.encryption
DES
isakmp_logging
TRUE
isakmpphase1reneg
isakmpphase2reneg
isakmpphase2renegkbytes
lbalanced_load_history_pe
rcent
lbalanced_load_period_wa
keup_sec
20
lbalanced_period_wakeup
_sec
30
lbalanced_roundtrip_histor
y_percent
85
liveconns
FALSE
load_service_port
log_established_tcp
TRUE
log_implied_rules
log_keepalive_minute_to
log_switch_size
loggrace
62
logical_servers_timeout
60
looptcp
TRUE
looptcp_p
first
loopudp
TRUE
loopudp_p
first
mailcmd
Command to issue for mail alerts May contain the /bin/mailx -s 'FireWallname of any OS command or executable file
1 Alert' root
manualmaxspi
0 (infinite)
300
184
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
manualminspi
maxprocess
256
nat_hashsize
8192
nat_limit
25000
new_ftp_interface
FALSE
outgoing
TRUE
outgoing_p
last
pagetimeout
20
pmap_connect_timeout
30
pop3_daemon
pop3_server
prohibited_telnet_option
prompt_for_destination
psswd_min_length
psswd_min_num_of_lower
case
psswd_min_num_of_numb
ers
psswd_min_num_of_symb
ols
psswd_min_num_of_upper
case
radius_connect_timeout
radius_ignore
radius_retrant_num
radius_retrant_timeout
120
185
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
radius_send_framed
FALSE
radius_user_timeout
600
raudioenable
true if "RealAudio"
appears in the
rulebase, false
otherwise.
remote_auth_group
NULL
remote_auth_server
NULL
resolver_1
resolver_2
None
resolver_3
None
resolver_4
None
retries
rip
TRUE
rip_p
first
rip_router
TRUE
rip_router_p
first
rlogin_msg
rpcenable
TRUE
rshstderr
scheme
securid_timeout
skey_mdmethod
skipmaxbytes
1048576
skipmaxtime
120
smtp_add_received_heade
r
FALSE
300
186
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
smtp_exact_str_match
FALSE
smtp_limit_content_buf_siz
e
smtp_msg
""
smtp_multi_cont_type
FALSE
smtp_rfc821
smtp_rfc822
TRUE
smtp_strip_active_tags
FALSE
smtp_strip_applet_tags
smtp_strip_ftp_tags
FALSE
smtp_strip_port_tags
FALSE
smtp_strip_script_tags
FALSE
sn_connect_timeout
10
sn_timeout
120
snauth_old_clients_messa
ge
snauth_protocol
No default value
exists.
If the property does
not appear neither old
versions of the
session agent nor SSL
are supported
snk_agent_id
""
snk_agent_key
""
snk_server_bkp_ip
""
snk_server_ip
""
snk_timeout
20
snmptrapcmd
snmp_trap localhost
spoofalertcmd
fwalert
187
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
sso_resolve_src
stack_size
suppress_dont_echo
tcp_reject
tcpendtimeout
50
tcpestb_grace_period
tcpstarttimeout
tcptimeout
telnet_msg
timeout
10
udp_reject
udpreply
udptimeout
undo_msg
false
use_zero_buf_len
useralertcmd
fwalert
userauthalertcmd
fwalert
userc_bind_user_to_ip
userc_crypt_ver
userc_ike_nat
FALSE
userc_nat
FALSE
1024
188
Property
Property always
Explanation
appears in object.C ?
(1 = yes, 0 = user has
to add entry)
Default Value
vdolivenable
Enable VDOlive (only for FireWall-1 version 3.x or true if vdolive appears
backward compatibility with version 3.x)
in the rulebase, false
otherwise.
vlog_switch_size
10
write_acct_to_db
FALSE
189
MEANING
Agent
The name of the mail server from which SMTP mail has been received.
Alert
cat_server
Category
Decryption failure:
Message with the reason why decryption failed. The list of possible messages
appears on pages 259-267 of the VPN Guide, Check Point 2000 (pages 133139 of the VPN-1 User Guide, version 4.0)
Encryption failure:
Message with the reason why encryption failed. The list of possible messages
appears on pages 259-267 of the VPN Guide, Check Point 2000 (pages 133139 of the VPN-1 User Guide, version 4.0)
Expire
File
From
The "from" address of the SMTP mail message, after a possible translation.
h_len
Icmp-type
Icmp-code
190
FIELD
MEANING
ip_vers
The name of the module for which a key update has occurred.
Len
This field exists when a license violation is detected. Contains the list of
internal addresses (one address for each log record) in ip format (e.g.
192.168.160.1).
Message
For a log of a syn attack, specifies the nature of the attack. Could be either
"syn -> syn-ack -> rst" or "syn -> syn-ack -> timeout".
Methods:
Orig_from
The "from" address of the SMTP mail message, before a possible translation.
Orig_to
The "to" address of the SMTP mail message, before a possible translation.
Packets
The number of packets transferred in a session. Used for accounting and live
connections.
Reason
Res_action
In ftp/http account logs, contains the direction of the file transfer ("get" or
"put").
Resource
Request
Rpc-prog
Scheme:
Signed by
The certificate authority used to sign a certain key sent to a firewall module.
Start_time
SPI
Sys_msgs
Target
The host for which the inhibit or uninhibit sam request was made.
To
The "to" address of the smtp mail message, after a possible translation.
Error notification
ISAKMP Log
Negotiation Id
Host(1) negotiation id
Host(2) negotiation id.
191
More Information
FIELD
MEANING
Command
Success reason:
More Information
HTTP Security Server "Reason" Messages
For a list of reason messages when HTTP Authentication fails, see Reason Messages:
FireWall-1 4.0 Architecture and Administration book of the User Guide, page 56
VPN-1/FireWall-1 4.1 SP1 (Check Point 2000) Administration Guide page, page 507
Virtual Private
Networks
Check Point 2000
133
259
136
267
140
272
192