What's new in IPFilter 4.1 ========================== (Well, compared to 3.*, anyway) In no particular order, except headline alphabetical: Administration: - Run-time support for modifying ipf table size parameters. - Run-time support for tuning other ipfilter parameters. Content Scanning: - Simple matching of content for TCP session startup. Firewall Synchronising: - Master/slave programs available. General: - All input files allow simple 'marco' definitions and expansion, including nesting. - Code has been rototilled to make maintenance and enhancements eaiser for me and you. - More configuration files and binaries. - Takes up more memory. - Probably slower. - Versioned API to support changes in the ABI without breaking existing binaries (4.0 onward only.) - IP-Filter framework in place for handling multiple different types of packet matching for firewalling. - IP Id number rewriting available. - Verification of checksums for recognised packet types. - Optionally enable/disable IP forwarding when enabled/disabled. IPF: - BPF syntax available for matching packets in ipf rules (1). - Can convert IPv4 ipf rules into C code and either: * load them as an LKM o; * compile them statically into the kernel (where possible.) - Address pools allow for simpler rules covering large numbers of addresses/networks (IPv4 only). - Lookup functions available to map an IPv4 address to a group. - Groups can be referenced by multiple heads for subroutine-like use. - NAT/ipf rules can refer to each other via a tag, creating an implied join that forms part of the packet matching. - Extra packet attributes available for filter rules: * source address/routing interface mismatch; * multicast (3); * broadcast (2,3); * state lookup partially failed; * out of the TCP window for a state connection; * NAT lookup partially failed. - PPS (packets per second) matching available for ipf rules. - Rule collections (cf FreeBSD numbering) supported for ipf rules. - Groups can now be names rather than just numbers IPV6: - understands extension headers. - can filter on extension headers. Logging: - ipmon now comes with a configuration file for more advanced logging behaviour. - Can append arbitrary logging tags with ipf rules for easy matching. NAT: - "sticky" mapping available to ensure an address translation on a per-address basis is always the same (while known) for a set IP address. Operating System Support: - HP-UX 11 added. - Tru64 5.1a added. - Solaris/HP-UX now use pfil STREAMS module. - Linux 2.4 on the way. Proxies: - PPTP proxy added. - IRC proxy added. - RPCBIND proxy added. - FTP proxy support for EPSV (IPv4 only.) Stateful Inspection: - Can insist that all TCP data arrives in order. - Can insist that all fragments pass through in order. - The number of states created per-rule can be set where the total across all rules may exceed the maximum allowed. - Can elect not to automatically match ICMP error packets. - TCP sequence number rewriting supported. (1) - Requires libpcap for rule parsing (2) - On Solaris/HP-UX, broadcast packets are seen as multicast packets. (3) - Not supported on SunOS4