netspoc-2.4
New features:
- Access lists for multicast packets of redundancy protocols are generated
now.
- Thighter check of src address and protocol for multicast packets of
routing protocols.
Language:
- Syntax for virtual interfaces of redundancy protocols has been changed and
extended.
Other:
- Better handling of path traversal for a special case with
interfaces inside a loop as src or dst. (See ChangeLog for details.)
netspoc-2.3
Bug fixes:
- Fixed a bug in internal handling of NAT. This could lead to missing
optimization of subnets and possibly to wrong code.
netspoc-2.2
New features:
- Support 'chains' of iptables and 'object-groups' of Cisco PIX. Generates
much shorter and more efficient code for rule sets, where one of source or
destination is unchanged.
- Support masquerading, i.e dynamic NAT of multiple networks to a single
address range.
- Generates NAT code for PIX ('static' and 'global') for both directions:
inside - outside and vice versa.
Language:
- Global NAT definition. This is used to declare masquerading for a large
part of the topology.
- any:[local] denotes the security domain connected to an interface.
- Hyphen may now be used in names.
- New attribute 'no_group_code' for routers. This disables generation of
object-groups and chains.
- Removed attribute 'static_manual' for routers.
Other:
- New local optimization step for each router.
- Improved handling of subnets to get better results from optimization.
- Options may be changed from command line. No need for altering the source
code any longer.
- Interfaces referenced in pathrestriction must be managed.
- Code for 'any' rules is now inserted at top of ACLs, following deny
rules. This usually gives better performance, because 'any' rules match many
packets.
- No automatically inserted deny rules any longer. Instead, 'any' rules are
checked for global rule semantics and router semantics to be equivalent.
Bug fixes:
- PIX code: Added missing 'interface' keyword in 'access-group'.
netspoc-2.1
New features:
- Routing protocol EIGRP is supported.
Language:
- Trailing comma is allowed at end of lists now.
netspoc-2.0
New features:
- Virtual IP addresses for supporting VRRP / HSRP are introduced.
- Code for linux iptables and ip route is generated.
- Network address translation (NAT) is supported.
- Groups of all routers and all managed routers are implicitly defined.
- New syntax for denoting an interface at "the right side" of a router.
- General cyclic graphs are supported. Restriction to simple loops
has gone.
- "Path restrictions" are introduced to restrict the use to some of multiple
paths inside cyclic subgraphs.
Other:
- Improved optimization.
- Use of short interfaces (without an IP address) is much less
restricted.
- When expanding a router to its interfaces, unnumbered interfaces are
left out now.
- Rules outside of policies aren't supported any longer.
Bug fixes:
- Code for OSPF was incomplete.
- Removed minor bug with 'any' objects and routers with more than 2
interfaces.
netspoc-1.7
Fixed bugs:
- ACLs for secondary packet filter were too permissive
for rules having an interface of a full packet filter as source or destination.
netspoc-1.6
New features:
- Introduced policies: A policy is a named group of related rules, which
all refer to the same network objects in their source or
destination.
- The functionality of NetSPoC is available as a perl module now.
netspoc-1.5
New features:
- Topology allows simple loops now which must be neither nested nor
adjacent.
- Secondary packet filters are introduced, which have much shorter
access lists for traffic which is already filtered by a full packet
filter.
- New option $auto_default_route to optimize the number of routing
entries per router.
- Attribute 'routing=OSPF' for interfaces: disables generation of
static routes and generates access lists which automatically permit
OSPF packets.
- NetSPoC warns if different interfaces have an identical IP address.
Fixed bugs:
- Routing entries were missing for traffic back from dst to src if
there was no other rule which allowed traffic from dst to src.
- It was possible to link an 'any' object to an undefined router object.
- Script 'newpolicy' now uses 'update -d'.
Other:
- Option $strict_subnets now may have values 0, 'warn' or 1.
netspoc-1.4
Fixed bugs:
- Some valid configuration was rejected for certain combinations of
services with port ranges.
- Some traffic was rejected even if the traffic was explicitly
allowed by another rule. See examples/auto-any-deny for an example.
netspoc-1.3
Language:
- Source port may be specified for tcp and udp services
Other:
- Changed code generation for stateless IOS routers:
Answer packets for tcp and udp connections are no longer restricted to
ports > 1023 for two reasons:
- This didn't work for services like IKE with source port < 1024.
- It was too difficult to handle correctly during optimization.
netspoc-1.2
New features:
- Preliminary support for stateless Cisco IOS routers
(without Firewall Feature Set)
This is untested until now.
- Interfaces of managed IOS routers are automatically protected from
unwanted access. Permitting access to a network which is directly
attached to the interface of an managed router, no longer implicitly
gives access to the interface. If desired, access to an interface has
to be stated explicitly by a rule. (This feature isn't implemented for
PIX firewalls, because they protect themselves.)
Language:
- Switched names for Cisco IOS routers:
- 'IOS' is used now for stateless IOS routers,
- 'IOS_FW' is used for stateful IOS routers.
Fixed bugs:
- Routing to unnumbered networks now works
- Hosts aren't allowed any longer in unnumbered networks
- Unnumbered networks must be connected to at most two interfaces
- Script 'newpolicy': home directory; quotes in messages
Other:
- added some small examples
netspoc-1.1
Optimization:
- Hosts with successive IP addresses are converted to ranges.
- Duplicate ACL entries are no longer generated for rules with an 'any'
object as src or dst
Language:
- Overlapping networks are rejected unless this relation is declared
explicitly using new attributes 'route_hint' or 'subnet_of'.
This may be useful for a large topology, where a network may easily be
redefined by mistake.
Use option 'strict_subnets' to (de)active this new behavior.
Other:
- Warning messages are shown for unused groups and servicegroups.
This may be switched off using option 'warn_unused_groups'.
- NetSPoC doesn't accept rules with an 'any' object both as src and dst
any longer.
Fixed bugs:
- pix security levels: all interfaces except inside and outside got
level 1.
- For rules with an 'any' object as dst, too few deny rules for
intermediate networks were generated in some cases.
- Routing entries were generated for disabled networks in some cases.
netspoc-1.0
Initial public release.