The present application is a 371 application of International Application No. PCT/CN2013/073303 filed on Mar. 28, 2013 and entitled “Firewall Security Between Virtual Devices,” which claims benefit of Chinese Patent App. No. CN 201210226717.9 filed on Jun. 29, 2012.
In virtualization, a physical device is virtualized to create multiple virtual or logical devices. The virtual devices are assigned to different users so as to provide different services. Virtualization is beneficial in many applications, such as in a cloud computing environment where many concurrent users and services are supported.
Non-limiting example(s) will be described with reference to the following, in which:
The present disclosure provides a method and a device for firewall security between virtual devices on a physical device. When communication from a first virtual device to a second virtual device is received, a first virtual interface associated with the first virtual device and a second virtual interface associated with the second virtual device are determined. Next, a first security domain associated with the first virtual interface and a second security domain associated with the second virtual interface are determined to implement a security policy between the first security domain and second security domain to allow or block the communication.
Using the first and second virtual interfaces, the first and second virtual devices on the same physical device may be separated or partitioned into different security domains. This allows implementation of security policies between different security domains to protect the virtual devices against possible security threats.
For example,
The virtual devices 122 provide services to different users or hosts. For example, VM1 and VM2 provide services to users of virtual local area network (VLAN) VLAN 100, while VM3 and VM4 to that of VLAN 200. Virtual devices 122 may need to communicate with each other to facilitate various services. In the example in
The firewall device 110 may block or allow communication between the virtual devices 122 via the virtual interfaces 112. Referring also to
In the example in
The firewall device 110 may use the first and second virtual interfaces 112 as labels for incoming and outgoing interfaces for the received communication respectively to determine the corresponding security domains and security policy 140. That is, the virtual interfaces 112 are used as internal or temporary labels by the firewall device 110.
In the example in
The example method in
Throughout the present disclosure, the terms “firewall” and “firewall device” refer to any suitable type of firewall, such as a firewall located at a gateway, firewall located in a router or switch, or firewall located on a server. The location of the firewall 110 is not intended to be limiting in respect to the examples provided. For example while shown in
The term “security domain” refers to a group of devices (e.g. virtual devices) in a network that share common security policies. The terms “security policy”, “security strategy” and “security control policy” refer generally to rules, mechanisms or techniques used by the firewall device 110 to determine if a particular communication through the firewall device 110 should be allowed or blocked. The term “communication” includes message or packet communication.
Non-limiting examples of blocks 210 and 220 will now be explained with reference to the detailed flowchart in
Configuring Virtual Interfaces 302
Referring to the example in
In one example, each virtual interface 112 may be associated with an address set that includes an address of the corresponding virtual device 122, and a security domain. For example, the virtual interface 112 may be configured as follows:
In the example in
Security policies may then be defined and enforced for inter-domain communication to allow or block communication from one security domain to another. In the example in
The address of the virtual device 122 may be any suitable address, such as an Internet Protocol (IP) address or a Media Access Control (MAC) address etc. If a Dynamic Host Configuration Protocol (DHCP) server is used to dynamically obtain an IP address of a virtual device 122, IP addresses in the address set should be consistent with a strategy or allocation policy of the DHCP server. This is to ensure that the address set includes addresses assigned to a class of virtual devices 122 that require firewall security control, rather than being randomly assigned.
The address set associated with a virtual interface may be an address range. For example, if address set IG1 is a range of addresses, the address of VM1 will be within this range. Similarly, if address set IG2 is a range of addresses, the address of VM2 will be within this range. In this case, matching an address or finding an address associated with an address range should be understood as determining whether the address is within the range.
The virtual interfaces 112 may be configured based on information provided by users, including information on the address set and/or security domain.
Determining Virtual Interfaces 310
After receiving communication from the first virtual device 122 to the second virtual device 122 at block 304 in
Using the example in
As shown at block 310 in
Based on the first and second virtual interfaces 112, the firewall device 110 then determines first and second security domains associated with the first and second virtual interfaces 112 respectively. This is to implement a security policy 140 between the security domains to allow or block the communication.
As shown at block 320 in
Thus in this example, the security policy 140 allows inter-domain communication for packets or messages from VM1 which utilize a TCP connection on port X; see 150 in
The communication may be forwarded by the firewall device 110 or a different device (not illustrated for simplicity). This may involve determining an outgoing interface according to a forwarding table (e.g. MAC forwarding table etc.) to forward the packet to VM2. In the example in
Additional Examples
Another example is shown in
As in the previous example, when a packet is received from VM1 for VM2, the firewall device 110 determines their respective virtual interfaces as VI1 and VI2, and security domains as SZ1 and SZ2. However, in this case, since the TCP port used is ‘Port Y’, the corresponding security policy 140 is to block the packet as indicated by the ‘cross’ symbol 450 in
A further example is shown in
Note that since virtual interfaces VI2 and VI1 are already configured for VM2 and VM1 respectively, the configuration process does not have to be repeated. When a packet indicating ‘Port Z’ as its TCP port is received from VM2, the firewall device 110 performs the processes in
Based on the examples provided, it should be understood that virtual interfaces VI1 and VI2 may be used by the firewall device 110 as temporary or internal labels for incoming and outgoing interfaces. This allows the firewall device 110 to determine the corresponding security domains SZ1 and SZ2 and security policy 140. The virtual interfaces VI1 and VI2 are not used during packet forwarding. In
Although not illustrated in the figures, different virtual devices 122 may share the same virtual interface 112. For example in
Firewall Device 110
The processor 610 is to perform processes or operations described with reference to the figures, including:
In another example, the machine-readable instructions 624 may cause the processor 610 to implement one or more modules, such as an interface module 702, security module 704 and forwarding module 706 in
Other operations, processes and/or procedures discussed with reference to
The methods, processes, functional units and modules described herein may be implemented by hardware (including hardware logic circuitry), software or firmware or a combination thereof. The term ‘processor’ is to be interpreted broadly to include a processing unit, ASIC, logic unit, or programmable gate array etc. The processes, methods and functional units may all be performed by the one or more processors 710; reference in this disclosure or the claims to a ‘processor’ should thus be interpreted to mean ‘one or more processors’.
Although one network interface device 640 is shown in
Further, the processes, methods and functional units described in this disclosure may be implemented in the form of a computer software product. The computer software product is stored in a storage medium and comprises a plurality of machine-readable instructions for making a processor to implement the methods recited in the examples of the present disclosure.
The figures are only illustrations of an example, wherein the modules, units or procedure shown in the figures are not necessarily essential for implementing the present disclosure. Those skilled in the art will understand that the units in the device in the example can be arranged in the device in the examples as described, or can be alternatively located in one or more devices different from that in the examples. The units in the examples described can be combined into one module or further divided into a plurality of sub-units.
Although the flowcharts described show a specific order of execution, the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be changed relative to the order shown. Also, two or more blocks shown in succession may be executed concurrently or with partial concurrence. All such variations are within the scope of the present disclosure.
As used in the present disclosure, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless expressly stated otherwise. It should be further understood that the terms “comprises” and/or “comprising” when used in this specification are taken to specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used in the present disclosure, the term “and/or” includes any and all combinations of one or more of the associated listed items.
It should also be understood that although the terms ‘first’, ‘second’ etc. may have been used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, “first virtual interface” could be termed “second virtual interface”, and, similarly, “second virtual interface” could be termed “first virtual interface”, without departing from the scope of the present disclosure. In this example, the “first virtual interface” and “second virtual interface” are not the same interfaces.
It will be appreciated that numerous variations and/or modifications may be made to the processes, methods and functional units as shown in the examples without departing from the scope of the disclosure as broadly described. The examples are, therefore, to be considered in all respects as illustrative and not restrictive.
Number | Date | Country | Kind |
---|---|---|---|
2012 1 0226717 | Jun 2012 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2013/073303 | 3/28/2013 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2014/000483 | 1/3/2014 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7333482 | Johansson et al. | Feb 2008 | B2 |
7516475 | Chen et al. | Apr 2009 | B1 |
8166474 | Delco et al. | Apr 2012 | B1 |
8190755 | Satish | May 2012 | B1 |
8213336 | Smith et al. | Jul 2012 | B2 |
8274912 | Wray et al. | Sep 2012 | B2 |
20060005185 | Nguyen | Jan 2006 | A1 |
20090031222 | Nakamura et al. | Jan 2009 | A1 |
20090249438 | Litvin et al. | Oct 2009 | A1 |
20120163388 | Goel et al. | Jun 2012 | A1 |
20130019277 | Chang | Jan 2013 | A1 |
Number | Date | Country |
---|---|---|
1697396 | Nov 2005 | CN |
101800730 | Aug 2010 | CN |
102244622 | Nov 2011 | CN |
102307246 | Jan 2012 | CN |
102710669 | Oct 2012 | CN |
WO2012035067 | Mar 2012 | WO |
Entry |
---|
“Cisco Data Center Services Node Architecture”, Cisco Systems, Inc. 2010. |
“It's Time to Virtualize the Network”, Nicira, 2012. |
International Search Report and Written Opinion dated Jul. 11, 2013 issued on PCT Patent Application No. PCT/CN2013/073303 dated Mar. 28, 2013, The State Intellectual Property Office the P.R. China. |
Metzler, Jim, “The Challenges of Managing Virtualized Server Environments”, Nov. 2009. |
CN First Office Action dated May 18, 2015, CN Patent Application No. 201210226717.9 dated Jun. 29, 2012, State Intellectual Property Office of the P.R. China. |
Extended European Search Report dated Dec. 2, 2015, EP Patent Application No. 13810155.5 dated Mar. 28, 2013, European Patent Office. |
Number | Date | Country | |
---|---|---|---|
20150074788 A1 | Mar 2015 | US |