LWN.net Logo

Security

Fedora introduces Network Zones

February 29, 2012

This article was contributed by Nathan Willis

Fedora is exploring a new security feature in the upcoming Fedora 17 release that is intended to make firewall configuration simpler for the average user. Based on features found in the new, D-Bus-enabled firewall tool, the Network Zones feature will automatically activate different sets of firewall rules based on the network location, and provide sensible defaults for different classes of network — from trusted connections at home to potentially dangerous open WiFi networks in public.

Background

At the heart of Network Zones is the notion that each network has an associated trust level — fully trusted, mostly trusted, mostly untrusted, or fully untrusted. To serve the needs of users that regularly move between network locations, the firewall should ratchet up the netfilter rules to a stricter level when in an untrusted location such as a restaurant or public park, but ratchet them back down when reconnecting to the home or office network. Exactly which rules are applied at each trust level is up to the user or administrator.

Existing firewall tools, however, fall short in two ways. First, they know only about network interfaces, not about the networks themselves (trust information in particular). Second, they require stopping and restarting the firewall in order to change any settings. Red Hat's Thomas Woerner developed a solution tackling both issues based on GNOME's NetworkManager, and a new firewall application named Firewalld.

NetworkManager, which was designed to keep track of WiFi networks and opportunistically switch between them when roaming, already implemented some of the required functionality. It maintains a history of networks visited, and allows users to associate preferences with each saved network connection. Adding a trust level to each network connection would allow NetworkManager to instruct the firewall to change to a different rule set.

Firewalld solves the restarting problem by running as a D-Bus enabled daemon, listening for state change commands, and emitting information on the current status of the firewall. NetworkManager also uses D-Bus, so it can simply send a message to Firewalld telling it to raise or lower specific firewall rules as the situation dictates. To keep the firewall state consistent, though, Firewalld must be the only application modifying the settings (thus requiring that other firewall management packages be disabled), and for security reasons, all rule change requests accepted by Firewalld must be authenticated with PolicyKit.

In order for Firewalld to expose a straightforward set of configuration options to users (and other applications) over D-Bus, the firewall rule set had to be refactored into a clean set of distinct chains that correspond to individual features and services. Thus, adding or removing a rule in one chain will not interfere with the others. Firewalld implements chains for feature sets like virtualization, masquerading (NAT), port forwarding, and open ports, plus predefined chains for individual services like Samba or FTP.

The Zones zone

The official Network Zones proposal on the Fedora wiki defines nine initial network trust levels: trusted (meaning fully trusted, with all incoming traffic permitted), home, work, and internal (all three of which are for mostly trusted networks), dmz, public, and external (which are mostly untrusted), and block and drop (which are both fully untrusted).

Firewalld provides an initial configuration for each zone in an XML file. By default, the mostly-trusted zones open only a select set of ports (SSH, mDNS, Samba, and Internet Printing Protocol (IPP) for the home and internal zones, and SSH and IPP for work). The mostly-untrusted zones are more restricted, with SSH being the only allowed protocol for public and dmz, but SSH allowed and IP Masquerading enabled for external — though it's not exactly clear what the benefit of the latter is. The block zone rejects all incoming connections, while the drop zone drops them silently.

Of course, the intent is for users or system administrators to customize each of the zones' configuration as desired, allowing some differentiation between the otherwise-identical offerings. There are GUI and command-line utilities (named firewall-config and firewall-cmd, respectively) for examining and altering the configuration options; however as of today not all of the Firewalld rules are supported in either tool.

There does not appear to be a DTD or XML Schema for the zone configuration or firewall rules yet, but the syntax is straightforward. Individual services are enabled with a <service name=servicename> element; the other available firewall options are enabled by adding an element specific to the feature, such as <masquerade enabled="True"/>.

Network Zone integration is available in the NetworkManager 0.9.4 release, which will be part of Fedora 17, allowing users to assign a trust level to each of their saved networks, as well as a default zone to apply to unknown network connections. A system tray applet will display the current firewall state in GNOME Shell. The project has discussed adding the same functionality to KDE's network manager as well.

Firewalld was first made available in Fedora 15, but with the completion of the Network Zones support, it is slated to become the default firewall configuration tool in Fedora 17 (scheduled for release in early May 2012). Network zone support is not the only benefit of the daemon-like firewall approach — D-Bus controls open the door for other dynamic features in the future, like triggering temporary firewall rules without manual intervention, and desktop notifications triggered by firewall events.

