|
|
| |
EnterNet FireWall Changes from v6.00 to v6.01
Release date: 2001-04-20
[ISO]
Version 6.01 is mainly a bug fix / maintenance release.
There are, however, a few changes and improvements; the most visible ones are
in the FireWall Manager, and substantial performance improvements in the
built-in network card drivers.
This document outlines bug fixes as well as improvements for each component.
For future reference: This document is stored in the "Docs"
sub-folder of your EnterNet FireWall install folder.
|
|
New files installed by v6.01
|
This is a list of the files that are new to the v6.01 release. All paths
are relative to your EnterNet FireWall install folder.
- Cores/fwc_601.exe
This is the v6.01 standard firewall core. Upload it to your
existing (standard) firewall, or create new boot media with it.
Note: VPN firewalls should, as always, use the VPN core file, below.
- Cores/fwc_601v.exe
This is the v6.01 VPN firewall core. Upload it to your existing (VPN) firewall, or create new boot media with it.
Note: This file is not installed by the standard installation
package, as only licensed users have access to it. Rather, it is available as
a separate installation package (typically an EnterNet Upgrader package).
- Docs/Changes-6.00-to-6.01.htm
This document.
- FWMgr6.exe
This is the v6.01 FireWall Manager; it will overwrite the previously
installed version 6 firewall manager. Version 5 firewall managers
(if installed) will not be overwritten, as they are named
"FWMgr.exe".
|
|
How to upgrade a v6.00 firewall to v6.01
|
Upgrading a v6.00 firewall to v6.01 is completely straightforward;
nothing has changed in configuration compatibility.
Simply upload the new core, "fwc_601.exe", to your firewall and
restart it.
Note: VPN firewalls should use the VPN core,
"fwc_601v.exe". Uploading a standard core to a VPN firewall
will, as always, disable VPN functionality and very likely
render the firewall unable to operate, as it will not understand
its configuration file.
|
|
How to upgrade a v5.xx firewall to v6.01
|
This document only outlines the differences between version 6.00
and 6.01. The procedure for upgrading a version 5 EnterNet FireWall
is described in detail in the
user's guide.
|
|
FireWall Manager Changes
|
- The "FireWall" menu in the "FireWall List" view has changed
The "Advanced" submenu has been split into three separate submenus:
- Communication: Upload/download configuration, Upload core,
Re-read configuration, Restart firewall, Change firewall keys.
The "Re-read configuration" and "Restart firewall" commands are new.
They perform a configuration re-read and core restart, respectively,
and then initiate bi-directional communication verification. Hence,
they may be used to activate previously uploaded (but not activated)
configurations.
- Database: Edit config file, New firewall,
Delete firewall, Export firewall entry.
- Boot Media: Create boot media, Save to boot media,
Load keys from boot media.
- Load and save profiles in the statistics view
Profiles - sets of graphs to display - may now be saved per firewall,
via File -> Load/Save Profile. These profiles are saved in the management
database rather than in the local registry. Hence, they may be used
and defined by any FireWall Manager accessing the same management database.
- Statistics graphs can now be hidden / double-sized
The graphs in the statistics view are now automatically drawn as double-sized
when selected in the legend (list view).
They may also be hidden and double-sized through the context (right
mouse click) menu.
- Statistics graphs colors may be adjusted
The colors of the statistics graphs may be adjusted via View -> Select Colors.
These settings are saved locally rather than in the management database.
- Shortened path for uploading and activating configurations
Rather than displaying separate dialogs, asking whether or not to
upload and activate an edited configuration, this has been combined to
one single dialog containing check boxes.
- Copying and pasting cells in configuration
Previously, it was only possible to copy and paste cells containing plain
text. Now, this is also possible with cells that are edited through
extended dialogs, such as "Pipes", "Proto/Params", etc.
|
|
FireWall Manager Bug Fixes
|
- Attaching to log receivers inside subdirectories
(This was fixed in FWMgr 6.00.01, but is included here for completeness)
Issue:
FireWall Manager 6.00.00 was unable to connect to log receivers residing
in non-root directories. By "non-root" directories, we mean anything not
at the root directory of a drive (e.g. "c:\") or of a share
(e.g. \\server\share).
Fix: This was fixed in FireWall Manager v6.00.01.
- Too many statistics values caused grayed (disabled) Plot menu items
Issue:
The plot menu of the statistics view has a hard-coded limit on the
number of possible graphs. This limit was set too low for configurations
with many pipes; each pipe results in approximately 60 graph values to
select from.
Result:
Plot menu items at the bottom of the list became grayed (disabled).
Fix:
The previous total limit was 1000 graphs.
This is now expanded to 4000 graphs.
|
|
FireWall Core Changes
|
- 3com 3c905 built-in driver performance boost
The 3com 3c905 built-in drivers of EnterNet FireWall are now about
70% more efficient than ever before. This means that:
- A packet stream that previously caused a 60% CPU load will
now cause a mere 35% CPU load
- If a packet stream of 75000 packets per second previously
caused 100% CPU load, your system will now be capable of
passing more than 125000 packets per second before reaching
100% CPU load
This improvement is likely more noticeable with short packets. The
same 70% performance boost does exist with large packets, but, for
EnterNet FireWall installations, the limiting factor for large packet
streams is typically the PCI bus / host bridge performance of your
hardware, or the number of interfaces, rather than sheer CPU power.
- DEC/Intel Tulip built-in driver performance boost
The DEC/Intel Tulip chipset built-in drivers of EnterNet FireWall are
now about 20% more efficient than before. For small packet streams,
they are 50% more efficient. For large packet streams, they are 10%
more efficient. The 20% figure represents a typical traffic mix of
50% small packets, 50% large packets.
- Syslog: Connection field names have changed
Information regarding statefully tracked connections was previously
logged as "srcip", "srcport", etc. This was conflicting with packet dump
field names, in log messages containing both connection information and
packet dumps.
The following names have changed:
- recvif -> connrecvif
- destif -> conndestif
- srcip -> connsrcip
- destip -> conndestip
- ipproto -> connipproto
- srcport -> connsrcport
- destport -> conndestport
- srcid -> connsrcid (used in pings only)
- destid -> conndestid
These changes do not affect the EnterNet FireWall Logger log format.
|
|
FireWall Core Bug Fixes
|
- Could not attach more than 10 interfaces
Issue:
In order to support more than 10 interfaces, additional packet buffers
need to be allocated during configuration. These buffers were allocated
too late, which had the unfortunate effect that no more than
ten interfaces could be attached; each interface needs sixteen
packet buffers for its receive handlers.
Affects: FireWall Core v6.00.0x.
Results: If more than 10 interfaces were attached,
the firewall would crash and restart as soon as any interface above
the first 10 interfaces received a packet. The first 10 interfaces
would function normally.
Fix: Additional buffers are now allocated (according to
the HighBuffers setting) as soon as interface number nine is being attached.
Alerts have also been added to the attach functions so that a visible error
will be produced if the core runs out of buffers while attaching interfaces.
- 3com 3c905 driver reconfigure/restart behavior improved
Issue:
The built-in 3com 3c905 drivers are having problems during
configuration re-reads or core restarts; on some systems, one
or more NICs may stop receiving or sending data, especially if
the reconfigure/restart occured under high load. This has now been
improved, but not yet completely resolved. There are still a few
systems with reconfigure/restart problems.
Affects:
All v6.00 cores using the 3c905 built-in drivers. Improved in v6.01.
Other NIC drivers are not affected, nor the ODI version of the
3c90x driver: "3c90x.com".
Slow systems, or systems under heavy load, are more likely to be affected
than fast systems, or ones with low traffic loads.
Note:
The problem only ever occurs on reconfig/restart, never on power-up.
- DEC/Intel Tulip driver receiver lock problem fixed
Issue:
During high loads (99-100% CPU load), the firewall may run out of
free buffers. This also affects the receive rings of the network
cards, who also may run out of buffers. The receive rings should
be re-filled when there are new buffers available, but this was not
working properly.
Result:
If a network card ran out of buffers, it would not be able to receive
packets until a reconfigure/restart command was issued.
The ifstat console command would show a steadily
increasing Packets missed counter.
Affects:
All v6.00 cores using the tulip built-in drivers.
Fixed in v6.01.
- SAT/NAT of UDP packets with zero (don't care) checksum
Issue:
UDP packets may be transmitted with a checksum of zero, meaning "I don't
care if the data gets scrambled during transmission". The address translation
code needs to adjust UDP and TCP checksums when altering the address and port
fields of the packet. However, it did not take the zero-checksum into consideration,
which resulted in the checksum becoming something other than zero; usually
wrong.
Affects:
All cores v5.10 to v5.12. All cores v6.00.
Fixed in v5.13 and v6.01.
EnterNet is currently only aware of two applications utilizing
"don't care" UDP checksums: "echo" services (port 7) on some operating systems, and
one or more brands of load balancing DNS servers. We have not determined exactly which
ones. Again: non-address translated connections to systems utilizing zero
UDP checksums were not affected.
Result:
The visible result was being unable to query DNS data for zones with
such load balancers if address translation of outbound DNS queries was performed,
and being unable to connect to echo services on some systems.
Fix:
The address translator will now refrain from adjusting zero UDP checksums.
- Duplicate fragment data comparison wasn't working
Issue:
When the firewall receives a duplicate of a fragment that it already
has in queue, it should compare its data according to the
DuplicateFragData check. This was not working.
Affects:
All cores v5.10 to v5.12. All cores v6.00.
Fixed in v5.13 and v6.01.
Results:
Fortunately, there are no known attacks involving changing
duplicate fragment data; this check is only an added level of paranoia.
- Static/published ARP entries disappearing on Y2K-incompatible systems
Issue:
Computers with Y2K-incompatible BIOSes may cause the firewall
to believe that the current date is well beyond year 2036, which was the timeout
value for static/published ARP entries.
Result:
Static/published ARP entries disappeared as soon
as the configuration was read.
Affects:
All cores up to v5.12 and v6.00. Fixed in v5.13 and v6.01.
Affected any system reporting its date as being beyond year 2036, either
due to Y2K-incompatibility or due to faulty clock settings.
Fix:
ARP entry life time is now relative to the number of seconds of uptime,
meaning that a firewall can now run 136 years without timing out its
static/published ARP entries, regardless of what the system time is.
|
|
FireWall Core Known Bugs / Problems
|
- Raptor 6.5 SYN flood protection (RST cookies)
The SYN flood protection in Raptor 6.5 uses RST cookies, which EnterNet
FireWall does not support. We are currently unsure as to whether we
should support this or not, as RST cookies is a very weak
form of SYN flood protection. The ideal solution would be for Symantec /
Axent to develop a better SYN flood protection and stop using RST cookies.
(More information on RST cookies)
- 3com 3c905 driver sometimes hangs on reconfigure/restart
Although this problem has been mitigated with the v6.01 release, it
still exists on a few systems. We will address this issue, but felt
that releasing v6.01 in its current state was appropriate, as it does
resolve the problem on most of the systems exhibiting this behavior.
|
|
VPN Core Bug Fixes
|
- Spurious packets passed to VPN when using ODI drivers
Issue:
When using ODI drivers, packets that were supposed to be
transmitted as plaintext would sometimes erroneously be passed
to the IPsec code, which, in turn, would drop them.
Result:
This problem would be seen as "packet loss", and IPSEC category
log entries saying "cannot get policy for", followed by an IP
address unrelated to your VPN connections.
Affects:
VPN cores v5.10 to v5.12. VPN core v6.00.
Fixed in v5.13 and v6.01.
Again, this problem only occured when using ODI drivers, not
built-in drivers.
Note:
There is not a reverse to this problem. Packets destined
for VPN connections were never being spuriously passed in
plain text.
- IKE phase-1 ID being set to "0.0.0.0" in responses
Issue:
During IKE phase-1 negotiations where the firewall is acting
as the responder, the ID was being set to "0.0.0.0", rather than
the IP address of the firewall.
This caused problems with some (newer) VPN software, which
require the ID to be set correctly.
Result:
The visible result is the remote VPN software refusing to (re-)establish
an IPsec connection; often with an error message along the lines of "unknown ID".
Fix:
The firewall now sets the ID to the IP address of the sending interface.
Affects:
VPN cores v5.10 to v5.12. VPN core v6.00.
Fixed in v5.13 and v6.01.
Again, this problem only occured when using ODI drivers, not
built-in drivers.
- Display bug in the "vpnstats" console command
Issue:
IP networks were being incorrectly displayed in the "vpnstats" console
command.
Result:
For example, the network "10.4.5.0/24" would be displayed as
"10.4.5.0 - 10.4.5.24",
rather than "10.4.5.0 - 10.4.5.255".
Affects:
VPN core v6.00. Fixed in v6.01.
|
|
VPN Core Known Bugs / Problems
|
- Cannot configure ESP without an HMAC
The firewall will not accept a configuration of an ESP proposal
that is not using an HMAC (authentication code). We regard
this as a low-priority problem, as using ESP without authentication
is very undesirable and unlikely to be required by anyone.
|
| |
|
|
|
More information on RST cookies
|
Quick info
"RST cookies" is a weak form of SYN flood protection that works by
eliciting a bogus TCP ACK in response to a TCP SYN, and expecting a TCP RST back.
In theory, this should prevent people from lying about their source IP adress,
since the attacker would have to see the bogus ACK packet in order to be able
to reply to it.
To EnterNet's knowledge, the Raptor firewall is the only commercial
firewall currently encouraging the use of the RST cookie SYN flood
protection scheme.
The result on your end
EnterNet FireWall refuses to send RSTs in response to these bogus ACKs. Rather, it generates a
log entry and drops the packet. The result is that users behind an EnterNet FireWall
cannot connect to machines behind a Raptor firewall with SYN flood protection enabled.
Why EnterNet does not want to support RST cookies
There are many others that have discarded RST cookies as a viable approach to
SYN flood protection. For example, the Linux kernel previously implemented an optional SYN
flood protection via RST cookies.
The open-source community saw it fit to remove the RST cookie scheme in recent
kernels, for several reasons:
- It doesn't work very well with a lot of firewalls
- It still consumes resources on the server end, which is exactly what a
SYN flood is designed to do.
- It's a fairly weak form of SYN flood protection; there are
other approaches that are by far more preferable.
- It does not prevent you from actually SYN flooding the server /
firewall. It only (supposedly) prevents you from doing so from a
spoofed (fake) IP address.
- If you are spoofing an existing host, that host will happily respond to
the bogus ACK with a RST, so it is always entirely possible to SYN
flood someone spoofing the IP address of another (existing) host.
Sidenote on the Raptor RST cookies
The Raptor RST cookies are even weaker than the designers of
the RST cookie scheme intended for them to be. The "secret" in the
bogus ACKs generated by Raptor firewalls is simply the sequence
number of the original SYN (that the attacker sends), plus 1 000 000.
Hence, it is entirely possible to send a SYN from a spoofed source IP to a
Raptor firewall, and immediately afterwards send a RST with the sequence number
of the original SYN, plus 1 000 000.
Conclusion
Given the ineffectiveness of the RST cookie scheme, EnterNet would much rather see that
Symantec / Axent redesign their SYN flood protection than having to support it
in EnterNet FireWall. Supporting it generates unnecessary complexity, and quite
possibly opens up avenues of exploitation that we are quite sure that our users
could do without.
Workarounds
There are no workarounds on your end. The only workaround is to turn off
the RST cookies in the firewall / server causing the problems.
If you are having problems accessing a site employing a RST cookie SYN flood
protection scheme, we recommend that you contact the site admin and ask him/her
to turn the "protection" off; it isn't doing them any good. Also, be reassured,
you are far from the only one having problems accessing that site, since this
protection scheme causes problems with several other firewalling solutions.
How do I know if RST cookies are causing my problems?
If you are seeing DROP log entries with a rule of "LogStateViolations",
concering a connection in "SYN_SENT" state, and the dropped packet
is TCP with the ACK flag set, you can be fairly certain that you're
witnessing the result of the RST cookie protection scheme.
|
| |
|
|