Paranoid Penguin - Security Features in SUSE 10.0

SUSE is a security-friendly distribution with a plethora of security-related tools.
Security-Related YaST Modules

After the first time you boot your newly minted SUSE Linux system, you immediately should log in as your unprivileged user and invoke YaST. If you do this from within KDE or GNOME, you'll be prompted for the root password automatically, but in a text-console session, you need to use su -c to invoke /sbin/yast.

As I mentioned earlier, YaST has a lot of security functionality built in. YaST modules particularly relevant to system security are listed in Table 3.

Table 3. Security-Related YaST Modules

YaST SectionModule NameDescription
SoftwareOnline UpdateSets up manual and automatic software updates.
 Software ManagementFor installing and removing packages.
 Virtual Machine Installation (XEN)Creates virtual machines for the Xen 3 virtual machine environment.
System/etc/sysconfig EditorEdits daemon startup parameters.
 System Services (Runlevel)Manages startup scripts.
 PowertweakSets advanced kernel parameters, such as TCP timewait sockets.
Network ServicesDNS ServerConfigures BIND.
 HTTP ServerConfigures Apache.
 LDAP ClientSets up LDAP authentication and lookups.
 Mail Transfer AgentConfigures Postfix or Sendmail.
 Kerberos ClientSets up Kerberos authentication, including Active Directory.
 Remote AdministrationConfigures TightVNC.
Novell AppArmorVariousFor managing AppArmor mandatory access controls on specific binaries.
Security and UsersFirewallFor managing netfilter/iptables settings.
 Local SecurityDetermines password complexity and length, password aging, file-permission schemes and various other system security parameters.
 Group ManagementUsed to create, edit and delete group accounts.
 User ManagementUsed to create, edit and delete user accounts (actually the same module as Group Management, which is dual-purpose).

Of these YaST modules, Online Update is one of the most important. You immediately should use it to configure automatic patch downloads and, unless your system is under a change-control process, automatic patch installation as well. YaST Online Update was one of the first automatic patch utilities offered in a major Linux distribution, and it's still one of the best. Use it to take advantage of SUSE's excellent record of providing prompt, well-tested security patches.

The Firewall module (Figure 2) is also extremely useful, especially if you're uncomfortable creating and managing your own firewall scripts (I acknowledge that people like me, who find this fascinating and fun, are rare). Similarly, Group/User Management eliminates the need for you ever to edit /etc/group or /etc/passwd manually.

Figure 2. YaST's Firewall Module

The Virtual Machine Installation module and Novell AppArmor section are also especially noteworthy. So much so, in fact, that I should spend some time talking about SUSE's virtual machine and mandatory access control systems, respectively, in a little more depth.

Virtual Machines in SUSE Linux

You may recall my article “The Future of Linux Security” [LJ, August 2005], in which I touted virtual machine environments and hypervisors (aka security monitors) as being an important new direction in system security. If you don't recall this, the gist of it is that it's because MAC schemes such as SELinux are viewed by many people as too complex. A simpler approach instead is to run each major application or service on its own virtual machine. That way, if for example a virtual machine in which Sendmail is running gets compromised, a virtual machine running Apache2 on the same physical hardware won't be in immediate or direct danger.

Virtual machines, therefore, provide a powerful and easy-to-understand means of isolating complex applications from each other. And, SUSE Linux 10.0 includes no fewer than three different virtual machine technologies.

The Xen 3 environment, which originated at Cambridge University, is provided by SUSE as a “technology preview”. To the best of my determination, this simply means that because Xen 3 is an immature and potentially unstable application, SUSE is simply trying to lower people's expectations of its usability—the version of Xen 3 in SUSE Linux 10.0 isn't a special preview or evaluation version or anything like that. Xen 3 supports Linux, FreeBSD, NetBSD and Plan9 “guest” (virtual) systems.

Alternatively, the FAUmachine virtualization environment includes RPM packages that enable support for SUSE 9, Debian 3.0, OpenBSD 3.5/3.6 and Red Hat 9 guest systems. One advantage of FAUmachine over Xen 3 is that in FAUmachine, the guest systems' kernels run on the host system with nonroot (unprivileged-user) permissions.

User Mode Linux is another virtualization environment offered in SUSE Linux 10.0 via the uml-utilities package. Like FAUmachine, its guest kernels run without root privileges.