US20060288409A1 - Method and apparatus for managing a firewall - Google Patents

Method and apparatus for managing a firewall Download PDF

Info

Publication number
US20060288409A1
US20060288409A1 US11/502,188 US50218806A US2006288409A1 US 20060288409 A1 US20060288409 A1 US 20060288409A1 US 50218806 A US50218806 A US 50218806A US 2006288409 A1 US2006288409 A1 US 2006288409A1
Authority
US
United States
Prior art keywords
firewall
network
role
host
entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/502,188
Inventor
Yair Bartal
Alain Mayer
Avishai Wool
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US11/502,188 priority Critical patent/US20060288409A1/en
Publication of US20060288409A1 publication Critical patent/US20060288409A1/en
Assigned to CREDIT SUISSE AG reassignment CREDIT SUISSE AG SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALCATEL-LUCENT USA INC.
Assigned to ALCATEL-LUCENT USA INC. reassignment ALCATEL-LUCENT USA INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CREDIT SUISSE AG
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management

Definitions

  • the present invention relates generally to firewalls, and more particularly, to a method and apparatus for managing a firewall.
  • Firewalls provide important safeguards for any network connected to the Internet. Firewalls are not simple applications that can be activated “out of the box.” A firewall must be configured and managed to realize an important security policy for the particular needs of a given company or entity. It has been said that the most important factor affecting the security of a firewall is the firewall configuration. While firewalls have seen impressive technical advances, there have been few, if any, advances in firewall configuration and management.
  • a firewall is a network gateway that filters packets and separates a proprietary corporate network, such as an Intranet, from a public network, such as the Internet.
  • Most of today's firewalls are configured by means of a rule-base or firewall configuration file.
  • a firewall guarding a single, homogeneous Intranet such as the local area network (LAN) of a small company
  • a single rule-base instructs the firewall which inbound sessions (packets) to permit to pass, and which should be blocked.
  • the rule-base specifies which outbound sessions (packets) are permitted.
  • the firewall administrator needs to implement the high-level corporate security policy using this low-level rule-base.
  • the firewall's configuration interface typically allows the security administrator to define various host-groups (ranges of IP addresses) and service-groups (groups of protocols and corresponding port-numbers at the hosts that form the endpoints).
  • a single rule typically includes a source, a destination, a service-group and an appropriate action.
  • the source and destination are host-groups, and the action is generally either an indication to “pass” or “drop” the packets of the corresponding session.
  • the rule-base is order sensitive. In other words, the firewall checks if the first rule in the rule-base applies to a new session. If the first rule applies, the packets are either passed or dropped according to the action specified by the first rule. Otherwise, the firewall checks if the second rule applies, and so forth until a rule applies. This scheme often leads to misconfiguration due to redundant rules in the rule-base, and the desired security policy is realized only after re-ordering some of the rules.
  • Another possible configuration error is to set up the rules so that the firewall gateway is completely unreachable, and it becomes impossible to download new rule-bases.
  • the security of the whole Intranet depends on the exact content of the rule-base, with no higher level of abstraction available.
  • the syntax and semantics of the rules and their ordering depend on the particular make and model of the firewall.
  • firewalls divide a company's Intranets into multiple zones, and the security policy is typically realized by multiple rule-bases, located on multiple gateways that connect the different zones to each other.
  • the interplay between the various rule-bases must be carefully examined so as not to introduce security holes.
  • the complexity of designing and managing the rule-bases grows, as the Intranets get more complex.
  • a method and apparatus are disclosed for managing a firewall.
  • the disclosed firewall manager facilitates the generation of a security policy for a particular network environment, and automatically generates the firewall-specific configuration files from the security policy simultaneously for multiple gateways.
  • the security policy is separated from the specific rule syntax and semantics of the firewall manufacturer.
  • the security policy is separated from the actual network topology.
  • the administrator can maintain a consistent policy in the presence of Intranet topology changes.
  • this modularization allows the administrator to reuse the same policy at multiple corporate sites with different network details, or to allow smaller companies to use default or exemplary security policies designed by experts.
  • the firewall manager utilizes a model definition language and an associated parser to produce an entity relationship model.
  • a model compiler translates the entity-relationship model into the appropriate firewall configuration files.
  • the entity-relationship model provides a framework for representing both the firewall-independent security policy, and the network topology.
  • the security policy is expressed in terms of “roles,” which are used to define network capabilities of sending and receiving services. Roles capture the topology-independent and firewall-independent essence of a policy.
  • a role is a property that may be assumed by different hosts in the network.
  • a group of roles may be collectively assigned as role-groups. Host-groups or individual hosts are the entities to which role-groups are attached (via the attribute assumed-roles) and thus this is the place where the security policy (modeled by roles and role-groups) is linked to the network topology.
  • the model definition language is used as an interface to define an instance of the entity-relationship model.
  • the parser for the MDL generates such instances of the entity-relationship model.
  • the model compiler translates a model instance into firewall-specific configuration files.
  • a visualization and debugging tool is provided to transform the firewall-specific configuration files into a graphical representation of the current policy on the actual topology, allowing the viability of a chosen policy to be evaluated.
  • a role-group may be closed so that inheritance of roles does not apply.
  • a host, h which assumes a closed role-group does not inherit other roles assigned to any other host-group, A, which contains h.
  • a host may assume at most one closed role-group.
  • Role-groups that are not closed, are called open.
  • FIG. 1 illustrates a representative network environment in accordance with the present invention
  • FIG. 2 illustrates the components of the firewall manager of FIG. 1 ;
  • FIG. 3 illustrates the entity-relationship model framework of FIG. 2 ;
  • FIG. 4 is a schematic block diagram of the vendor-specific compiler of FIG. 2 ;
  • FIG. 5 is a flow chart illustrating the generation of a configuration file for each gateway interface as performed by the vendor-specific compiler of FIG. 4 ;
  • FIGS. 6A and 6B collectively, are a flowchart describing an exemplary rule-generation algorithm performed by the basic model compiler of FIG. 4 ;
  • FIG. 7 describes an exemplary routine for generating the list of positive rules performed by the rule-generation algorithm of FIGS. 6A and 6B ;
  • FIG. 8 describes an exemplary routine performed by the configuration file topology adapter for setting the direction field of the rules produced by the rule-generation algorithm.
  • FIG. 9 illustrates a graphical representation visualizing the host-groups structure and the services (packets) that the firewall passes.
  • FIG. 1 illustrates a representative network environment 100 in accordance with the present invention.
  • the network 100 includes two firewalls 120 , 150 .
  • the external firewall 120 guards the corporation's connection to an external network, such as the Internet 110 .
  • Behind the external firewall 120 is the server zone 130 , often referred to as the “demilitarized zone” (DMZ), containing the corporation's externally visible servers.
  • the visible servers in the server zone 130 include a multiple server 138 that includes email (smtp), hyper-text transfer protocol (http) file transfers (web), and file transfer protocol (ftp) file transfer services, and a domain name server (dns) service 134 .
  • each firewall 120 , 150 has a packet filtering configuration file 125 , 155 , discussed below, associated with it.
  • the packet filtering configuration files 125 , 155 are firewall-specific rule-bases.
  • the firewall administration zone 140 includes a firewall manager 200 in accordance with the present invention that allows a security policy to be generated for the representative network environment 100 of FIG. 1 , and automatically generates the firewall-specific configuration files from the security policy simultaneously for multiple gateways.
  • the security policy is separated from the specific rule syntax and semantics of the firewall manufacturer or vendor.
  • the present invention allows the security administrator to focus on designing an appropriate policy without worrying about firewall rule complexity, rule ordering, and other low-level configuration issues.
  • separating the security policy from the vendor-specific rule syntax and semantics enables the unified management of network components from different vendors and a much easier transition when a company switches vendors.
  • the security policy is separated from the actual network topology.
  • the present invention allows the administrator to maintain a consistent policy in the face of Intranet topology changes.
  • this modularization allows the administrator to reuse the same policy at multiple corporate sites with different network details, or to allow smaller companies to use default or exemplary security policies designed by experts.
  • the present invention utilizes computer-implemented methods to generate the firewall configuration files automatically from the security policy simultaneously for multiple gateways.
  • the probability of security holes introduced by hard-to-detect errors in firewall-specific configuration files is reduced.
  • the present invention allows high level debugging of configuration files, allowing a security administrator to capture and reason about the information in the configuration files.
  • FIG. 2 illustrates the various components of a firewall manager 200 , in accordance with the present invention.
  • An entity-relationship model 300 discussed further below in conjunction with FIG. 3 , provides a framework for representing both the firewall-independent security policy, and the network topology.
  • the security policy is expressed in terms of “roles,” which are used to define network capabilities. Roles capture the topology-independent and firewall-independent essence of a policy.
  • a model definition language (MDL) 210 is used as an interface to define an instance of the entity-relationship model 300 .
  • a parser 220 for the MDL is disclosed that generates such instances of the entity-relationship model 300 .
  • a model compiler 240 translates a model instance into one or more firewall configuration files 250 .
  • a set of such firewall configuration files 250 typically includes topology and rule-based information. Most modern firewalls allow the filtering capabilities to be distributed onto several gateways, in which case the compiler 240 has to generate a separate set of local configuration files for each gateway.
  • a visualization and debugging tool 260 transforms the firewall-specific configuration files into a graphical representation of the current policy on the actual topology. Such a visualization allows the viability of a chosen policy to be evaluated.
  • gateways are the packet filtering machines, that can be either firewalls or routers.
  • a gateway is multi-homed, since a gateway has at least two Internet connections. Each connection goes through an interface, which has its own unique IP address. It is assumed that each interface has a packet filtering configuration file associated with it.
  • the gateways partition the IP address space into disjoint zones, as shown in FIG. 1 . Most zones correspond to a company's subnet(s), usually with one big “Internet” zone 110 corresponding to the portion of the IP address space that is not used by the corporation.
  • a service is the combination of a protocol-base, such as tcp or udp, and the port numbers on both the source and destination sides. For example, the service telnet is defined as tcp with destination port 23 and any source port.
  • a role is a property that may be assumed by different hosts in the network.
  • Roles define capabilities of sending and receiving services.
  • the role of a “mail-server” might define the capability of receiving mail service from anywhere.
  • a slightly more sophisticated policy might introduce the roles “mail-server” and “internal-mail-server.”
  • the role of the internal mail server defines the capability of receiving smtp email from peers assuming the role of a mail server.
  • mail servers with a robust “sendmail” module assume the role of mail-server
  • regular mail servers inside the Intranet
  • Roles are used to specify sending capabilities, as well as receiving capabilities.
  • An outbound role such as web-enabled, allows hypertext transfer protocol (http) communications to the outside world. Such a role is typically attached to an Intranet host, allowing employees to browse the web.
  • a role defines essentially (i) the allowed service(s); and (ii) the peers to or from which the services apply.
  • the peers are expressed in terms of other (or the same) roles.
  • roles are assigned to actual hosts (machines), thus binding the policy (roles) to the actual topology.
  • role-groups (a collection of roles) are defined and assigned to hosts. Roles denote positive capabilities, and implicitly realize a “whatever is not explicitly allowed is disallowed” strategy. For example, a host accepts an http-request if and only if the host was assigned a corresponding role of web-server.
  • the network topology can also be modeled by an entity-relationship model 300 .
  • a host entity models a machine on the network with its own IP address and name.
  • a host-group represents a set of machines, either defined by means of an IP address range or a set of other hosts or host-groups. Roles can be attached to both host and host-group entities. Inheritance is used in the natural way, such that the set of roles assumed by a host, h, is the set of all roles assigned to some host-group that includes h.
  • the gateway In the case of a gateway connecting a subnet for payroll with the rest of the Intranet, it is important to ensure that access to the gateway is limited to a few administrative tasks from a small set of other machines, otherwise routing and access control could be easily corrupted. In other words, the gateway should be “stealthed.” While it is easy to assign roles to the gateway which only allow very limited capabilities, such as remote administration from hosts with a firewall-admin role, the gateway might inherit other roles, allowing undesirable access.
  • a closed role-group is a role-group for which inheritance of roles does not apply.
  • a host, h which assumes a closed role-group does not inherit other roles assigned to any other host-group, A, which contains h.
  • a host may assume at most one closed role-group.
  • Role-groups that are not closed are called open. By default, role-groups are open. It is again noted that roles express positive capabilities. Thus, the “closed” role mechanism offers a limited form of negative expressiveness
  • FIG. 3 illustrates the entity-relationship model framework. It is noted that an arrow having a single arrowhead in FIG. 3 represents a one-to-one relationship, while an arrow having a double arrowhead represents a one-to-many relationship.
  • FIG. 3 represents the hierarchy of the object-oriented entity-relationship model framework.
  • the entity-relationship model 300 provides an object-oriented framework for representing the firewall-independent security policy and the network topology.
  • the security policy is expressed in terms of “role” objects that define one or more network capabilities 315 .
  • Each machine in the network is modeled as a “host” object 380 .
  • a host object 380 or a host group object 370 (a defined collection of host objects) assumes a given role object 310 or role group object 325 (a defined collection of roles), the host object 380 or host group object 370 inherits the network capabilities that have been defined for the role object 310 or role group object 325
  • the network topology is modeled by partitioning the network into zone objects 340 , that are connected via gateway objects 350 .
  • Each zone object 340 consists of one or more host objects 380 .
  • a gateway 350 consists of a gateway-interface object 360 for each adjacent zone 340 .
  • a packet leaving and entering a zone 340 can be filtered by the gateway 350 on the corresponding gateway-interface 360 .
  • role objects are assigned to actual host objects (machines), thus binding the policy (roles) to the actual network topology.
  • a role entity 310 consists of one or more peer-capabilities 315 .
  • Each such capability 315 defines, by means of its attributes, the allowed services 320 , the peers, and the direction in which the service 320 can be executed. In other words, the direction of the service indicates whether the service 320 is executed from the role 310 to the peer for an outgoing capability 315 , or from the peer to the role 310 for an incoming capability 315 .
  • the service entity 320 has a protocol-base and two port number attributes, dest-port-no-range and src-port-no-range.
  • a peer points to another (or the same) role 310 .
  • a role-group entity 325 consists of a set of roles 210 .
  • the role-group entity 325 also has a boolean attribute referred to as closed, discussed further below, that indicates whether or not the role-group 325 is a closed role-group. It is again noted that hosts that are assigned a closed role-group do not inherit other roles.
  • the network topology is modeled as follows.
  • the network is partitioned into zones 340 , connected via gateways 350 .
  • a gateway 350 consists of a gateway-interface 360 for each adjacent zone 340 .
  • Each gateway-interface 360 has its own IP address (modeled by the interface-host attribute).
  • a packet leaving and entering a zone 340 can be filtered by the gateway 350 on the corresponding gateway-interface 360 .
  • Packets sent and received within the same zone 340 cannot be filtered by the gateway 350 , because they do not pass through any gateway 350 .
  • Zones 340 consist of host-groups 370 that are typically further subdivided into a hierarchy of smaller host-groups 370 or single hosts 380 .
  • Each host-group 370 stores its containment and intersection relationship to other host-groups 370 in its “contains” and “intersects” attributes.
  • Host-groups 370 and hosts 380 are the entities to which role-groups 325 are attached (via the attribute assumed-roles) and thus this is the place where the security policy (modeled by roles 310 and role-groups 325 ) is linked to the network topology.
  • a model definition language (MDL) 210 is used to instantiate the security policy, and to map the policy onto the topology.
  • a parser 220 translates an MDL program 210 into an instance of the entity-relationship model 300 .
  • the model 300 is expressed by a corresponding data structure.
  • a service 320 is defined by means of a statement in the form:
  • ⁇ service-name> ⁇ protocol-base>[ ⁇ dest-port-no-range>, ⁇ src-port-no-range>].
  • Services can be grouped into a service-group 330 , ServiceGrp, by a statement of the following form:
  • the following code fragment defines the roles mail_server and internal_mail_server, discussed above.
  • the roles gateway-in and gateway-out model the capabilities of gateway interfaces in each direction. This example is continued in the next code fragment: ROLE_DEFINITIONS ⁇ mail_server * : smtp internal_mail_server mail_server : smtp gateway_in fw_admin : admin_to_gtwy gateway_out ⁇ fw_admin : gtwy_to_admin intranet_machine ⁇ all_tcp : * ⁇
  • the following code fragment defines the role-group, gateway, bundling the unidirectional gateway roles 310 into one role-group 325 . It is noted that the gateway role-group is closed, thus effectively “stealthing” hosts which assume this role-group.
  • ROLE_GROUPS ⁇ gateway ⁇ gateway_in, gateway_out>> # a closed group
  • HOST ⁇ dirty [111.222.100.6]
  • mail_server dusty [111.222.1.3]
  • the following code fragment defines payroll_gw_interface1/2 as hosts and specifies their IP-addresses, and then defines the gateway payroll_gw as having payroll_gw_interface1/2 as its two interfaces.
  • the code fragment also assigns the role-group, gateway, to the interfaces.
  • Zones 340 are defined by means of the following statement: ⁇ zone-name> : ⁇ ⁇ gtwy-interface-name1>, ⁇ gtwy-interface-name2> ... ⁇
  • the following code fragment first defines the zones payroll_zone and corp_zone (parts of the intranet manhattan_office) as host-groups, specifies their IP-ranges and then defines parts of the network topology by specifying the payroll_zone to be connected to the payroll_gw by means of the payroll_gw_interface1, and the second interface of the payroll_gw to be connected to the corp_zone.
  • the entity-relationship model 300 needs to be translated into the appropriate firewall configuration files 250 by the model compiler 240 .
  • the translation guarantees that the resulting files correctly implement the underlying security policy. Since the configuration files 250 typically include service definitions, host-group definitions and configuration files for each gateway interface, the back-end of the compiler 240 needs to be vendor-specific.
  • the configuration files 250 for the services and host-groups are generated in a straight-forward manner, as would be apparent to a person of ordinary skill in the art.
  • the generic firewall disclosed herein uses an ordered list and disallows whatever is not explicitly allowed.
  • the generic rule format has the following fields: source host-group, destination host-group, service/service-group, action (such as pass/drop) and direction. It is noted that the direction field is different from the direction attribute of the role entity 310 , discussed above.
  • the rules in the list are examined according to their order until a match occurs, and then the corresponding action is performed.
  • the final rule in the list is a default rule that drops every packet.
  • the generation of the firewall configuration files 250 can be separated into two parts.
  • the model compiler 240 includes a basic model compiler 410 for creating a centralized firewall configuration file 250 -A.
  • the model compiler 240 includes a configuration file topology adapter 420 for producing packet filtering configuration files 125 , 155 that are adapted to each of the gateway interfaces 120 , 150 , respectively.
  • the basic model compiler 410 translates an instance of the entity-relationship model 300 into a firewall configuration file 250 -A.
  • the basic model compiler 410 ignores the network structure, such as the location of gateways, and focuses on the definitions of roles 310 , role-groups 325 , and their assignments to host-groups 370 .
  • the basic model compiler 410 uses the definitions of roles 310 and role-groups 325 to deduce which pairs of host-groups 370 should have a firewall rule that allows a certain service between them, ignoring the question of which gateway 120 , 150 can actually enforce this rule.
  • the output of the basic model compiler 410 is therefore a single, centralized firewall configuration file 250 -A, which contains all of the required rules to implement the policy.
  • the centralized firewall configuration file 250 -A does not set the rule's direction field. As previously indicated, the direction field of each rule is achieved in a subsequent stage by the configuration file topology adapter 420 .
  • Role definitions are a description of what operations are allowed between machines according to their assumed roles. It follows that the role-group assignment to a particular host-group, H, corresponds to a set of positive rules between H and other hosts, assuming peer roles. The set of rules is said to be associated with H. If all the role-groups are open then these positive rules are non-conflicting and hence form a correct configuration file.
  • This problem may be avoided by having the basic model compiler 410 split host-groups such that no resulting host-group includes hosts assuming closed role-groups. For example, the basic model compiler 410 would replace H by H′, with H′ having the same group of hosts, other than h, and H′ would assume the role-group, R. Then the basic model compiler 410 would generate the set of positive rules that are associated with H′ (instead of H). Thus, only positive rules are created. This solution is considered suboptimal, however, since the creation of non user-defined host-groups may increase the difficult of the debugging process.
  • negative rules are used to avoid the need for new host-groups.
  • positive rules dealing with closed role-groups must appear before other rules in the configuration file, and these positive rules are followed by negative rules which capture the notion of “nothing else is allowed for the host group.”
  • the rules that deal only with open role-groups appear only after all the closed role-groups have been processed.
  • a host-group is referred to as closed if the host-group is assigned a closed role-group, and is referred to as open otherwise.
  • FIG. 6 illustrates an illustrative rule-generation algorithm 600 performed by the basic model compiler 410 .
  • the rule-generation algorithm 600 is composed of three phases, at the end of which the default negative rule is added to the firewall configuration file 250 .
  • step 610 For each pair of closed host-groups, all of the positive rules are generated between them during step 610 . Thereafter, the generated positive rules are inserted into the centralized firewall configuration file 250 -A during step 620 .
  • phase 2 for each pair of a closed host-group, H 1 , and an open host-group, H 2 , all of the positive rules are generated between them during step 630 .
  • all of the negative rules are generated between H 1 and G during step 640 .
  • the phase 2 negative rules and then the phase 2 positive rules are inserted into the centralized firewall configuration file 250 -A during step 650 .
  • the negative rules are generated between H and the all-hosts host-group during step 660 ( FIG. 6B ). Thereafter, the generated negative rules are inserted into the centralized firewall configuration file 250 -A during step 670 . For each pair of open host-groups, all of the positive rules are generated between them during step 680 . The positive rules are then inserted into the centralized firewall configuration file 250 -A during step 690 , before program control terminates.
  • FIG. 7 illustrates a routine for generating the list of positive rules.
  • the positive rules may be generated by the following pseudo-code:
  • the open host-group, H contains the closed host-group, h.
  • H′ also assuming role-group, R, and that R allows hosts to send to other hosts with the same role-group (in other words, there exists an MDL statement of the form “R ⁇ R:s1”).
  • role-groups C and R do not have roles in common, and there are no definitions of the form “C ⁇ R:s2”).
  • Only phase 3 of the rule-generation algorithm 600 applies. It first generates a negative rule for h, followed by positive rules for the pair H and H′, thus achieving the desired semantics.
  • the centralized firewall configuration file 250 -A generated by the basic model compiler 410 must be distributed to each of the gateways 120 , 150 in the network 100 with appropriate customization for each interface 120 , 150 .
  • all rules that concern a certain pair of hosts in all gateways along any possible routing path between them must be included.
  • a “safe” strategy replicates the centralized firewall configuration file 250 -A onto every gateway 120 , 150 .
  • the configuration file topology adapter 420 sets the direction field of the rules.
  • the way the direction field is used by the firewall is as follows. The firewall checks the direction in which the packet enters the gateway interface 120 , 150 and compares the direction with the direction field of the rule. If the packet is attempting to leave the interface into the adjacent zone, the packet is allowed only if the rule's direction is IN or BOTH. Likewise, a packet is allowed to enter the interface from the adjacent zone only if the rule's direction is OUT or BOTH.
  • the direction field is not implied by the role's direction attribute, which is captured by the fact that one host-group is designated as the source while the other host-group is designated as the destination.
  • the rule direction fields can be set to BOTH.
  • the rule direction fields should be set as precisely as possible, since this allows the firewalls 120 , 150 to ensure that packets which claim to arrive from a host h indeed appear only on the gateway interface that leads to h.
  • the configuration file topology adapter 420 implements the algorithm 800 shown in FIG. 8 .
  • the centralized configuration file is initially replicated to every gateway interface.
  • the algorithm 800 implements the following pseudo-code:
  • a visualization and debugging tool 260 transforms the firewall configuration files 250 into a graphical representation that provides a visual representation of both the host-groups structure and the services (packets) that the firewall passes.
  • the visualization and debugging tool 260 creates a visualization of the policy as it is seen from the point of view of a single gateway interface.
  • the visualization and debugging tool 260 displays which host-groups are on which side of the interface 120 , 150 , and the firewall rules enforced by this interface.
  • the visualization and debugging tool 260 makes the task of debugging the firewall manager 200 easier. It is clearer to look at a colorful graph than to sift through long, automatically generated configuration files in an arcane firewall format. However, the visualization and debugging tool 260 is also useful in its own right. For example, since the visualization and debugging tool 260 reads the firewall configuration file 250 , the visualization and debugging tool 260 can be used to reverse engineer existing configuration files in order to extract the security policy.
  • the visualization and debugging tool 260 visualizes the structure of the host-groups with respect to containment and intersection. This is important since a rule that applies to some host-group, A, is inherited by any host whose IP address falls with A.
  • the host-group structure is displayed as a graph whose nodes are labeled by the host-group name.
  • a solid black edge between two nodes A and B such as lines 910 , 920 , indicates that one node contains the other.
  • the direction of containment (whether A ⁇ B or B ⁇ A) is indicated by which node is above the other.
  • a dashed black edge such as lines 930 , 940 , indicates host-groups that intersect (in other words, host-groups that overlap but one does not completely contain the other).
  • the host-groups are partitioned into two categories 950 , 960 , depending on the side of the interface in which they reside.
  • One category is called the “outside” zone 950 , typically the one that contains the Internet zone 110 , while the other category is called the “inside” zone 960 .
  • the partitioned network is visualized by introducing two artificial host-groups 970 , 980 , called _out and _in, and displaying them as two diamond-shaped nodes 970 , 980 in the middle of the graph 900 (other host-groups are shown as ovals).
  • the inside host-groups 960 are displayed as a tree that grows downward from the _in node 980 .
  • the outside host-groups 970 are displayed as a tree that grows upward from the _out node 970 .
  • a ⁇ B for inside host-groups 960 , if A has an inclusion edge to B and A is above B (A is closer to the _in node 980 ) then A ⁇ B.
  • the trees 950 , 960 represent the minimum inclusion relation whose transitive closure equals the host-groups inclusion relation.
  • the layout of the trees 950 , 960 is determined by the inclusion relation.
  • the intersection edges, which do not obey the tree layering, are added later.
  • colors are assigned to the nodes to represent the zones. All the host-groups belonging to the same zone get the same color. It is noted that if a host-group belongs to both the “outside” zone 950 , and the “inside” zone 960 at the same time, the host-group can be artificially broken up into two in- and out-subgroups and each subgroup can be displayed separately.
  • the visualization and debugging tool 260 displays the rules only for services that cross the interface. Rules dealing with services where both endpoints are on the same side of the interface are ignored. As shown in FIG. 9 , the rules are represented by directed edges (arrows) from source to destination. An edge from A to B represents a service that the firewall allows to pass from host-group A (and its sub-groups) to host-group B (and its sub-groups). Different services are shown by color coding the edges. For example, all tcp services can be shown with red arrows, and all telnet services can be shown using blue arrows.
  • model framework can easily be extended to accommodate evolving firewalls.
  • New attributes can be added to objects via inheritance, or whole new objects can be added without invalidating the original model.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

