Paranoid Penguin - Security Features in SUSE 10.0
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 Section||Module Name||Description|
|Software||Online Update||Sets up manual and automatic software updates.|
|Software Management||For installing and removing packages.|
|Virtual Machine Installation (XEN)||Creates virtual machines for the Xen 3 virtual machine environment.|
|System||/etc/sysconfig Editor||Edits daemon startup parameters.|
|System Services (Runlevel)||Manages startup scripts.|
|Powertweak||Sets advanced kernel parameters, such as TCP timewait sockets.|
|Network Services||DNS Server||Configures BIND.|
|HTTP Server||Configures Apache.|
|LDAP Client||Sets up LDAP authentication and lookups.|
|Mail Transfer Agent||Configures Postfix or Sendmail.|
|Kerberos Client||Sets up Kerberos authentication, including Active Directory.|
|Remote Administration||Configures TightVNC.|
|Novell AppArmor||Various||For managing AppArmor mandatory access controls on specific binaries.|
|Security and Users||Firewall||For managing netfilter/iptables settings.|
|Local Security||Determines password complexity and length, password aging, file-permission schemes and various other system security parameters.|
|Group Management||Used to create, edit and delete group accounts.|
|User Management||Used 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.
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.
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.