The Firewalld project is not resting on its laurels, however. The future plans include support for granting or limiting access to the configuration tools on a per-user basis, and more abstract firewall rules based on metadata — such as "allow external access to music sharing applications." Network Zones is of clear benefit to laptop users, who both expose their systems to the greatest risk while roaming, and have had the hardest time finding a balanced firewall policy. But the possibilities enabled by a dynamically controlled firewall extend further; only time will tell what roles it can fill that a static configuration hasn't.

Comments (12 posted)

Brief items

Security quotes of the week

7. We are right now looking at you through your webcam. Do you always move your lips like that when you read? We also recorded what you were doing last week and are sending the video to (you know who). If the prior statements are not true, it's because in addition to everything else, we reserve the right to lie to you, and you agree to believe us and hold us harmless for any and all such lies. Furthermore, if we are not recording everything you're doing through your webcam, it's either because we haven't figured out how, you're just not that interesting, or both.

8. We are serious about all of the above. So don't go trying to sue us later with some nonsense like "I thought that was all satire." All your privacy are belong to us. We mean it.

-- Parts of the Skipity privacy policy

The aim of our sponsorship is simple: we have a big learning opportunity when we receive full end-to-end exploits. Not only can we fix the bugs, but by studying the vulnerability and exploit techniques we can enhance our mitigations, automated testing, and sandboxing. This enables us to better protect our users.

While we’re proud of Chrome’s leading track record in past competitions, the fact is that not receiving exploits means that it’s harder to learn and improve. To maximize our chances of receiving exploits this year, we’ve upped the ante. We will directly sponsor up to $1 million worth of rewards [...]

-- Google ponies up for Chrome browser exploits

It doesn't take more than a few minutes of thought to see the utterly disastrous ramifications of the "right to be forgotten" approach, and the cascading damage to free speech that could easily spread malignantly across the global Internet as a result.

The crux of the matter is simple enough. Even if search engine results are selectively expunged on demand, the "upsetting" material in question will still likely exist on the Internet itself, still subject to being located by other means, including via sites that merely discuss related topics, situations, companies, or individuals.

-- Lauren Weinstein

Comments (5 posted)

"Unethical" HTML video copy protection proposal draws criticism from W3C reps (ars technica)

A proposal to add a DRM layer for web audio and video has been rather controversial on the W3C HTML mailing list, as reported by ars technica. The Encrypted Media Extensions proposal authored by Google, Microsoft, and Netflix would add an optional layer for protected media content, but Mozilla and others, including Google's Ian Hickson who is the WHATWG HTML specification editor, have spoken up against the proposal. "'I believe this proposal is unethical and that we should not pursue it,' he [Hickson] wrote in response to a message that Microsoft's Adrian Bateman posted on the mailing list about the draft. 'The proposal above does not provide robust content protection, so it would not address this use case even if it wasn't unethical.'"

Comments (90 posted)

Mozilla: announcing "Collusion"

The Mozilla Foundation has announced the availability of the Collusion add-on for Firefox. "Collusion is an experimental add-on for Firefox and allows you to see all the third parties that are tracking your movements across the Web. It will show, in real time, how that data creates a spider-web of interaction between companies and other trackers."

Comments (15 posted)

New vulnerabilities

asterisk: denial of service

Package(s):asterisk CVE #(s):CVE-2012-0885
Created:February 23, 2012 Updated:February 29, 2012
Description:

From the Gentoo advisory:

A vulnerability has been found in Asterisk's handling of certain encrypted streams where the res_srtp module has been loaded but video support has not been enabled.

A remote attacker could send a specially crafted SDP message to the Asterisk daemon, possibly resulting in a Denial of Service condition.

Alerts:
Gentoo 201202-06 2012-02-22

Comments (none posted)

csound: code execution

Package(s):csound CVE #(s):CVE-2012-0270
Created:February 28, 2012 Updated:March 14, 2012
Description: From the Secunia advisory:

Secunia Research has discovered two vulnerabilities in Csound, which can be exploited by malicious people to compromise a user's system.

1) A boundary error within the "getnum()" function (util/heti_main.c) can be exploited to cause a stack-based buffer overflow via a specially crafted hetro file.

2) A boundary error within the "getnum()" function (util/pv_import.c) can be exploited to cause a stack-based buffer overflow via a specially crafted PVOC file.