A method and apparatus are disclosed for managing a firewall. The disclosed firewall manager facilitates the generation of a security policy for a particular network environment, and automatically generates the firewall-specific configuration files from the security policy simultaneously for multiple gateways. The security policy is separated from the vendor-specific rule syntax and semantics and from the actual network topology. Thus, the security administrator can focus on designing an appropriate policy without worrying about firewall rule complexity, rule ordering, and other low-level configuration issues. In addition, the administrator can maintain a consistent policy in the presence of intranet topology changes. The disclosed firewall manager utilizes a model definition language (MDL) and an associated parser to produce an entity relationship model. A model compiler translates the entity-relationship model into the appropriate firewall configuration files. The entity-relationship model provides a framework for representing both the firewall-independent security policy, and the network topology. The security policy is expressed in terms of “roles,” which are used to define network capabilities of sending and receiving services. A role may be assumed by different hosts or host-groups in the network. A visualization and debugging tool is provided to transform the firewall-specific configuration files into a graphical representation of the current policy on the actual topology, allowing the viability of a chosen policy to be evaluated. A role-group may be closed to prevent the inheritance of roles.

Description

    CROSS REFERENCE TO RELATED APPLICATION
  • The application is a divisional of U.S. patent application Ser. No. 10/336,874, filed Jan. 6, 2003, which is a continuation of U.S. patent application Ser. No. 09/240,934, filed Jan. 29, 1999.
  • FIELD OF THE INVENTION
  • The present invention relates generally to firewalls, and more particularly, to a method and apparatus for managing a firewall.
  • BACKGROUND OF THE INVENTION
  • Network firewalls provide important safeguards for any network connected to the Internet. Firewalls are not simple applications that can be activated “out of the box.” A firewall must be configured and managed to realize an important security policy for the particular needs of a given company or entity. It has been said that the most important factor affecting the security of a firewall is the firewall configuration. While firewalls have seen impressive technical advances, there have been few, if any, advances in firewall configuration and management.
  • A firewall is a network gateway that filters packets and separates a proprietary corporate network, such as an Intranet, from a public network, such as the Internet. Most of today's firewalls are configured by means of a rule-base or firewall configuration file. In the case of a firewall guarding a single, homogeneous Intranet, such as the local area network (LAN) of a small company, a single rule-base instructs the firewall which inbound sessions (packets) to permit to pass, and which should be blocked. Similarly, the rule-base specifies which outbound sessions (packets) are permitted. The firewall administrator needs to implement the high-level corporate security policy using this low-level rule-base.
  • The firewall's configuration interface typically allows the security administrator to define various host-groups (ranges of IP addresses) and service-groups (groups of protocols and corresponding port-numbers at the hosts that form the endpoints). A single rule typically includes a source, a destination, a service-group and an appropriate action. The source and destination are host-groups, and the action is generally either an indication to “pass” or “drop” the packets of the corresponding session.
  • In many firewalls, the rule-base is order sensitive. In other words, the firewall checks if the first rule in the rule-base applies to a new session. If the first rule applies, the packets are either passed or dropped according to the action specified by the first rule. Otherwise, the firewall checks if the second rule applies, and so forth until a rule applies. This scheme often leads to misconfiguration due to redundant rules in the rule-base, and the desired security policy is realized only after re-ordering some of the rules.
  • Another possible configuration error is to set up the rules so that the firewall gateway is completely unreachable, and it becomes impossible to download new rule-bases. In any event, the security of the whole Intranet depends on the exact content of the rule-base, with no higher level of abstraction available. In addition, the syntax and semantics of the rules and their ordering depend on the particular make and model of the firewall.
  • The problems of administering a firewall are even worse for a larger company, which may use more than a single firewall. Multiple firewalls divide a company's Intranets into multiple zones, and the security policy is typically realized by multiple rule-bases, located on multiple gateways that connect the different zones to each other. Thus, the interplay between the various rule-bases must be carefully examined so as not to introduce security holes. The complexity of designing and managing the rule-bases grows, as the Intranets get more complex.
  • As apparent from the above-described deficiencies with conventional techniques for administering a firewall, a need exists for a method and apparatus for managing a firewall that facilitates the generation of a security policy and automatically generates the rule-bases from the security policy simultaneously for one or more gateways.
  • SUMMARY OF THE INVENTION
  • Generally, a method and apparatus are disclosed for managing a firewall. The disclosed firewall manager facilitates the generation of a security policy for a particular network environment, and automatically generates the firewall-specific configuration files from the security policy simultaneously for multiple gateways. According to one aspect of the invention, the security policy is separated from the specific rule syntax and semantics of the firewall manufacturer. Thus, the security administrator can focus on designing an appropriate policy without worrying about firewall rule complexity, rule ordering, and other low-level configuration issues.
  • According to another aspect of the invention, the security policy is separated from the actual network topology. Thus, the administrator can maintain a consistent policy in the presence of Intranet topology changes. Furthermore, this modularization allows the administrator to reuse the same policy at multiple corporate sites with different network details, or to allow smaller companies to use default or exemplary security policies designed by experts.
  • The firewall manager utilizes a model definition language and an associated parser to produce an entity relationship model. A model compiler translates the entity-relationship model into the appropriate firewall configuration files. The entity-relationship model provides a framework for representing both the firewall-independent security policy, and the network topology. The security policy is expressed in terms of “roles,” which are used to define network capabilities of sending and receiving services. Roles capture the topology-independent and firewall-independent essence of a policy. A role is a property that may be assumed by different hosts in the network. A group of roles may be collectively assigned as role-groups. Host-groups or individual hosts are the entities to which role-groups are attached (via the attribute assumed-roles) and thus this is the place where the security policy (modeled by roles and role-groups) is linked to the network topology.
  • The model definition language (MDL) is used as an interface to define an instance of the entity-relationship model. The parser for the MDL generates such instances of the entity-relationship model. The model compiler translates a model instance into firewall-specific configuration files. A visualization and debugging tool is provided to transform the firewall-specific configuration files into a graphical representation of the current policy on the actual topology, allowing the viability of a chosen policy to be evaluated.
  • According to a further aspect of the present invention, a role-group may be closed so that inheritance of roles does not apply. A host, h, which assumes a closed role-group does not inherit other roles assigned to any other host-group, A, which contains h. A host may assume at most one closed role-group. Role-groups that are not closed, are called open.
  • A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a representative network environment in accordance with the present invention;
  • FIG. 2 illustrates the components of the firewall manager of FIG. 1;
  • FIG. 3 illustrates the entity-relationship model framework of FIG. 2;
  • FIG. 4 is a schematic block diagram of the vendor-specific compiler of FIG. 2;
  • FIG. 5 is a flow chart illustrating the generation of a configuration file for each gateway interface as performed by the vendor-specific compiler of FIG. 4;
  • FIGS. 6A and 6B, collectively, are a flowchart describing an exemplary rule-generation algorithm performed by the basic model compiler of FIG. 4;
  • FIG. 7 describes an exemplary routine for generating the list of positive rules performed by the rule-generation algorithm of FIGS. 6A and 6B;
  • FIG. 8 describes an exemplary routine performed by the configuration file topology adapter for setting the direction field of the rules produced by the rule-generation algorithm; and
  • FIG. 9 illustrates a graphical representation visualizing the host-groups structure and the services (packets) that the firewall passes.
  • DETAILED DESCRIPTION
  • FIG. 1 illustrates a representative network environment 100 in accordance with the present invention. As shown in FIG. 1, the network 100 includes two firewalls 120, 150. The external firewall 120 guards the corporation's connection to an external network, such as the Internet 110. Behind the external firewall 120 is the server zone 130, often referred to as the “demilitarized zone” (DMZ), containing the corporation's externally visible servers. In the illustrative embodiment, the visible servers in the server zone 130 include a multiple server 138 that includes email (smtp), hyper-text transfer protocol (http) file transfers (web), and file transfer protocol (ftp) file transfer services, and a domain name server (dns) service 134.
  • Behind the server zone 130 is an internal firewall 150 that guards the corporation's proprietary or internal network, such as an Intranet. The internal firewall 150 has three interfaces. A first interface is to the server zone 130, a second interface connects the internal firewall 150 to the corporate network zone 160, and a third interface connects the internal firewall 150 to the firewall administration zone 140. Securing the firewall administration host is critical to the network's integrity and should be separated from the other corporate hosts. Within the corporate network zone there is generally one distinguished host, referred to as the control host (not shown), that provides the administration for the servers in the server zone 130. In the illustrative embodiment, each firewall 120, 150 has a packet filtering configuration file 125, 155, discussed below, associated with it. Generally, the packet filtering configuration files 125, 155 are firewall-specific rule-bases.
  • As discussed further below in conjunction with FIG. 2, the firewall administration zone 140 includes a firewall manager 200 in accordance with the present invention that allows a security policy to be generated for the representative network environment 100 of FIG. 1, and automatically generates the firewall-specific configuration files from the security policy simultaneously for multiple gateways.
  • According to one feature of the invention, the security policy is separated from the specific rule syntax and semantics of the firewall manufacturer or vendor. Thus, the present invention allows the security administrator to focus on designing an appropriate policy without worrying about firewall rule complexity, rule ordering, and other low-level configuration issues. In addition, separating the security policy from the vendor-specific rule syntax and semantics enables the unified management of network components from different vendors and a much easier transition when a company switches vendors.
  • According to another feature of the invention, the security policy is separated from the actual network topology. Thus, the present invention allows the administrator to maintain a consistent policy in the face of Intranet topology changes. Furthermore, this modularization allows the administrator to reuse the same policy at multiple corporate sites with different network details, or to allow smaller companies to use default or exemplary security policies designed by experts.
  • The present invention utilizes computer-implemented methods to generate the firewall configuration files automatically from the security policy simultaneously for multiple gateways. Thus, the probability of security holes introduced by hard-to-detect errors in firewall-specific configuration files is reduced. In addition, the present invention allows high level debugging of configuration files, allowing a security administrator to capture and reason about the information in the configuration files.
  • FIG. 2 illustrates the various components of a firewall manager 200, in accordance with the present invention. An entity-relationship model 300, discussed further below in conjunction with FIG. 3, provides a framework for representing both the firewall-independent security policy, and the network topology. As discussed further below, the security policy is expressed in terms of “roles,” which are used to define network capabilities. Roles capture the topology-independent and firewall-independent essence of a policy.
  • A model definition language (MDL) 210 is used as an interface to define an instance of the entity-relationship model 300. A parser 220 for the MDL is disclosed that generates such instances of the entity-relationship model 300.
  • A model compiler 240 translates a model instance into one or more firewall configuration files 250. A set of such firewall configuration files 250 typically includes topology and rule-based information. Most modern firewalls allow the filtering capabilities to be distributed onto several gateways, in which case the compiler 240 has to generate a separate set of local configuration files for each gateway.
  • A visualization and debugging tool 260 transforms the firewall-specific configuration files into a graphical representation of the current policy on the actual topology. Such a visualization allows the viability of a chosen policy to be evaluated.
  • Firewall Terminology and Modeling Concepts
  • As used herein, gateways are the packet filtering machines, that can be either firewalls or routers. By definition, a gateway is multi-homed, since a gateway has at least two Internet connections. Each connection goes through an interface, which has its own unique IP address. It is assumed that each interface has a packet filtering configuration file associated with it. The gateways partition the IP address space into disjoint zones, as shown in FIG. 1. Most zones correspond to a company's subnet(s), usually with one big “Internet” zone 110 corresponding to the portion of the IP address space that is not used by the corporation. A service is the combination of a protocol-base, such as tcp or udp, and the port numbers on both the source and destination sides. For example, the service telnet is defined as tcp with destination port 23 and any source port.
  • As discussed below in conjunction with FIG. 3, a role is a property that may be assumed by different hosts in the network. Roles define capabilities of sending and receiving services. For example, the role of a “mail-server,” might define the capability of receiving mail service from anywhere. A slightly more sophisticated policy might introduce the roles “mail-server” and “internal-mail-server.” The role of the internal mail server defines the capability of receiving smtp email from peers assuming the role of a mail server. While mail servers with a robust “sendmail” module assume the role of mail-server, regular mail servers (inside the Intranet) assume the role of internal-mail-server. Roles are used to specify sending capabilities, as well as receiving capabilities. An outbound role, such as web-enabled, allows hypertext transfer protocol (http) communications to the outside world. Such a role is typically attached to an Intranet host, allowing employees to browse the web.
  • A role defines essentially (i) the allowed service(s); and (ii) the peers to or from which the services apply. The peers are expressed in terms of other (or the same) roles. Eventually, roles are assigned to actual hosts (machines), thus binding the policy (roles) to the actual topology. For convenience, role-groups (a collection of roles) are defined and assigned to hosts. Roles denote positive capabilities, and implicitly realize a “whatever is not explicitly allowed is disallowed” strategy. For example, a host accepts an http-request if and only if the host was assigned a corresponding role of web-server.
  • As discussed below in conjunction with FIG. 3, the network topology can also be modeled by an entity-relationship model 300. A host entity models a machine on the network with its own IP address and name. A host-group represents a set of machines, either defined by means of an IP address range or a set of other hosts or host-groups. Roles can be attached to both host and host-group entities. Inheritance is used in the natural way, such that the set of roles assumed by a host, h, is the set of all roles assigned to some host-group that includes h.
  • In the case of a gateway connecting a subnet for payroll with the rest of the Intranet, it is important to ensure that access to the gateway is limited to a few administrative tasks from a small set of other machines, otherwise routing and access control could be easily corrupted. In other words, the gateway should be “stealthed.” While it is easy to assign roles to the gateway which only allow very limited capabilities, such as remote administration from hosts with a firewall-admin role, the gateway might inherit other roles, allowing undesirable access.
  • Thus, according to a further feature of the present invention, a closed group of roles is introduced. A closed role-group is a role-group for which inheritance of roles does not apply. A host, h, which assumes a closed role-group does not inherit other roles assigned to any other host-group, A, which contains h. A host may assume at most one closed role-group. Role-groups that are not closed, are called open. By default, role-groups are open. It is again noted that roles express positive capabilities. Thus, the “closed” role mechanism offers a limited form of negative expressiveness
  • Entity-Relationship Model
  • FIG. 3 illustrates the entity-relationship model framework. It is noted that an arrow having a single arrowhead in FIG. 3 represents a one-to-one relationship, while an arrow having a double arrowhead represents a one-to-many relationship. FIG. 3 represents the hierarchy of the object-oriented entity-relationship model framework. In accordance with the present invention, the entity-relationship model 300 provides an object-oriented framework for representing the firewall-independent security policy and the network topology. The security policy is expressed in terms of “role” objects that define one or more network capabilities 315. Each machine in the network is modeled as a “host” object 380. Generally, if a host object 380 or a host group object 370 (a defined collection of host objects) assumes a given role object 310 or role group object 325 (a defined collection of roles), the host object 380 or host group object 370 inherits the network capabilities that have been defined for the role object 310 or role group object 325
  • The network topology is modeled by partitioning the network into zone objects 340, that are connected via gateway objects 350. Each zone object 340 consists of one or more host objects 380. A gateway 350 consists of a gateway-interface object 360 for each adjacent zone 340. A packet leaving and entering a zone 340 can be filtered by the gateway 350 on the corresponding gateway-interface 360. Eventually, role objects are assigned to actual host objects (machines), thus binding the policy (roles) to the actual network topology.
  • As shown in FIG. 3, a role entity 310 consists of one or more peer-capabilities 315. Each such capability 315 defines, by means of its attributes, the allowed services 320, the peers, and the direction in which the service 320 can be executed. In other words, the direction of the service indicates whether the service 320 is executed from the role 310 to the peer for an outgoing capability 315, or from the peer to the role 310 for an incoming capability 315. The service entity 320 has a protocol-base and two port number attributes, dest-port-no-range and src-port-no-range. A peer points to another (or the same) role 310.
  • A role-group entity 325 consists of a set of roles 210. The role-group entity 325 also has a boolean attribute referred to as closed, discussed further below, that indicates whether or not the role-group 325 is a closed role-group. It is again noted that hosts that are assigned a closed role-group do not inherit other roles.
  • The network topology is modeled as follows. The network is partitioned into zones 340, connected via gateways 350. A gateway 350 consists of a gateway-interface 360 for each adjacent zone 340. Each gateway-interface 360 has its own IP address (modeled by the interface-host attribute). A packet leaving and entering a zone 340 can be filtered by the gateway 350 on the corresponding gateway-interface 360. Packets sent and received within the same zone 340, however, cannot be filtered by the gateway 350, because they do not pass through any gateway 350. Zones 340 consist of host-groups 370 that are typically further subdivided into a hierarchy of smaller host-groups 370 or single hosts 380. Each host-group 370 stores its containment and intersection relationship to other host-groups 370 in its “contains” and “intersects” attributes.
  • Host-groups 370 and hosts 380 are the entities to which role-groups 325 are attached (via the attribute assumed-roles) and thus this is the place where the security policy (modeled by roles 310 and role-groups 325) is linked to the network topology.
  • Model Definition Language (MDL)
  • A model definition language (MDL) 210 is used to instantiate the security policy, and to map the policy onto the topology. A parser 220 translates an MDL program 210 into an instance of the entity-relationship model 300. The model 300 is expressed by a corresponding data structure.
  • MDL for Security Policy Description
  • A service 320 is defined by means of a statement in the form:
  • <service-name>=<protocol-base>[<dest-port-no-range>, <src-port-no-range>].
  • For example, the following code fragment defines the widely used services smtp, ssh, ping, https and a service denoting all tcp-based packets:
    SERVICES {
      smtp   = TCP [25]
      ssh   = TCP [22]
      ping  = ICMP [8,0]
      https  = TCP [443]
      all_tcp = TCP [*]
    }
  • Services can be grouped into a service-group 330, ServiceGrp, by a statement of the following form:
  • <srv-grp-name>={<service-name 1>, <service-name2> . . . }
  • The following code fragment defines the two service-groups, admin-to-gtwy and gtwy-to-admin:
    SERVICE_GROUPS {
      admin-to-gtwy = {ssh, ping}
      gtwy-to-admin = {ssh, https}
  • A role 310 is defined by a statement of the following form, where the arrow defines the direction attribute in an obvious way, the role-grp-name points to peers, and the srv-grp-name points to a service-group 330:
    <role-name> arrow <role(-grp)-name> : <srv-grp-name>
    arrow ==
    Figure US20060288409A1-20061221-P00801
    || → ||
    Figure US20060288409A1-20061221-P00802
  • The following code fragment defines the roles mail_server and internal_mail_server, discussed above. The roles gateway-in and gateway-out model the capabilities of gateway interfaces in each direction. This example is continued in the next code fragment:
    ROLE_DEFINITIONS {
      mail_server
    Figure US20060288409A1-20061221-P00802
    * : smtp
      internal_mail_server
    Figure US20060288409A1-20061221-P00802
    mail_server : smtp
      gateway_in
    Figure US20060288409A1-20061221-P00801
    fw_admin : admin_to_gtwy
      gateway_out → fw_admin : gtwy_to_admin
      intranet_machine → all_tcp : *
    }
  • Roles 310 are grouped into open (by default) role-groups 325 by the following statement:
    <role-grp-name> = { <role-name1>, <role-name2> ...}
    Roles 310 are grouped into closed role-groups 325 by the following
    statement:
    <role-grp-name> = << <role-name1>, <role-name2> ... >>
  • The following code fragment defines the role-group, gateway, bundling the unidirectional gateway roles 310 into one role-group 325. It is noted that the gateway role-group is closed, thus effectively “stealthing” hosts which assume this role-group.
    ROLE_GROUPS {
      gateway   =   <<gateway_in, gateway_out>> # a closed group
  • MDL for Topology Description and Policy Mapping
    Hosts 380 and host-groups 370 are defined by the following statements:
    <host-name> = [ <IP-Addr>] : <role-grp-name>
    <host-grp-name> = [ <IP-Range>] : <role-grp-name>
  • The following code fragment defines the hosts, dirty (presumably outside the intranet) and dusty, assigning them roles of external and internal mail servers, respectively:
    HOST {
      dirty  =   [111.222.100.6]   : mail_server
      dusty =   [111.222.1.3] : internal_mail_server
    }
    Gateways 350 are defined by the following statement:
    <gateway-name>   =   { <host-name1>, <host-name2> ...}
  • The following code fragment defines payroll_gw_interface1/2 as hosts and specifies their IP-addresses, and then defines the gateway payroll_gw as having payroll_gw_interface1/2 as its two interfaces. The code fragment also assigns the role-group, gateway, to the interfaces.
    HOST {
      payroll_gw_interface1 = [111.222.26.226] : gateway
      payroll_gw_interface2 = [111.222.24.210] : gateway
    }
    GATEWAYS {
      payroll_gw = { payroll_gw_interface1, payroll_gw_interface2}
    }
    Zones 340 are defined by means of the following statement:
      <zone-name> : { <gtwy-interface-name1>,
      <gtwy-interface-name2> ... }
  • The following code fragment first defines the zones payroll_zone and corp_zone (parts of the intranet manhattan_office) as host-groups, specifies their IP-ranges and then defines parts of the network topology by specifying the payroll_zone to be connected to the payroll_gw by means of the payroll_gw_interface1, and the second interface of the payroll_gw to be connected to the corp_zone.
    HOST-GROUPS {
    manhattan_office = [111.222.0.0-111.222.255.255] : intranet_machine
    payroll_zone   = [111.222.26.0-111.222.26.255] : payroll_machine
    corp_zone     =[111.222.24.0-111.222.24.255] :
    non_payroll_machine
    }
    ZONES {
    payroll_zone = {payroll_gw_interface1}
    corp_zone   = { payroll_gw_interface2, ... }
    }
  • The Model Compiler
  • After the security policy has been designed by the security administrator and programmed in the model definition language (MDL) 210, and the MDL parser 220 has generated the entity-relationship model 300, the entity-relationship model 300 needs to be translated into the appropriate firewall configuration files 250 by the model compiler 240. The translation guarantees that the resulting files correctly implement the underlying security policy. Since the configuration files 250 typically include service definitions, host-group definitions and configuration files for each gateway interface, the back-end of the compiler 240 needs to be vendor-specific.
  • The configuration files 250 for the services and host-groups are generated in a straight-forward manner, as would be apparent to a person of ordinary skill in the art. The generic firewall disclosed herein uses an ordered list and disallows whatever is not explicitly allowed. The generic rule format has the following fields: source host-group, destination host-group, service/service-group, action (such as pass/drop) and direction. It is noted that the direction field is different from the direction attribute of the role entity 310, discussed above. When packets are filtered, the rules in the list are examined according to their order until a match occurs, and then the corresponding action is performed. The final rule in the list is a default rule that drops every packet.
  • In one implementation, the generation of the firewall configuration files 250 can be separated into two parts. As shown in FIGS. 4 and 5, the model compiler 240 includes a basic model compiler 410 for creating a centralized firewall configuration file 250-A. In addition, the model compiler 240 includes a configuration file topology adapter 420 for producing packet filtering configuration files 125, 155 that are adapted to each of the gateway interfaces 120, 150, respectively.
  • The basic model compiler 410 translates an instance of the entity-relationship model 300 into a firewall configuration file 250-A. The basic model compiler 410 ignores the network structure, such as the location of gateways, and focuses on the definitions of roles 310, role-groups 325, and their assignments to host-groups 370. The basic model compiler 410 uses the definitions of roles 310 and role-groups 325 to deduce which pairs of host-groups 370 should have a firewall rule that allows a certain service between them, ignoring the question of which gateway 120, 150 can actually enforce this rule. The output of the basic model compiler 410 is therefore a single, centralized firewall configuration file 250-A, which contains all of the required rules to implement the policy. The centralized firewall configuration file 250-A does not set the rule's direction field. As previously indicated, the direction field of each rule is achieved in a subsequent stage by the configuration file topology adapter 420.
  • Role definitions are a description of what operations are allowed between machines according to their assumed roles. It follows that the role-group assignment to a particular host-group, H, corresponds to a set of positive rules between H and other hosts, assuming peer roles. The set of rules is said to be associated with H. If all the role-groups are open then these positive rules are non-conflicting and hence form a correct configuration file.
  • The treatment of closed role-groups is more involved. Consider a host, h, which assumes a closed role-group, C. Let H be a host-group that contains h, and assumes a different role-group, R. The fact that h is assigned a closed role-group implies that h should not inherit any roles from host-group, H. However, if the set of positive rules associated with H (as implied by R) are generated, then some services would be incorrectly allowed for h.
  • This problem may be avoided by having the basic model compiler 410 split host-groups such that no resulting host-group includes hosts assuming closed role-groups. For example, the basic model compiler 410 would replace H by H′, with H′ having the same group of hosts, other than h, and H′ would assume the role-group, R. Then the basic model compiler 410 would generate the set of positive rules that are associated with H′ (instead of H). Thus, only positive rules are created. This solution is considered suboptimal, however, since the creation of non user-defined host-groups may increase the difficult of the debugging process.
  • Rather, negative rules are used to avoid the need for new host-groups. Intuitively, positive rules dealing with closed role-groups must appear before other rules in the configuration file, and these positive rules are followed by negative rules which capture the notion of “nothing else is allowed for the host group.” The rules that deal only with open role-groups appear only after all the closed role-groups have been processed. A host-group is referred to as closed if the host-group is assigned a closed role-group, and is referred to as open otherwise.
  • FIG. 6 illustrates an illustrative rule-generation algorithm 600 performed by the basic model compiler 410. As shown in FIG. 6, the rule-generation algorithm 600 is composed of three phases, at the end of which the default negative rule is added to the firewall configuration file 250.
  • Initially, for each pair of closed host-groups, all of the positive rules are generated between them during step 610. Thereafter, the generated positive rules are inserted into the centralized firewall configuration file 250-A during step 620.
  • Thereafter, during phase 2, for each pair of a closed host-group, H1, and an open host-group, H2, all of the positive rules are generated between them during step 630. For each closed host-group, G, contained in an open host-group, H2, all of the negative rules are generated between H1 and G during step 640. Thereafter, the phase 2 negative rules and then the phase 2 positive rules are inserted into the centralized firewall configuration file 250-A during step 650.
  • During phase 3, for each closed host-group, H, the negative rules are generated between H and the all-hosts host-group during step 660 (FIG. 6B). Thereafter, the generated negative rules are inserted into the centralized firewall configuration file 250-A during step 670. For each pair of open host-groups, all of the positive rules are generated between them during step 680. The positive rules are then inserted into the centralized firewall configuration file 250-A during step 690, before program control terminates.
  • As a basic component of the rule-generation algorithm 600, for a pair of host-groups, H1 and H2, the list of positive rules that are associated with H1 and apply to H2 must be generated. FIG. 7 illustrates a routine for generating the list of positive rules. As shown in FIG. 7, the positive rules may be generated by the following pseudo-code:
  • for each role r in the role-group assigned to H1:
      • for each statement in the form: {r$R:s}
        • if H2 is closed: /* create a rule if H2 has a role, r*/
          • if the role-group assigned to H2 contains a role in R, then
            • create a positive rule between H1 and H2 with service=s
        • otherwise, for all host-groups G that contain H2:
          • if the role-group assigned to G contains a role in R
            • create positive rule between H1 and H2 with service=s
  • where r is a role, $ indicates the direction, R is a role-group and s is a service.
  • Continuing the above example, where the open host-group, H, contains the closed host-group, h. Assume that there is another open host-group, H′, also assuming role-group, R, and that R allows hosts to send to other hosts with the same role-group (in other words, there exists an MDL statement of the form “R→R:s1”). Further assume that role-groups C and R do not have roles in common, and there are no definitions of the form “C→R:s2”). Only phase 3 of the rule-generation algorithm 600 applies. It first generates a negative rule for h, followed by positive rules for the pair H and H′, thus achieving the desired semantics.
  • As previously indicated, the centralized firewall configuration file 250-A, generated by the basic model compiler 410 must be distributed to each of the gateways 120, 150 in the network 100 with appropriate customization for each interface 120, 150. To ensure that the security policy is observed, all rules that concern a certain pair of hosts in all gateways along any possible routing path between them must be included. In order to avoid making assumptions on the routing protocols and to add tolerance to routing failures, a “safe” strategy replicates the centralized firewall configuration file 250-A onto every gateway 120, 150.
  • As previously indicated, the configuration file topology adapter 420 sets the direction field of the rules. The way the direction field is used by the firewall is as follows. The firewall checks the direction in which the packet enters the gateway interface 120, 150 and compares the direction with the direction field of the rule. If the packet is attempting to leave the interface into the adjacent zone, the packet is allowed only if the rule's direction is IN or BOTH. Likewise, a packet is allowed to enter the interface from the adjacent zone only if the rule's direction is OUT or BOTH.
  • The direction field is not implied by the role's direction attribute, which is captured by the fact that one host-group is designated as the source while the other host-group is designated as the destination. In the absence of other information, the rule direction fields can be set to BOTH. However, the rule direction fields should be set as precisely as possible, since this allows the firewalls 120, 150 to ensure that packets which claim to arrive from a host h indeed appear only on the gateway interface that leads to h.
  • In a general network topology, if no assumptions are made on routing protocols, the source-destination paid does not imply much information about the direction of the packet, except if the source or destination reside in the adjacent zone to the gateway interface 120, 150. Thus, the configuration file topology adapter 420 implements the algorithm 800 shown in FIG. 8. As shown in FIG. 8, the centralized configuration file is initially replicated to every gateway interface. For each gateway interface, and for each rule in the configuration file, the algorithm 800 implements the following pseudo-code:
  • if the source is in the adjacent zone
      • set direction to OUT
  • else if the destination is in the adjacent zone
      • set direction to IN
  • else set direction to BOTH.
  • It is noted that to avoid unnecessary replication and to prevent spoofing, some knowledge about routing assurances must be available. This knowledge can be placed in a rule optimizer or could be made part of an extension to the entity-relationship model 300.
  • Rule Illustrator
  • As previously indicated, a visualization and debugging tool 260 transforms the firewall configuration files 250 into a graphical representation that provides a visual representation of both the host-groups structure and the services (packets) that the firewall passes. The visualization and debugging tool 260 creates a visualization of the policy as it is seen from the point of view of a single gateway interface. The visualization and debugging tool 260 displays which host-groups are on which side of the interface 120, 150, and the firewall rules enforced by this interface.
  • The visualization and debugging tool 260 makes the task of debugging the firewall manager 200 easier. It is clearer to look at a colorful graph than to sift through long, automatically generated configuration files in an arcane firewall format. However, the visualization and debugging tool 260 is also useful in its own right. For example, since the visualization and debugging tool 260 reads the firewall configuration file 250, the visualization and debugging tool 260 can be used to reverse engineer existing configuration files in order to extract the security policy.
  • The visualization and debugging tool 260 visualizes the structure of the host-groups with respect to containment and intersection. This is important since a rule that applies to some host-group, A, is inherited by any host whose IP address falls with A.
  • The host-group structure is displayed as a graph whose nodes are labeled by the host-group name. In the illustrative embodiment shown in FIG. 9, a solid black edge between two nodes A and B, such as lines 910, 920, indicates that one node contains the other. The direction of containment (whether A⊂B or B⊂A) is indicated by which node is above the other. A dashed black edge, such as lines 930, 940, indicates host-groups that intersect (in other words, host-groups that overlap but one does not completely contain the other).
  • Initially, the host-groups are partitioned into two categories 950, 960, depending on the side of the interface in which they reside. One category is called the “outside” zone 950, typically the one that contains the Internet zone 110, while the other category is called the “inside” zone 960.
  • The partitioned network is visualized by introducing two artificial host- groups 970, 980, called _out and _in, and displaying them as two diamond-shaped nodes 970, 980 in the middle of the graph 900 (other host-groups are shown as ovals). The inside host-groups 960 are displayed as a tree that grows downward from the _in node 980. The outside host-groups 970 are displayed as a tree that grows upward from the _out node 970. Thus, for inside host-groups 960, if A has an inclusion edge to B and A is above B (A is closer to the _in node 980) then A⊃B. For outside host-groups 950, the group closer to the _out node 970 includes the other. The trees 950, 960 represent the minimum inclusion relation whose transitive closure equals the host-groups inclusion relation. The layout of the trees 950, 960 is determined by the inclusion relation. The intersection edges, which do not obey the tree layering, are added later. Finally, colors are assigned to the nodes to represent the zones. All the host-groups belonging to the same zone get the same color. It is noted that if a host-group belongs to both the “outside” zone 950, and the “inside” zone 960 at the same time, the host-group can be artificially broken up into two in- and out-subgroups and each subgroup can be displayed separately.
  • The visualization and debugging tool 260 displays the rules only for services that cross the interface. Rules dealing with services where both endpoints are on the same side of the interface are ignored. As shown in FIG. 9, the rules are represented by directed edges (arrows) from source to destination. An edge from A to B represents a service that the firewall allows to pass from host-group A (and its sub-groups) to host-group B (and its sub-groups). Different services are shown by color coding the edges. For example, all tcp services can be shown with red arrows, and all telnet services can be shown using blue arrows.
  • It is to be understood that the embodiments and variations shown and described herein are merely illustrative of the principles of this invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention.
  • For example, the model framework can easily be extended to accommodate evolving firewalls. New attributes can be added to objects via inheritance, or whole new objects can be added without invalidating the original model.

Claims (22)

1. A method for generating a configuration file for at least one firewall in a network, said network including a plurality of interconnected hosts, said method comprising the steps of:
utilizing a model definition language to produce an entity relationship model representing a security policy for said network; and
translating said entity relationship model into said firewall configuration file.
2. The method of claim 1, wherein a configuration file is generated for a plurality of firewalls in said network.
3. The method of claim 1, wherein said security policy is expressed in terms of roles that define network capabilities of sending and receiving services.
4. The method of claim 3, wherein said roles are assigned to said hosts.
5. The method of claim 3, wherein a plurality of said roles are combined into role-groups that may be assigned to a host.
6. The method of claim 3, wherein a plurality of said hosts are combined into a host-group that may be assigned a role or a role-group.
7. The method of claim 6, further comprising the step of providing a visual representation of the structure of said hosts in said network.
8. The method of claim 6, further comprising the step of providing a visual representation of a set of rules in said configuration file.
9. The method of claim 6, wherein a vendor-specific compiler translates said entity-relationship model into a vendor-specific firewall configuration file.
10. A method of producing an entity-relationship model representing the security policy for a network, said network including a plurality of hosts, said method comprising the steps of:
receiving a definition for one or more role entities that further define allowed services and a direction in which a service can be executed;
receiving a model of a topology of said network that partitions said network into one or more zones, connected by means of one or more gateways, each of said gateways having a gateway-interface for each adjacent zone;
receiving an assignment of said hosts to one or more zones; and
generating said entity-relationship model from said received definitions, model and assignments.
11. The method of claim 10, further comprising the step of assigning said roles to said hosts.
12. The method of claim 10, further comprising the step of defining one or more role-group entities consisting of a set of said role entities.
13. The method of claim 10, further comprising the step of translating said entity relationship model into a firewall configuration file.
14. The method of claim 18, wherein said configuration file is are generated for a plurality of firewalls in said network.
15. The method of claim 10, wherein said security policy is expressed in terms of roles that define network capabilities of sending and receiving services.
16. The method of claim 10, wherein a plurality of said role entities are combined into a role-group that may be assigned to a host.
17. The method of claim 10, wherein a plurality of said hosts are combined into a host-group that may be assigned a role or a role-group entity.
18. The method of claim 10, further comprising the step of providing a visual representation of the structure of said hosts in said network.
19. The method of claim 18, further comprising the step of providing a visual representation of a set of rules in said configuration files.
20. The method of claim 10, wherein a vendor-specific compiler translates said entity-relationship model into vendor-specific firewall configuration files.
21. A firewall manager for generating a configuration file for a firewall in a network, said network including a plurality of interconnected hosts, comprising:
a parser utilizing a model definition language to produce an entity relationship model representing a security policy for said network; and
a compiler for translating said entity relationship model into said firewall configuration file.
22. A parser for producing an entity-relationship model representing the security policy for a network, said network including a plurality of hosts, said parser comprising:
a memory for storing computer-readable code; and
a processor operatively coupled to said memory, said processor configured to execute said computer-readable code, said computer-readable code configuring said processor to:
receive a definition for one or more role entities that further define allowed services and a direction in which a service can be executed;
receive a model of a topology of said network by partitioning said network into one or more zones, connected by means of one or more gateways, each of said gateways having a gateway-interface for each adjacent zone;
receive an assignment of said hosts to one or more zones; and
generate said entity-relationship model from said received definitions, model and assignments.
US11/502,188 1999-01-29 2006-08-10 Method and apparatus for managing a firewall Abandoned US20060288409A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/502,188 US20060288409A1 (en) 1999-01-29 2006-08-10 Method and apparatus for managing a firewall

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US24093499A 1999-01-29 1999-01-29
US10/336,874 US7146639B2 (en) 1999-01-29 2003-01-06 Method and apparatus for managing a firewall
US11/502,188 US20060288409A1 (en) 1999-01-29 2006-08-10 Method and apparatus for managing a firewall

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/336,874 Division US7146639B2 (en) 1999-01-29 2003-01-06 Method and apparatus for managing a firewall

Publications (1)

Publication Number Publication Date
US20060288409A1 true US20060288409A1 (en) 2006-12-21

Family

ID=22908532

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/336,874 Expired - Lifetime US7146639B2 (en) 1999-01-29 2003-01-06 Method and apparatus for managing a firewall
US11/502,188 Abandoned US20060288409A1 (en) 1999-01-29 2006-08-10 Method and apparatus for managing a firewall

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/336,874 Expired - Lifetime US7146639B2 (en) 1999-01-29 2003-01-06 Method and apparatus for managing a firewall

Country Status (4)

Country Link
US (2) US7146639B2 (en)
EP (1) EP1024627A3 (en)
JP (1) JP3545303B2 (en)
CA (1) CA2296989C (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080256021A1 (en) * 2005-01-28 2008-10-16 Nec Corporation Information Leak Analysis System
US20080282335A1 (en) * 2007-05-09 2008-11-13 Microsoft Corporation Software firewall control
US20080282314A1 (en) * 2007-05-09 2008-11-13 Microsoft Corporation Firewall with policy hints
US20090307743A1 (en) * 2008-06-06 2009-12-10 International Business Machines Corporation Method to automatically map business function level policies to it management policies
WO2011074959A1 (en) 2009-12-15 2011-06-23 Edwin Henricus Antonius Holman Transgenic ozone-resistant plants
WO2011074954A2 (en) 2009-12-16 2011-06-23 Isobionics B.V. Valencene synthase
US8108924B1 (en) * 2007-05-24 2012-01-31 Sprint Communications Company L.P. Providing a firewall's connection data in a comprehendible format
US20120170465A1 (en) * 2011-01-04 2012-07-05 Alcatel Lucent Usa Inc. Validating ethernet virtual connection service
EP2537926A1 (en) 2011-06-21 2012-12-26 Isobionics B.V. Valencene synthase
US8407779B1 (en) * 2011-07-29 2013-03-26 Juniper Networks, Inc. Transposing a packet firewall policy within a node
US20140068701A1 (en) * 2012-08-31 2014-03-06 International Business Machines Corporation Automatically Recommending Firewall Rules During Enterprise Information Technology Transformation
US20140108319A1 (en) * 2012-10-12 2014-04-17 Bruno KLAUSER Autonomic network sentinels
WO2018160066A1 (en) 2017-03-02 2018-09-07 Isobionics B.V. Santalene synthase
WO2019045568A1 (en) 2017-09-01 2019-03-07 Isobionics B.V. Terpene synthase producing patchoulol and elemol, and preferably also pogostol
CN111786949A (en) * 2020-05-22 2020-10-16 山东鲁能软件技术有限公司 Firewall security policy automatic adaptation system and method
US11029948B1 (en) 2019-12-05 2021-06-08 Bank Of America Corporation System for normalizing data dependency effects across an electronic network environment

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836494B2 (en) * 1999-12-29 2010-11-16 Intel Corporation System and method for regulating the flow of information to or from an application
US8074256B2 (en) 2000-01-07 2011-12-06 Mcafee, Inc. Pdstudio design system and method
US7047288B2 (en) * 2000-01-07 2006-05-16 Securify, Inc. Automated generation of an english language representation of a formal network security policy specification
US7016980B1 (en) * 2000-01-18 2006-03-21 Lucent Technologies Inc. Method and apparatus for analyzing one or more firewalls
US7266604B1 (en) * 2000-03-31 2007-09-04 Microsoft Corporation Proxy network address translation
EP1290852A2 (en) * 2000-05-25 2003-03-12 Secure Computing Corporation Distributed firewall system and method
JP2002056176A (en) 2000-06-01 2002-02-20 Asgent Inc Method and device for structuring security policy and method and device for supporting security policy structuring
US7103653B2 (en) * 2000-06-05 2006-09-05 Fujitsu Limited Storage area network management system, method, and computer-readable medium
CN1592898A (en) * 2000-09-01 2005-03-09 Tut系统公司 Method and system to pre-compile configuration information for a data communications device
US6807576B1 (en) * 2000-09-08 2004-10-19 International Business Machines Corporation Method and system for determining and graphically representing frame classification rule relationships
US7254833B1 (en) 2000-11-09 2007-08-07 Accenture Llp Electronic security system and scheme for a communications network
FI20010267A0 (en) 2001-02-13 2001-02-13 Stonesoft Oy Synchronization of security gateway status information
US8769478B2 (en) * 2001-03-07 2014-07-01 Hewlett-Packard Development Company, L.P. Aggregation of multiple headless computer entities into a single computer entity group
US7003562B2 (en) * 2001-03-27 2006-02-21 Redseal Systems, Inc. Method and apparatus for network wide policy-based analysis of configurations of devices
US8135815B2 (en) * 2001-03-27 2012-03-13 Redseal Systems, Inc. Method and apparatus for network wide policy-based analysis of configurations of devices
FR2824404A1 (en) * 2001-05-04 2002-11-08 Scaling Software System for tracking and recording the traces of an information technology process allows the traces of the process to be stored in a permanent, confidential and incorruptible manner
US7536715B2 (en) 2001-05-25 2009-05-19 Secure Computing Corporation Distributed firewall system and method
GB2376854A (en) * 2001-06-19 2002-12-24 Hewlett Packard Co Centralised security service for ISP environment
US7194553B2 (en) 2001-10-16 2007-03-20 Microsoft Corporation Resolving virtual network names
US7676540B2 (en) 2001-10-16 2010-03-09 Microsoft Corporation Scoped referral statements
US8015204B2 (en) 2001-10-16 2011-09-06 Microsoft Corporation Scoped access control metadata element
EP1303097A3 (en) 2001-10-16 2005-11-30 Microsoft Corporation Virtual distributed security system
US7899047B2 (en) 2001-11-27 2011-03-01 Microsoft Corporation Virtual network with adaptive dispatcher
EP1408410A1 (en) * 2002-09-30 2004-04-14 Sap Ag Remote debugging of computer programs
US8117639B2 (en) 2002-10-10 2012-02-14 Rocksteady Technologies, Llc System and method for providing access control
WO2004036371A2 (en) 2002-10-16 2004-04-29 Rocksteady Networks, Inc. System and method for dynamic bandwidth provisioning
US7308706B2 (en) 2002-10-28 2007-12-11 Secure Computing Corporation Associative policy model
US20040128545A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation Host controlled dynamic firewall system
FR2850503B1 (en) * 2003-01-23 2005-04-08 Everbee Networks METHOD AND DYNAMIC SYSTEM FOR SECURING A COMMUNICATION NETWORK USING PORTABLE AGENTS
AU2003900991A0 (en) * 2003-03-03 2003-03-20 Intelliguard I.T. Pty. Ltd. A firewall system
US20040255167A1 (en) * 2003-04-28 2004-12-16 Knight James Michael Method and system for remote network security management
US7461395B2 (en) * 2003-05-06 2008-12-02 Oracle International Corporation Distributed capability-based authorization architecture using roles
US7383340B2 (en) * 2003-06-30 2008-06-03 Intel Corporation System and method for programmatically changing the network location of a network component
US7386629B2 (en) * 2003-06-30 2008-06-10 Intel Corporation System and method for synchronous configuration of DHCP server and router interfaces
US20040267921A1 (en) * 2003-06-30 2004-12-30 Rover Jeremy L. System and method for describing network components and their associations
US20040267922A1 (en) * 2003-06-30 2004-12-30 Rover Jeremy L. System and method for the design and description of networks
US7483390B2 (en) * 2003-06-30 2009-01-27 Intel Corporation System and method for dynamically configuring and transitioning wired and wireless networks
US7596807B2 (en) * 2003-07-03 2009-09-29 Arbor Networks, Inc. Method and system for reducing scope of self-propagating attack code in network
US7624438B2 (en) 2003-08-20 2009-11-24 Eric White System and method for providing a secure connection between networked computers
US20050086537A1 (en) * 2003-10-17 2005-04-21 Alex Johnson Methods and system for replicating and securing process control data
US7680822B1 (en) 2004-02-11 2010-03-16 Novell, Inc. Method and system for automatically creating and updating access controls lists
US7590728B2 (en) * 2004-03-10 2009-09-15 Eric White System and method for detection of aberrant network behavior by clients of a network access gateway
US7665130B2 (en) 2004-03-10 2010-02-16 Eric White System and method for double-capture/double-redirect to a different location
US8543710B2 (en) 2004-03-10 2013-09-24 Rpx Corporation Method and system for controlling network access
US7610621B2 (en) * 2004-03-10 2009-10-27 Eric White System and method for behavior-based firewall modeling
US7509625B2 (en) * 2004-03-10 2009-03-24 Eric White System and method for comprehensive code generation for system management
CA2467603A1 (en) 2004-05-18 2005-11-18 Ibm Canada Limited - Ibm Canada Limitee Visualization firewall rules in an auto provisioning environment
US7540013B2 (en) * 2004-06-07 2009-05-26 Check Point Software Technologies, Inc. System and methodology for protecting new computers by applying a preconfigured security update policy
US7300489B2 (en) * 2004-06-10 2007-11-27 Hoeganaes Corporation Powder metallurgical compositions and parts made therefrom
US8677496B2 (en) * 2004-07-15 2014-03-18 AlgoSec Systems Ltd. Method and apparatus for automatic risk assessment of a firewall configuration
US8234686B2 (en) * 2004-08-25 2012-07-31 Harris Corporation System and method for creating a security application for programmable cryptography module
CN1317852C (en) * 2004-10-29 2007-05-23 江苏南大苏富特软件股份有限公司 Firewall kernel security component integration method
CN100346610C (en) * 2004-11-01 2007-10-31 沈明峰 Security policy based network security management system and method
JPWO2006049072A1 (en) * 2004-11-04 2008-05-29 日本電気株式会社 Firewall inspection system and firewall information extraction system
US20060106919A1 (en) * 2004-11-12 2006-05-18 David Watkinson Communication traffic control rule generation methods and systems
JPWO2006057337A1 (en) * 2004-11-25 2008-06-05 日本電気株式会社 Method and system for generating data for security verification
CA2623120C (en) 2005-10-05 2015-03-24 Byres Security Inc. Network security appliance
US8122492B2 (en) 2006-04-21 2012-02-21 Microsoft Corporation Integration of social network information and network firewalls
US8079073B2 (en) 2006-05-05 2011-12-13 Microsoft Corporation Distributed firewall implementation and control
US8176157B2 (en) * 2006-05-18 2012-05-08 Microsoft Corporation Exceptions grouping
US7886351B2 (en) * 2006-06-19 2011-02-08 Microsoft Corporation Network aware firewall
US8095969B2 (en) 2006-09-08 2012-01-10 Microsoft Corporation Security assertion revocation
US7814534B2 (en) 2006-09-08 2010-10-12 Microsoft Corporation Auditing authorization decisions
US20080065899A1 (en) * 2006-09-08 2008-03-13 Microsoft Corporation Variable Expressions in Security Assertions
US8060931B2 (en) 2006-09-08 2011-11-15 Microsoft Corporation Security authorization queries
US8201215B2 (en) * 2006-09-08 2012-06-12 Microsoft Corporation Controlling the delegation of rights
US20080066158A1 (en) * 2006-09-08 2008-03-13 Microsoft Corporation Authorization Decisions with Principal Attributes
US8656503B2 (en) 2006-09-11 2014-02-18 Microsoft Corporation Security language translations with logic resolution
US8938783B2 (en) 2006-09-11 2015-01-20 Microsoft Corporation Security language expressions for logic resolution
JP2008124870A (en) * 2006-11-14 2008-05-29 Kwok-Yan Leung System and method for sectioning terminal equipment
US8055760B1 (en) * 2006-12-18 2011-11-08 Sprint Communications Company L.P. Firewall doctor
US7937353B2 (en) * 2007-01-15 2011-05-03 International Business Machines Corporation Method and system for determining whether to alter a firewall configuration
US8413247B2 (en) * 2007-03-14 2013-04-02 Microsoft Corporation Adaptive data collection for root-cause analysis and intrusion detection
US8955105B2 (en) * 2007-03-14 2015-02-10 Microsoft Corporation Endpoint enabled for enterprise security assessment sharing
US8959568B2 (en) * 2007-03-14 2015-02-17 Microsoft Corporation Enterprise security assessment sharing
US20080229419A1 (en) * 2007-03-16 2008-09-18 Microsoft Corporation Automated identification of firewall malware scanner deficiencies
US8291483B2 (en) * 2007-04-30 2012-10-16 Hewlett-Packard Development Company, L.P. Remote network device with security policy failsafe
US7941838B2 (en) * 2007-05-09 2011-05-10 Microsoft Corporation Firewall control with multiple profiles
US20090049182A1 (en) * 2007-08-16 2009-02-19 International Business Machines Corporation Automatic tn3270 emulator configuration generator
US20090300748A1 (en) * 2008-06-02 2009-12-03 Secure Computing Corporation Rule combination in a firewall
US8024482B2 (en) * 2009-02-16 2011-09-20 Microsoft Corporation Dynamic firewall configuration
US9621516B2 (en) * 2009-06-24 2017-04-11 Vmware, Inc. Firewall configured with dynamic membership sets representing machine attributes
US9154462B2 (en) * 2009-12-22 2015-10-06 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for managing firewall change requests in a communication network
US8943570B1 (en) * 2010-12-02 2015-01-27 Cellco Partnership Techniques for providing enhanced network security
US9069958B2 (en) 2011-09-28 2015-06-30 International Business Machines Corporation Creating and maintaining a security policy
US9288186B2 (en) * 2013-06-04 2016-03-15 Cisco Technology, Inc. Network security using encrypted subfields
US9215214B2 (en) 2014-02-20 2015-12-15 Nicira, Inc. Provisioning firewall rules on a firewall enforcing device
JP5799399B1 (en) * 2014-08-01 2015-10-28 株式会社応用電子 Virtual communication system
US9787722B2 (en) 2015-05-19 2017-10-10 Cisco Technology, Inc. Integrated development environment (IDE) for network security configuration files
US10135871B2 (en) * 2015-06-12 2018-11-20 Accenture Global Solutions Limited Service oriented software-defined security framework
US9787641B2 (en) * 2015-06-30 2017-10-10 Nicira, Inc. Firewall rule management
US9755903B2 (en) 2015-06-30 2017-09-05 Nicira, Inc. Replicating firewall policy across multiple data centers
JP6419035B2 (en) * 2015-07-17 2018-11-07 三菱電機株式会社 Firewall management apparatus and firewall management program
US9948679B2 (en) 2015-08-21 2018-04-17 Cisco Technology, Inc. Object-relation user interface for viewing security configurations of network security devices
US10514954B2 (en) * 2015-10-28 2019-12-24 Qomplx, Inc. Platform for hierarchy cooperative computing
US10135727B2 (en) 2016-04-29 2018-11-20 Nicira, Inc. Address grouping for distributed service rules
US10348685B2 (en) 2016-04-29 2019-07-09 Nicira, Inc. Priority allocation for distributed service rules
US11425095B2 (en) 2016-05-01 2022-08-23 Nicira, Inc. Fast ordering of firewall sections and rules
US11171920B2 (en) 2016-05-01 2021-11-09 Nicira, Inc. Publication of firewall configuration
US10182055B2 (en) 2016-06-06 2019-01-15 Cisco Technology, Inc. Security policy efficacy visualization
US11258761B2 (en) 2016-06-29 2022-02-22 Nicira, Inc. Self-service firewall configuration
US11088990B2 (en) 2016-06-29 2021-08-10 Nicira, Inc. Translation cache for firewall configuration
JP2018019207A (en) * 2016-07-27 2018-02-01 富士ゼロックス株式会社 Cooperation management device and communication system
CN107784400B (en) * 2016-08-24 2021-05-25 北京京东尚科信息技术有限公司 Method and device for executing business model
US10419321B2 (en) 2016-10-31 2019-09-17 Nicira, Inc. Managing resource consumption for distributed services
US10778722B2 (en) * 2016-11-08 2020-09-15 Massachusetts Institute Of Technology Dynamic flow system
US11258681B2 (en) 2016-12-16 2022-02-22 Nicira, Inc. Application assessment and visibility for micro-segmentation of a network deployment
US10567440B2 (en) 2016-12-16 2020-02-18 Nicira, Inc. Providing application visibility for micro-segmentation of a network deployment
US10673890B2 (en) 2017-05-30 2020-06-02 Akamai Technologies, Inc. Systems and methods for automatically selecting an access control entity to mitigate attack traffic
US10911403B1 (en) * 2017-09-25 2021-02-02 Rockwell Collins, Inc. Systems and methods for secured maintenance gateway
US10742673B2 (en) 2017-12-08 2020-08-11 Nicira, Inc. Tracking the dynamics of application-centric clusters in a virtualized datacenter
US10645121B1 (en) * 2017-12-11 2020-05-05 Juniper Networks, Inc. Network traffic management based on network entity attributes
RU2667805C1 (en) * 2017-12-14 2018-09-24 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Method of operating a firewall
US11296960B2 (en) 2018-03-08 2022-04-05 Nicira, Inc. Monitoring distributed applications
US10708230B2 (en) * 2018-06-14 2020-07-07 Servicenow, Inc. Systems and methods for firewall configuration using block lists
US11895087B2 (en) * 2018-08-21 2024-02-06 International Business Machines Corporation Adjusting firewall parameters based on node characteristics
US11310202B2 (en) 2019-03-13 2022-04-19 Vmware, Inc. Sharing of firewall rules among multiple workloads in a hypervisor
CN110278116A (en) * 2019-06-27 2019-09-24 马晓琴 A kind of area's topological structure generating algorithm
US11288256B2 (en) 2019-07-23 2022-03-29 Vmware, Inc. Dynamically providing keys to host for flow aggregation
US11436075B2 (en) 2019-07-23 2022-09-06 Vmware, Inc. Offloading anomaly detection from server to host
US11176157B2 (en) 2019-07-23 2021-11-16 Vmware, Inc. Using keys to aggregate flows at appliance
US10911335B1 (en) 2019-07-23 2021-02-02 Vmware, Inc. Anomaly detection on groups of flows
US11398987B2 (en) 2019-07-23 2022-07-26 Vmware, Inc. Host-based flow aggregation
US11188570B2 (en) 2019-07-23 2021-11-30 Vmware, Inc. Using keys to aggregate flow attributes at host
US11743135B2 (en) 2019-07-23 2023-08-29 Vmware, Inc. Presenting data regarding grouped flows
US11340931B2 (en) 2019-07-23 2022-05-24 Vmware, Inc. Recommendation generation based on selection of selectable elements of visual representation
US11140090B2 (en) 2019-07-23 2021-10-05 Vmware, Inc. Analyzing flow group attributes using configuration tags
US11349876B2 (en) 2019-07-23 2022-05-31 Vmware, Inc. Security policy recommendation generation
US11588854B2 (en) 2019-12-19 2023-02-21 Vmware, Inc. User interface for defining security groups
US11321213B2 (en) 2020-01-16 2022-05-03 Vmware, Inc. Correlation key used to correlate flow and con text data
CN111147528B (en) * 2020-04-03 2020-08-21 四川新网银行股份有限公司 Method for managing network security policy
US11991187B2 (en) 2021-01-22 2024-05-21 VMware LLC Security threat detection based on network flow analysis
US11785032B2 (en) 2021-01-22 2023-10-10 Vmware, Inc. Security threat detection based on network flow analysis
US11831667B2 (en) 2021-07-09 2023-11-28 Vmware, Inc. Identification of time-ordered sets of connections to identify threats to a datacenter
US11997120B2 (en) 2021-07-09 2024-05-28 VMware LLC Detecting threats to datacenter based on analysis of anomalous events
US11792151B2 (en) 2021-10-21 2023-10-17 Vmware, Inc. Detection of threats based on responses to name resolution requests
CN113810429B (en) * 2021-11-16 2022-02-11 北京安博通科技股份有限公司 Method for opening automatic strategy
US12015591B2 (en) 2021-12-06 2024-06-18 VMware LLC Reuse of groups in security policy

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826014A (en) * 1996-02-06 1998-10-20 Network Engineering Software Firewall system for protecting network elements connected to a public network
US5835726A (en) * 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
US5913024A (en) * 1996-02-09 1999-06-15 Secure Computing Corporation Secure server utilizing separate protocol stacks
US5918018A (en) * 1996-02-09 1999-06-29 Secure Computing Corporation System and method for achieving network separation
US5968176A (en) * 1997-05-29 1999-10-19 3Com Corporation Multilayer firewall system
US6154775A (en) * 1997-09-12 2000-11-28 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with dynamic rule processing with the ability to dynamically alter the operations of rules
US6175917B1 (en) * 1998-04-23 2001-01-16 Vpnet Technologies, Inc. Method and apparatus for swapping a computer operating system
US6182226B1 (en) * 1998-03-18 2001-01-30 Secure Computing Corporation System and method for controlling interactions between networks
US6212558B1 (en) * 1997-04-25 2001-04-03 Anand K. Antur Method and apparatus for configuring and managing firewalls and security devices
US6327618B1 (en) * 1998-12-03 2001-12-04 Cisco Technology, Inc. Recognizing and processing conflicts in network management policies

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606668A (en) * 1993-12-15 1997-02-25 Checkpoint Software Technologies Ltd. System for securing inbound and outbound data packet flow in a computer network
US6484261B1 (en) * 1998-02-17 2002-11-19 Cisco Technology, Inc. Graphical network security policy management
US6539021B1 (en) * 1998-10-02 2003-03-25 Nortel Networks Limited Role based management independent of the hardware topology
US7016980B1 (en) 2000-01-18 2006-03-21 Lucent Technologies Inc. Method and apparatus for analyzing one or more firewalls

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835726A (en) * 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
US5826014A (en) * 1996-02-06 1998-10-20 Network Engineering Software Firewall system for protecting network elements connected to a public network
US5913024A (en) * 1996-02-09 1999-06-15 Secure Computing Corporation Secure server utilizing separate protocol stacks
US5918018A (en) * 1996-02-09 1999-06-29 Secure Computing Corporation System and method for achieving network separation
US6219707B1 (en) * 1996-02-09 2001-04-17 Secure Computing Corporation System and method for achieving network separation
US6332195B1 (en) * 1996-02-09 2001-12-18 Secure Computing Corporation Secure server utilizing separate protocol stacks
US6212558B1 (en) * 1997-04-25 2001-04-03 Anand K. Antur Method and apparatus for configuring and managing firewalls and security devices
US5968176A (en) * 1997-05-29 1999-10-19 3Com Corporation Multilayer firewall system
US6154775A (en) * 1997-09-12 2000-11-28 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with dynamic rule processing with the ability to dynamically alter the operations of rules
US6182226B1 (en) * 1998-03-18 2001-01-30 Secure Computing Corporation System and method for controlling interactions between networks
US6175917B1 (en) * 1998-04-23 2001-01-16 Vpnet Technologies, Inc. Method and apparatus for swapping a computer operating system
US6327618B1 (en) * 1998-12-03 2001-12-04 Cisco Technology, Inc. Recognizing and processing conflicts in network management policies

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797297B2 (en) 2005-01-28 2010-09-14 Nec Corporation Information leak analysis system
US20080256021A1 (en) * 2005-01-28 2008-10-16 Nec Corporation Information Leak Analysis System
US8584227B2 (en) 2007-05-09 2013-11-12 Microsoft Corporation Firewall with policy hints
US20080282335A1 (en) * 2007-05-09 2008-11-13 Microsoft Corporation Software firewall control
US20080282314A1 (en) * 2007-05-09 2008-11-13 Microsoft Corporation Firewall with policy hints
US8108924B1 (en) * 2007-05-24 2012-01-31 Sprint Communications Company L.P. Providing a firewall's connection data in a comprehendible format
US20090307743A1 (en) * 2008-06-06 2009-12-10 International Business Machines Corporation Method to automatically map business function level policies to it management policies
US8914844B2 (en) 2008-06-06 2014-12-16 International Business Machines Corporation Method to automatically map business function level policies to IT management policies
US8255972B2 (en) 2008-06-06 2012-08-28 International Business Machines Corporation Method to automatically map business function level policies to it management policies
US8595792B2 (en) 2008-06-06 2013-11-26 International Business Machines Corporation Method to automatically map business function level policies to IT management policies
WO2011074959A1 (en) 2009-12-15 2011-06-23 Edwin Henricus Antonius Holman Transgenic ozone-resistant plants
WO2011074954A2 (en) 2009-12-16 2011-06-23 Isobionics B.V. Valencene synthase
US8891385B2 (en) * 2011-01-04 2014-11-18 Alcatel Lucent Validating ethernet virtual connection service
US20120170465A1 (en) * 2011-01-04 2012-07-05 Alcatel Lucent Usa Inc. Validating ethernet virtual connection service
EP2537926A1 (en) 2011-06-21 2012-12-26 Isobionics B.V. Valencene synthase
WO2012177129A2 (en) 2011-06-21 2012-12-27 Isobionics B.V. Valencene synthase
US8407779B1 (en) * 2011-07-29 2013-03-26 Juniper Networks, Inc. Transposing a packet firewall policy within a node
US20140068698A1 (en) * 2012-08-31 2014-03-06 International Business Machines Corporation Automatically Recommending Firewall Rules During Enterprise Information Technology Transformation
US20140068701A1 (en) * 2012-08-31 2014-03-06 International Business Machines Corporation Automatically Recommending Firewall Rules During Enterprise Information Technology Transformation
US9059960B2 (en) * 2012-08-31 2015-06-16 International Business Machines Corporation Automatically recommending firewall rules during enterprise information technology transformation
US9100363B2 (en) * 2012-08-31 2015-08-04 International Business Machines Corporation Automatically recommending firewall rules during enterprise information technology transformation
US20140108319A1 (en) * 2012-10-12 2014-04-17 Bruno KLAUSER Autonomic network sentinels
US9450819B2 (en) * 2012-10-12 2016-09-20 Cisco Technology, Inc. Autonomic network sentinels
WO2018160066A1 (en) 2017-03-02 2018-09-07 Isobionics B.V. Santalene synthase
WO2019045568A1 (en) 2017-09-01 2019-03-07 Isobionics B.V. Terpene synthase producing patchoulol and elemol, and preferably also pogostol
US11029948B1 (en) 2019-12-05 2021-06-08 Bank Of America Corporation System for normalizing data dependency effects across an electronic network environment
CN111786949A (en) * 2020-05-22 2020-10-16 山东鲁能软件技术有限公司 Firewall security policy automatic adaptation system and method

Also Published As

Publication number Publication date
JP3545303B2 (en) 2004-07-21
EP1024627A3 (en) 2003-09-03
JP2000253066A (en) 2000-09-14
EP1024627A2 (en) 2000-08-02
CA2296989C (en) 2005-10-25
US7146639B2 (en) 2006-12-05
US20030120955A1 (en) 2003-06-26
CA2296989A1 (en) 2000-07-29

Similar Documents

Publication Publication Date Title
US7146639B2 (en) Method and apparatus for managing a firewall
Bartal et al. Firmato: A novel firewall management toolkit
EP1119151B1 (en) Method and apparatus for analyzing one or more firewalls
Al-Shaer et al. Modeling and management of firewall policies
EP1326393B1 (en) Validation of the configuration of a Firewall
Cuppens et al. A formal approach to specify and deploy a network security policy
US7752024B2 (en) Systems and methods for constructing multi-layer topological models of computer networks
EP3716534A1 (en) Supporting near real time service level agreements
Burns et al. Automatic management of network security policy
Gredler et al. The complete IS-IS routing protocol
JP4493654B2 (en) Security check program for communication between networks
US20060129672A1 (en) Method and apparatus for network wide policy-based analysis of configurations of devices
JP2002507295A (en) Multi-layer firewall system
US8887266B2 (en) Method for computing network reachability
US20060041935A1 (en) Methodology for configuring network firewall
WO1994023514A1 (en) Generic managed object model for lan domain
US7500196B2 (en) Method and system for generating route distinguishers and targets for a virtual private network
Gottlieb et al. Automated provisioning of BGP customers
Le et al. Detecting network-wide and router-specific misconfigurations through data mining
WO2001086844A1 (en) Systems and methods for constructing multi-layer topological models of computer networks
Zao et al. Domain based internet security policy management
US20230344755A1 (en) Determining flow paths of packets through nodes of a network
Liu et al. Quantifying and verifying reachability for access controlled networks
US8914339B2 (en) Device for managing data filters
Bederna et al. Modelling computer networks for further security research

Legal Events

Date Code Title Description
AS Assignment

Owner name: CREDIT SUISSE AG, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:ALCATEL-LUCENT USA INC.;REEL/FRAME:030510/0627

Effective date: 20130130

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION

AS Assignment

Owner name: ALCATEL-LUCENT USA INC., NEW JERSEY

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG;REEL/FRAME:033949/0016

Effective date: 20140819