[security-discuss readers: if you're not familiar with nwam, please see http://www.opensolaris.org/os/project/nwam/p1spec]
IP Filter and IPsec policy rules are part of NWAM locations; this allows you to configure different security policy, depending on where you're connected. There is a bit of a chicken-and-egg problem here, though. In order to decide what location to apply, the system typically must connect to a network and determine attributes of that network. If you're connecting to a network where you want strict security rules in place, how do you enforce that policy *before* the location is selected and activated? Another concern related to security policy and locations is how changing location is accomplished. If you're changing from one location to another, and both have strict security rules, how do you avoid opening up the system momentarily when you change the security policy? Our approach to the first problem lies with the No-Net Location. When first coming up (i.e. upon enable of the nwam service), before a location has been selected, the No-Net location will be activated. This location will install strict security policy, only allowing through the traffic necessary for configuration (e.g. dhcp, router discovery, dns, ldap). There are several ways to implement this policy: 1) create ipsec rules that only allow packets related to the needed services through 2) create ipfilter rules that do the same 3) create ipsec rules that block everything, and modify the apps that need to pass traffic (e.g. dhcpagent) to set up bypass rules for themselves Option 3 is the cleanest in terms of the policy that needs to be created; the down side, though, is that several different daemons/apps will need to be modified to set up bypass policy. Pros/cons of ipsec vs. ipfilter? For ipsec, installing the strict policy will load kernel modules (which affects codepaths in the network stack); ipsec team members say it's a relatively small RFE to request unload of modules if not needed (i.e. if the newly-installed location has no IPsec policy rules). The second question is about how to "atomically" change security policy; we'll need some support from the IP Filter and IPsec subsystems to accomplish this. IPsec: What nwam would like to do: change properties of ipsec services (ipsec/ike, ipsec/policy, ipsec/manual-key) to point at config files for new location, then refresh services. We would like for this to do a policy swap (from the strict no-net to whatever is used in the new location), rather than a remove of one/add of the other. The implemen- tation of two RFEs would make this possible: modify ipsecconf to take advantage of the kernel's ability to swap policy; and modify the smf services to do this swap on refresh. Question: In what order should the services be refreshed? IP Filter: As with IPsec, nwam would like to simply update the service (in this case, network/ipfilter) properties, and then refresh the service. Question: What does ipfilter do on refresh? Does it have a way of swapping (rather than removing/adding) policy? I'd appreciate comments/questions/answers!! Thanks, renee