Successful exploitation allows execution of arbitrary code, but requires tricking a user into converting a malicious file.

Alerts:
openSUSE openSUSE-SU-2012:0315-1 2012-02-28
openSUSE openSUSE-SU-2012:0370-1 2012-03-14

Comments (none posted)

drupal6: multiple vulnerabilities

Package(s):drupal6 CVE #(s):
Created:February 27, 2012 Updated:February 29, 2012
Description: Multiple vulnerabilities were fixed in Drupal 6.23. Drupal 6.24 contains additional bug fixes.
Alerts:
Fedora FEDORA-2012-1306 2012-02-25
Fedora FEDORA-2012-1283 2012-02-25

Comments (none posted)

drupal7: multiple vulnerabilities

Package(s):drupal7 CVE #(s):
Created:February 27, 2012 Updated:February 29, 2012
Description: Drupal 7.11 fixes multiple vulnerabilities. Drupal 7.12 contains additional bug fixes.
Alerts:
Fedora FEDORA-2012-1268 2012-02-25
Fedora FEDORA-2012-1250 2012-02-25

Comments (none posted)

fex: fixes a regression in a previous update

Package(s):fex CVE #(s):CVE-2012-0869
Created:February 27, 2012 Updated:February 29, 2012
Description: From the Debian advisory:

It was discovered that the last security update for F*X, DSA-2414-1, introduced a regression. Updated packages are now available to address this problem.

Alerts:
Debian DSA-2414-2 2012-02-25

Comments (none posted)

glibc: format string protection mechanism bypass

Package(s):glibc CVE #(s):CVE-2012-0864
Created:February 27, 2012 Updated:March 22, 2012
Description: From the Red Hat bugzilla:

In the Phrack article "A Eulogy for Format Strings", a researcher using nickname "Captain Planet" reported an integer overflow flaw in the format string protection mechanism offered by FORTIFY_SOURCE. A remote attacker could provide a specially crafted executable, leading to FORTIFY_SOURCE format string protection mechanism bypass, when executed.

Alerts:
Fedora FEDORA-2012-2162 2012-02-25
Fedora FEDORA-2012-2144 2012-03-08
Ubuntu USN-1396-1 2012-03-09
Red Hat RHSA-2012:0393-01 2012-03-15
CentOS CESA-2012:0393 2012-03-15
Oracle ELSA-2012-0393 2012-03-15
Red Hat RHSA-2012:0397-01 2012-03-19
CentOS CESA-2012:0397 2012-03-20
Oracle ELSA-2012-0397 2012-03-20
Scientific Linux SL-glib-20120321 2012-03-21
Scientific Linux SL-glib-20120321 2012-03-21
Mandriva MDVSA-2013:162 2013-05-07

Comments (none posted)

kernel: denial of service

Package(s):kernel CVE #(s):CVE-2011-2518
Created:February 29, 2012 Updated:February 29, 2012
Description: The TOMOYO Linux security module does not properly handle mount() calls, allowing an unprivileged local process to oops the kernel.
Alerts:
Ubuntu USN-1380-1 2012-02-28
Ubuntu USN-1383-1 2012-03-06
Ubuntu USN-1386-1 2012-03-06

Comments (none posted)

kernel: denial of service

Package(s):kernel CVE #(s):CVE-2011-4097
Created:February 29, 2012 Updated:March 6, 2012
Description: The kernel's calculation of out-of-memory scores could result in the untimely demise of the wrong process. A local user could use this error to kill an unrelated process.
Alerts:
Ubuntu USN-1380-1 2012-02-28
Ubuntu USN-1384-1 2012-03-06
Ubuntu USN-1386-1 2012-03-06

Comments (none posted)

libvpx: denial of service

Package(s):libvpx CVE #(s):CVE-2012-0823
Created:February 27, 2012 Updated:February 29, 2012
Description: From the CVE entry:

VP8 Codec SDK (libvpx) before 1.0.0 "Duclair" allows remote attackers to cause a denial of service (application crash) via (1) unspecified "corrupt input" or (2) by "starting decoding from a P-frame," which triggers an out-of-bounds read, related to "the clamping of motion vectors in SPLITMV blocks".

Alerts:
Mandriva MDVSA-2012:023 2012-02-27
Mandriva MDVSA-2012:023-1 2012-02-28

Comments (none posted)

maradns: denial of service

