December 11, 2012
This article was contributed by Marko Myllynen and Simo Sorce
It is well understood that centralized management of user identity
information offers numerous benefits for networks of almost any size, but
Linux has traditionally lacked an "out of the box" solution in this area.
This article will examine the FreeIPA system, which is meant to provide
that solution using well-established free software components.
A workable solution for the problem of central identity management (IdM)
necessarily consists of integrated components and interfaces to store
and manage authentication, identity, and policy information as well as
allowing delegation of various tasks to different stakeholders as
appropriate. And in today's cloudy atmosphere, a plain user identity and
authentication management solution would fall flat without addressing,
among other, the needs of secure computer-to-computer and
service-to-service communications.
While in the Windows world our cousins have long enjoyed a coherent
solution in the form of Active Directory
(AD)
to tackle these issues,
no such integrated, free solution has been available for Linux.
From a
technical perspective it has been possible to set up a centralized IdM
server on Linux by configuring multiple services and components
individually. However a comparison between the deployment of standards
like LDAP and Kerberos for IdM on Linux and Windows is illustrative:
both are ubiquitous in the Windows world while still far from the norm
in the Linux world.
If we reject the idea that this disparity is due to the
superior skills of Windows administrators compared to their Linux
counterparts, the most convincing explanation must be the lack of proper
tools on Linux. And quite often what is hard to deploy is hard to
manage; in other words, the real question is not whether something can be
done (it can) but whether it can be effectively and reliably maintained (it
depends).
Enter FreeIPA
FreeIPA (Free Identity, Policy, and Audit)
builds on
existing components and services to create a coherent and easy-to-deploy
identity management system.
Manually configuring services such as certificate management, DNS, LDAP
and Kerberos on a Linux server (which represent only a subset of FreeIPA
functionality) would be a significant task even for a skilled administrator,
especially considering that, in the case of IdM, securing and tuning the
services according to best practices is a necessity. And the follow-up
task of making all this work fault tolerant does not exactly sound like a
pleasure cruise
either. However, with FreeIPA all this can be achieved in a matter of
minutes by answering a few simple questions (such as domain name or
administrator passwords) asked by the ipa-server-install tool, which
will then configure, secure, and integrate all the needed IdM components
and services.
In addition to this server configuration capability,
FreeIPA provides a web UI and a unified command-line tool
which can be used to manage data and services. For FreeIPA clients, a
configuration tool, called ipa-client-install, is provided which
will enroll a Linux system into the IPA domain and enable services like
SSSD (although using traditional
client-side components to certain
extent is also possible) with the needed certificates and Kerberos keys
to enable secure client-to-server communications.
Features and use cases
FreeIPA does not try to reinvent the wheel when providing IdM features,
instead it adds integration and functionality between
production-hardened services like the MIT Kerberos, 389 LDAP Directory,
Certificate System, Apache, BIND DNS, NTPD, and certain Samba
components.
The use of Kerberos
for authentication and LDAP
for
account and information management should be unsurprising; these
standards are very widely established so it makes perfect sense to put
them at the heart of FreeIPA. While the standards themselves are in wide
use already, details often differ when deployment is done manually by
different administrators. This is where FreeIPA comes to the rescue by
providing predefined configurations, freeing up administrators
to concentrate on higher-level aspects of IdM and also providing
consistency across deployments. Together with SSSD, IPA also easily
allows using LDAP for host-based
authentication control (HBAC),
SSH host key management, and sudo
rules.
Using Kerberos authentication with services like Apache, CIFS file
shares, and SSH allows single sign-on (SSO) for users and provides
strong security in the form of mutual authentication.
On the IPA server side, the Dogtag
Certificate System is used to manage certificates,
including certificate issuance and revocation. On the client side,
certmonger can be used
track and
renew client certificates. With these two components as part of a
FreeIPA deployment, certificate management becomes a lot easier than
with running homemade scripts and manually transferring the certificate
files around, usually in haste after getting complaints that a
certificate is expired and blocking a production system. This should
also make users, at least in an ideal world, less likely to blindly
ignore certificate related warnings when they become a very rare
occurrence. With certificates and Kerberos
principals for servers and
services in place, FreeIPA enables reliable service-to-service and
computer-to-computer communications.
DNS integration can be
used as an example of how administrators are provided with flexibility
when deploying FreeIPA. BIND,
configured with the bind-dyndb-ldap plugin, can, optionally, be set up as
the domain DNS during deployment, but whether it makes sense to use it
for controlling a delegated DNS domain or take control of the entire DNS
infrastructure depends on the environment. The FreeIPA managed DNS setup
automatically provides SRV records for autodiscovery and IPA clients
canalso be configured to update their current IP addresses using
GSS-TSIG secured DNS Updates.
In addition to integrating components on a FreeIPA server, with the
recently released FreeIPA version 3 it is now also possible to integrate
FreeIPA itself with an existing Active Directory-based IdM
infrastructure by using the new IPA-AD trust
feature. This means that once a
trust between FreeIPA and AD domains has been established by
administrators, users from the trusted AD domain are allowed SSO- and
password-based access to services in the FreeIPA domain. And this of
course works the other way around: FreeIPA users are able to access
services in the Windows domain with their Kerberos credentials obtained
from the FreeIPA domain. At this point the platform of any given service
becomes irrelevant for users as any service is seamlessly accessible,
lowering the barriers of Linux and Windows integration considerably.
Another notable benefit is that administrators will be able to enroll
their Linux systems into their FreeIPA domain instead of joining them
directly to Microsoft AD — something that is known to cause slight
organizational challenges every now and then. Naturally, though,
operating system specific characteristics provided by FreeIPA and AD,
such as SELinux
policies
and Windows group policies (GPOs), are only applicable to the respective
client systems.
Using FreeIPA
After the initial installation, it is possible to use both the web UI and
command-line interface for administration. An experienced administrator
might prefer using the command-line approach but the browser-based web
UI makes delegating certain tasks — such as user and group creation and
management — to less seasoned operators feasible. Both interfaces utilize
the same internal framework so, apart from a few seldom-used tasks
provided only by the command-line interface, both interfaces can be used
to achieve the same results.
Depending on a single server for IdM in an entire organization would of
course be asking for serious trouble. Although the offline caching
features provided by SSSD mitigate this risk, the
ipa-replica-install command can be used to easily setup IdM
server replicas as appropriate in a given environment. Replication
topology can also be later adjusted to allow for optimized
configurations when multiple geographical locations are involved.
Although the full benefits of FreeIPA are available only when using SSSD on
clients, tools are available to make migration from existing solutions
like NIS
easier. A plugin that will serve data over the NIS protocol from the
LDAP database is available, and also a compatibility plugin that
provides the same LDAP data using the older RFC2307 schema is available
for those older LDAP clients that can't use RFC2307bis
extensions. The
same plugin also provides netgroup maps built from the internal
grouping model available in FreeIPA. So the rather typical use case of
NIS to manage users, netgroups, and automounter maps can be migrated to
FreeIPA-controlled domains on a system-by-system basis as feasible.
Conclusions and Future
FreeIPA offers an integrated solution built on proven components for
centralized identity management. It provides a wide range of features
and also allows for Windows domain integration in mixed environments.
The approach taken by FreeIPA — integrating existing, proven components
and greatly facilitating setup and management — makes FreeIPA an
appealing IdM solution for small and larger on-site and cloud-based
environments alike. The full server and client packaging is already
available for distributions like Fedora and included in RHEL 6. Client
packages are available in varying states of maturity for Ubuntu, Debian,
and Arch Linux, with the server side expected to follow a bit later.
What the future holds for FreeIPA is, of course, open to user needs and
community feedback. The 'A' part (audit) of IPA is currently not being
actively worked on but it might be another case of integrating a proven
component into FreeIPA. Other notable areas of future work include, for
example, DHCP integration and support for two-factor authentication with
one-time passwords, smart cards, and user certificates.
Compared to the manual configuration approach of a large number of
individual components FreeIPA already offers many benefits for
administrators and users. As the scale of computing environments
keeps growing, the need for a centralized IdM solution is getting more
and more important and FreeIPA is being actively developed to allow
Linux administrators to scale with their ever-increasing
responsibilities.
Comments (13 posted)
Brief items
I’ve learned that there is a “website intelligence” network that
tracks form submissions across their customer network. So, if a
visitors fills out a form on Site A with their name and email, Site
B knows their name and email too as soon as they land on the site.
—
Darren
Nix
Crucially, vulnerability information has a higher market value if
it is withheld from the maker of the vulnerable product. If the
maker finds out, they might close the hole and render the
information worthless. So the market in vulnerabilities rewards
researchers for making sure that the problems they discover are not
fixed–exactly the opposite of the traditional view in the field.
Policymakers should be taking a serious look at this market and
thinking about its implications. Do we want to foster an atmosphere
where researchers turn away from disclosure, and vulnerability
information is withheld from those who can fix problems? Do we want
to increase incentives for finding vulnerabilities that won’t be
fixed? Do we think we can keep this market from connecting bad guys
with the information they want to exploit?
—
Ed Felten
My whole life is on Google. My money, my history, my photos, my
memories, my books, my identity, my relationships. Even a simple
movement or administrative access requires my Google account.
And, starting tonight, trying to connect bring me a message: "Your
account has been disabled."
—
Lionel Dricot
Comments (20 posted)
NCSU Professor Xuxian Jiang has posted
an assessment of
the application verification service featured in the Android 4.2
release. "
However, based on our evaluation results, we feel this
service is still nascent and there exists room for improvement.
Specifically, our study indicates that the app verification service mainly
uses an app's SHA1 value and the package name to determine whether it is
dangerous or potentially dangerous. This mechanism is fragile and can be
easily bypassed. It is already known that attackers can change with ease
the checksums of existing malware (e.g., by repackaging or mutating
it)."
Comments (none posted)
New vulnerabilities
bind9: denial of service
| Package(s): | bind9 |
CVE #(s): | CVE-2012-5688
|
| Created: | December 6, 2012 |
Updated: | December 31, 2012 |
| Description: |
From the Ubuntu advisory:
It was discovered that Bind incorrectly handled certain crafted queries
when DNS64 was enabled. A remote attacker could use this flaw to cause Bind
to crash, resulting in a denial of service. |
| Alerts: |
|
Comments (none posted)
bogofilter: code execution
| Package(s): | bogofilter |
CVE #(s): | CVE-2012-5468
|
| Created: | December 12, 2012 |
Updated: | December 21, 2012 |
| Description: |
From the Debian advisory:
A heap-based buffer overflow was discovered in bogofilter, a software
package for classifying mail messages as spam or non-spam. Crafted
mail messages with invalid base64 data could lead to heap corruption
and, potentially, arbitrary code execution. |
| Alerts: |
|
Comments (none posted)
chromium: multiple vulnerabilities
| Package(s): | Chromium |
CVE #(s): | CVE-2012-5130
CVE-2012-5131
CVE-2012-5132
CVE-2012-5133
CVE-2012-5134
CVE-2012-5135
CVE-2012-5136
CVE-2012-5137
CVE-2012-5138
|
| Created: | December 12, 2012 |
Updated: | December 12, 2012 |
| Description: |
From the openSUSE advisory:
Chromium was updated to 25.0.1343
* Security Fixes (bnc#791234 and bnc#792154):
- - CVE-2012-5131: Corrupt rendering in the Apple OSX
driver for Intel GPUs
- - CVE-2012-5133: Use-after-free in SVG filters.
- - CVE-2012-5130: Out-of-bounds read in Skia
- - CVE-2012-5132: Browser crash with chunked encoding
- - CVE-2012-5134: Buffer underflow in libxml.
- - CVE-2012-5135: Use-after-free with printing.
- - CVE-2012-5136: Bad cast in input element handling.
- - CVE-2012-5138: Incorrect file path handling
- - CVE-2012-5137: Use-after-free in media source handling
|
| Alerts: |
|
Comments (none posted)
cups: privilege escalation
| Package(s): | cups, cupsys |
CVE #(s): | CVE-2012-5519
|
| Created: | December 6, 2012 |
Updated: | March 11, 2013 |
| Description: |
From the Ubuntu advisory:
It was discovered that users in the lpadmin group could modify certain CUPS
configuration options to escalate privileges. An attacker could use this to
potentially gain root privileges. |
| Alerts: |
|
Comments (none posted)
gimp: code execution
| Package(s): | gimp |
CVE #(s): | CVE-2012-5576
|
| Created: | December 7, 2012 |
Updated: | February 21, 2013 |
| Description: |
From the Ubuntu advisory:
It was discovered that GIMP incorrectly handled malformed XWD files. If a
user were tricked into opening a specially crafted XWD file, an attacker
could cause GIMP to crash, or possibly execute arbitrary code with the
user's privileges.
|
| Alerts: |
|
Comments (none posted)
gnome-system-log: privilege escalation
| Package(s): | gnome-system-log |
CVE #(s): | CVE-2012-5535
|
| Created: | December 10, 2012 |
Updated: | December 12, 2012 |
| Description: |
From the Red Hat bugzilla:
gnome-system-log-3.6.0-1.fc18 is set up so that
$ gnome-system-log
executes "logview" as root through pkexec, only asking for the invoking user's password (because the org.gnome.logview.config.date.pkexec.run (sic) action has default policy auth_self_keep).
Running an X11 application as root in a session of a completely unprivileged user is risky enough in itself; however logview also allows (via the "wheel" button/Open) opening any file on the system, including /etc/shadow. This is at least a confidentiality violation; reading various authentication cookies or ssh private keys might even allow this to be amplified into a privilege escalation. |
| Alerts: |
|
Comments (none posted)
horde4-imp: cross-site scripting
| Package(s): | horde4-imp |
CVE #(s): | CVE-2012-5565
|
| Created: | December 7, 2012 |
Updated: | December 12, 2012 |
| Description: |
From the openSUSE advisory:
This version update to version 5.0.24 addresses
CVE-2012-5565 (bnc#791179) to fix XSS vulnerabilities on
the compose page (traditional view), the contacts popup
window, and with certain IMAP mailbox names. |
| Alerts: |
|
Comments (none posted)
horde4-kronolith: cross-site scripting
| Package(s): | horde4-kronolith |
CVE #(s): | CVE-2012-5566
CVE-2012-5567
|
| Created: | December 7, 2012 |
Updated: | January 23, 2013 |
| Description: |
From the openSUSE advisory:
This version update to version 3.0.18 addresses bnc#791184:
Two sets (3.0.17 and 3.0.18) of XSS flaws |
| Alerts: |
|
Comments (none posted)
kernel: firewall bypass
| Package(s): | kernel |
CVE #(s): | CVE-2012-4444
|
| Created: | December 11, 2012 |
Updated: | December 19, 2012 |
| Description: |
From the Ubuntu advisory:
Zhang Zuotao discovered a bug in the Linux kernel's handling of overlapping
fragments in ipv6. A remote attacker could exploit this flaw to bypass
firewalls and initial new network connections that should have been blocked
by the firewall. |
| Alerts: |
|
Comments (none posted)
libtiff: code execution
| Package(s): | tiff |
CVE #(s): | CVE-2012-5581
|
| Created: | December 6, 2012 |
Updated: | December 31, 2012 |
| Description: |
From the Ubuntu advisory:
It was discovered that LibTIFF incorrectly handled certain malformed
images using the DOTRANGE tag. If a user or automated system were
tricked into opening a specially crafted TIFF image, a remote attacker
could crash the application, leading to a denial of service, or possibly
execute arbitrary code with user privileges. |
| Alerts: |
|
Comments (none posted)
mc: command execution
| Package(s): | mc |
CVE #(s): | CVE-2012-4463
|
| Created: | December 7, 2012 |
Updated: | December 12, 2012 |
| Description: |
From the CVE entry:
Midnight Commander (mc) 4.8.5 does not properly handle the (1) MC_EXT_SELECTED or (2) MC_EXT_ONLYTAGGED environment variables when multiple files are selected, which allows user-assisted remote attackers to execute arbitrary commands via a crafted file name.
|
| Alerts: |
|
Comments (none posted)
openshift-console: code execution
| Package(s): | openshift-console |
CVE #(s): | CVE-2012-5622
|
| Created: | December 11, 2012 |
Updated: | December 12, 2012 |
| Description: |
From the Red Hat advisory:
It was found that the OpenShift Management Console did not protect against
Cross-Site Request Forgery (CSRF) attacks. If a remote attacker could trick
a user, who was logged into the OpenShift Management Console, into visiting
an attacker controlled web page, the attacker could make changes to
applications hosted within OpenShift Enterprise with the privileges of the
victim which may lead to arbitrary code execution in the OpenShift
Enterprise hosted applications. |
| Alerts: |
|
Comments (none posted)
openstack-keystone: file permissions flaw
| Package(s): | openstack-keystone |
CVE #(s): | CVE-2012-5483
|
| Created: | December 11, 2012 |
Updated: | December 12, 2012 |
| Description: |
From the Red Hat advisory:
When access to Amazon Elastic Compute Cloud (Amazon EC2) was configured,
a file permissions flaw in Keystone allowed a local attacker to view the
administrative access and secret values used for authenticating requests to
Amazon EC2 services. An attacker could use this flaw to access Amazon EC2
and enable, disable, and modify services and settings. |
| Alerts: |
|
Comments (none posted)
php-symfony2-HttpFoundation: multiple vulnerabilities
| Package(s): | php-symfony2-HttpFoundation |
CVE #(s): | |
| Created: | December 10, 2012 |
Updated: | December 12, 2012 |
| Description: |
Symfony v2.1.4 fixes multiple bugs, some of which could be security issues. See the symfony changelog for the details.
Version 2.0.19 also fixes lots of bugs. See this changelog for details. |
| Alerts: |
|
Comments (none posted)
php-symfony-symfony: information disclosure
| Package(s): | php-symfony-symfony |
CVE #(s): | CVE-2012-5574
|
| Created: | December 6, 2012 |
Updated: | December 12, 2012 |
| Description: |
From the Red Hat bugzilla:
An information disclosure flaw was found in the way Symfony, a open-source PHP web framework, sanitized certain HTTP POST request values. A remote attacker could use this flaw to obtain (unauthorized) read access to arbitrary system files, readable with the privileges of the web server process. |
| Alerts: |
|
Comments (none posted)
plexus-cipher: insufficiently random salt
| Package(s): | plexus-cipher |
CVE #(s): | |
| Created: | December 6, 2012 |
Updated: | December 12, 2012 |
| Description: |
getSalt() falls back to Random (seeded by the current time) instead of SecureRandom.
These bugs just decreases the randomness of the salt/IV, so they may not actually result in an exploitable security vulnerability. But that depends on how this class is used.
See the Red Hat bugzilla for details. |
| Alerts: |
|
Comments (none posted)
tor: denial of service
| Package(s): | tor |
CVE #(s): | CVE-2012-5573
|
| Created: | December 7, 2012 |
Updated: | March 25, 2013 |
| Description: |
From the openSUSE advisory:
Tear down the circuit when receiving an unexpected SENDME
cell. Prevents circumvention of the network's flow
control, exhaustion of network resources and possible
denial-of-service attacks on entry nodes |
| Alerts: |
|
Comments (none posted)
xen: multiple vulnerabilities
| Package(s): | Xen |
CVE #(s): | CVE-2012-5510
CVE-2012-5511
CVE-2012-5512
CVE-2012-5514
CVE-2012-5515
|
| Created: | December 6, 2012 |
Updated: | December 24, 2012 |
| Description: |
From the SUSE advisory:
- CVE-2012-5510: Grant table version switch list
corruption vulnerability (XSA-26)
- CVE-2012-5511: Several HVM operations do not validate
the range of their inputs (XSA-27)
- CVE-2012-5512: HVMOP_get_mem_access crash /
HVMOP_set_mem_access information leak (XSA-28)
- CVE-2012-5514: Missing unlock in
guest_physmap_mark_populate_on_demand() (XSA-30)
- CVE-2012-5515: Several memory hypercall operations
allow invalid extent order values (XSA-31)
|
| Alerts: |
|
Comments (none posted)
wireshark: multiple vulnerabilities
| Package(s): | wireshark |
CVE #(s): | CVE-2012-5592
CVE-2012-5593
CVE-2012-5594
CVE-2012-5595
CVE-2012-5596
CVE-2012-5597
CVE-2012-5598
CVE-2012-5599
CVE-2012-5600
CVE-2012-5601
CVE-2012-5602
|
| Created: | December 10, 2012 |
Updated: | January 23, 2013 |
| Description: |
From the openSUSE advisory:
Wireshark security update to 1.8.4:
https://www.wireshark.org/docs/relnotes/wireshark-1.8.4.html
http://seclists.org/oss-sec/2012/q4/378
CVE-2012-5592 Wireshark #1 pcap-ng hostname disclosure
(wnpa-sec-2012-30)
CVE-2012-5593 Wireshark #2 DoS (infinite loop) in the USB
dissector (wnpa-sec-2012-31)
CVE-2012-5594 Wireshark #3 DoS (infinite loop) in the sFlow
dissector (wnpa-sec-2012-32)
CVE-2012-5595 Wireshark #4 DoS (infinite loop) in the SCTP
dissector (wnpa-sec-2012-33)
CVE-2012-5596 Wireshark #5 DoS (infinite loop) in the EIGRP
dissector (wnpa-sec-2012-34)
CVE-2012-5597 Wireshark #6 DoS (crash) in the ISAKMP
dissector (wnpa-sec-2012-35)
CVE-2012-5598 Wireshark #7 DoS (infinite loop) in the iSCSI
dissector (wnpa-sec-2012-36)
CVE-2012-5599 Wireshark #8 DoS (infinite loop) in the WTP
dissector (wnpa-sec-2012-37)
CVE-2012-5600 Wireshark #9 DoS (infinite loop) in the RTCP
dissector (wnpa-sec-2012-38)
CVE-2012-5601 Wireshark #10 DoS (infinite loop) in the
3GPP2 A11 dissector (wnpa-sec-2012-39)
CVE-2012-5602 Wireshark #11 DoS (infinite loop) in the
ICMPv6 dissector (wnpa-sec-2012-40)
|
| Alerts: |
|
Comments (none posted)
Page editor: Michael Kerrisk
Next page: Kernel development>>