Package(s):maradns CVE #(s):CVE-2012-0024
Created:February 23, 2012 Updated:February 29, 2012
Description:

From the Gentoo advisory:

MaraDNS does not properly randomize hash functions to protect against hash collision attacks.

A remote attacker could send many specially crafted DNS recursive queries, possibly resulting in a Denial of Service condition.

Alerts:
Gentoo 201202-03 2012-02-22

Comments (none posted)

notmuch: information disclosure

Package(s):notmuch CVE #(s):CVE-2011-1103
Created:February 23, 2012 Updated:March 19, 2012
Description:

From the Debian advisory:

It was discovered that Notmuch, an email indexer, did not sufficiently escape Emacs MML tags. When using the Emacs interface, a user could be tricked into replying to a maliciously formatted message which could lead to files from the local machine being attached to the outgoing message.

Alerts:
Debian DSA-2416-1 2012-02-23
Fedora FEDORA-2012-3312 2012-03-17
Fedora FEDORA-2012-3315 2012-03-17

Comments (none posted)

openjdk: sandbox bypass

Package(s):openjdk CVE #(s):CVE-2012-0507
Created:February 29, 2012 Updated:May 10, 2012
Description: The openjdk AtomicReferenceArray class does not check the type of the incoming array, leading to a JVM crash or sandbox bypass.
Alerts:
Debian DSA-2420-1 2012-02-28
Ubuntu USN-1373-2 2012-03-01
Red Hat RHSA-2012:0508-01 2012-04-23
Red Hat RHSA-2012:0514-01 2012-04-24
SUSE SUSE-SU-2012:0602-1 2012-05-09
SUSE SUSE-SU-2012:0603-1 2012-05-09

Comments (none posted)

postgresql: multiple vulnerabilities

Package(s):postgresql CVE #(s):CVE-2012-0866 CVE-2012-0867 CVE-2012-0868
Created:February 27, 2012 Updated:September 28, 2012
Description: From the Debian advisory:

CVE-2012-0866: It was discovered that the permissions of a function called by a trigger are not checked. This could result in privilege escalation.

CVE-2012-0867: It was discovered that only the first 32 characters of a host name are checked when validating host names through SSL certificates. This could result in spoofing the connection in limited circumstances.

CVE-2012-0868: It was discovered that pg_dump did not sanitise object names. This could result in arbitrary SQL command execution if a malformed dump file is opened.

See the PostgreSQL 9.1.3, 9.0.7, 8.4.11 and 8.3.18 update announcement for more information.

Alerts:
Debian DSA-2418-1 2012-02-27
Ubuntu USN-1378-1 2012-02-28
Mandriva MDVSA-2012:027 2012-02-29
Mandriva MDVSA-2012:026 2012-02-29
Fedora FEDORA-2012-2591 2012-03-08
Fedora FEDORA-2012-2589 2012-03-08
openSUSE openSUSE-SU-2012:0480-1 2012-04-11
Red Hat RHSA-2012:0677-01 2012-05-21
Red Hat RHSA-2012:0678-01 2012-05-21
CentOS CESA-2012:0677 2012-05-21
CentOS CESA-2012:0678 2012-05-21
CentOS CESA-2012:0678 2012-05-21
Scientific Linux SL-post-20120522 2012-05-22
Scientific Linux SL-post-20120522 2012-05-22
Oracle ELSA-2012-0678 2012-05-22
Oracle ELSA-2012-0678 2012-05-22
Oracle ELSA-2012-0677 2012-05-22
Oracle ELSA-2012-1037 2012-06-26
Oracle ELSA-2012-1037 2012-06-30
Oracle ELSA-2012-1263 2012-09-14
Gentoo 201209-24 2012-09-28

Comments (none posted)

puppet: two privilege escalations

Package(s):puppet CVE #(s):CVE-2012-1053 CVE-2012-1054
Created:February 23, 2012 Updated:July 4, 2012
Description:

From the Ubuntu advisory:

It was discovered that Puppet did not drop privileges when executing commands as different users. If an attacker had control of the execution manifests or the executed command, this could be used to execute code with elevated group permissions (typically root). (CVE-2012-1053)

It was discovered that Puppet unsafely opened files when the k5login type is used to manage files. A local attacker could exploit this to overwrite arbitrary files and escalate privileges. (CVE-2012-1054)

Alerts:
Ubuntu USN-1372-1 2012-02-23
Debian DSA-2419-1 2012-02-27
Gentoo 201203-03 2012-03-05
SUSE SUSE-SU-2012:0325-1 2012-03-06
Fedora FEDORA-2012-2415 2012-03-10
Fedora FEDORA-2012-2367 2012-03-10
openSUSE openSUSE-SU-2012:0835-1 2012-07-04

Comments (none posted)

python-httplib2: information disclosure

Package(s):python-httplib2 CVE #(s):
Created:February 27, 2012 Updated:February 29, 2012
Description: From the Ubuntu advisory:

The httplib2 Python library earlier than version 0.7.0 did not perform any server certificate validation when using HTTPS connections. If a remote attacker were able to perform a man-in-the-middle attack, this flaw could be exploited to alter or compromise confidential information in applications that used the httplib2 library.

Alerts:
Ubuntu USN-1375-1 2012-02-27

Comments (none posted)

samba: remote code execution

Package(s):samba CVE #(s):CVE-2012-0870
Created:February 24, 2012 Updated:March 12, 2012
Description: From the Red Hat advisory:

An input validation flaw was found in the way Samba handled Any Batched (AndX) requests. A remote, unauthenticated attacker could send a specially-crafted SMB packet to the Samba server, possibly resulting in arbitrary code execution with the privileges of the Samba server (root).

Alerts:
Red Hat RHSA-2012:0332-01 2012-02-23
CentOS CESA-2012:0332 2012-02-24
Scientific Linux SL-samb-20120224 2012-02-24
Ubuntu USN-1374-1 2012-02-24
Scientific Linux SL-samb-20120228 2012-02-28
Mandriva MDVSA-2012:025 2012-02-28
Oracle ELSA-2012-0332 2012-02-29
SUSE SUSE-SU-2012:0337-1 2012-03-08
SUSE SUSE-SU-2012:0338-1 2012-03-08
SUSE SUSE-SU-2012:0348-1 2012-03-09
Oracle ELSA-2012-0332 2012-03-09
SUSE SUSE-SU-2012:0502-1 2012-04-14
openSUSE openSUSE-SU-2012:0507-1 2012-04-16
SUSE SUSE-SU-2012:0515-1 2012-04-17
Gentoo 201206-22 2012-06-24

Comments (none posted)

systemd: arbitrary file creation

Package(s):systemd CVE #(s):CVE-2012-0871
Created:February 29, 2012 Updated:March 12, 2012
Description: The systemd-logind process creates files under /run/user in an insecure manner, allowing a local attacker to create symbolic links in arbitrary locations.
Alerts:
SUSE SUSE-SA:2012:001 2012-02-29
Fedora FEDORA-2012-2557 2012-03-11

Comments (none posted)

systemtap: denial of service

Package(s):systemtap CVE #(s):CVE-2012-0875
Created:February 27, 2012 Updated:March 18, 2013
Description: From the Red Hat bugzilla:

A flaw was discovered in how systemtap handled DWARF expressions when unwinding the stack. This could result in an invalid pointer read, leading to reading kernel memory, or a kernel panic (and if the kernel reboot on panic flag was set (panic_on_oops), it would cause the system to reboot).

In order to trigger this flaw, an admin would have to enable unprivileged mode (giving users membership in the 'stapusr' group and configuring the local machine with 'signer,all-users' stap-server trust). If an admin has enabled unprivileged mode, a user with such access could use this to crash the local machine.

Alerts:
Fedora FEDORA-2012-2213 2012-02-25
Fedora FEDORA-2012-2218 2012-02-25
Red Hat RHSA-2012:0376-01 2012-03-08
CentOS CESA-2012:0376 2012-03-08
CentOS CESA-2012:0376 2012-03-09
Oracle ELSA-2012-0376 2012-03-09
Oracle ELSA-2012-0376 2012-03-09
Scientific Linux SL-syst-20120321 2012-03-21
openSUSE openSUSE-SU-2013:0475-1 2013-03-18

Comments (none posted)

webcalendar: cross-site scripting

Package(s):WebCalendar CVE #(s):CVE-2012-0846
Created:February 28, 2012 Updated:February 29, 2012
Description: From the Red Hat bugzilla:

It was reported that WebCalendar suffers from a stored XSS flaw in the location variable.

Alerts:
Fedora FEDORA-2012-1934 2012-02-28

Comments (none posted)

Page editor: Jake Edge
Next page: Kernel development>>

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds