Enterprise Networking Planet   Earthweb  
Images Events Jobs Premium Services Media Kit Network Map E-mail Offers Vendor Solutions Webcasts
   subjects:
EnterpriseNetworkingPlanet Webcasts:
Blades Burst Onto Data Center Scene

Will Virtualization Pay Off for Your Enterprise?

Benefit Now from Improved Data Center Management

more Webcasts...


Network Security & Privacy Blog
Reprise: Leopard vs. Vista on Security

Zeroshell and My Interop Security Hangover

Ripping Passwords With Your Friend John

More Open Networks Today



Search EarthWeb Network

internet.commerce
Be a Commerce Partner
Memory
Logo Design
Holiday Gift Ideas
Domain registration
Online Shopping
Online Education
Home Improvement
Career Education
Promotional Golf
PDA Phones & Cases
Web Hosting Directory
Prepaid Phone Card
Disney World Tickets
Web Design

Networking & Communications : Network Software: Ubuntu Server: Good Concept, Flawed Execution

Related Articles
Ubuntu Server: Attractive Choice, Paltry Documentation
LinuxBIOS Brings Clones One Step Closer to Freedom
Open Source Security: 10 Commercial Vendors
Ubuntu Server: Considering Kernel Configuration
Glossary
directory service
honeynet
intranet
intrusion detection system
network appliance
NFS
port scanning
protocol
security
VPN
Search for more networking terms ...
 
FREE Tech Newsletters

Visit ServerWatch for summaries of server and development tool updates, the latest on server news and trends, and more.

Ubuntu Server: Good Concept, Flawed Execution
November 19, 2007
By Carla Schroder

Carla Schroder
We didn't quite finish up our server kernel vs. desktop kernel comparison, so today we'll wrap that up, plus we'll dig into the included services in Ubuntu Server, amaze at a couple of interesting blunders, and decide what is this thing good for, anyway, fueling the tireless Canonical hype machine, or something actually useful?

CPU Families

The server kernel uses CONFIG_M686=y, and the desktop kernel gets CONFIG_M586=y. This means that the server kernel is optimized for Pentium Pro instruction sets, and the desktop kernel for the entire 586 and 686 CPU families. This isn't hugely significant, as even a generic 486 kernel will run on modern computers. If you're into compiling your own kernels, the one change you can make that might actually improve performance is to choose the CPU option that matches your own CPU. That way you'll get full support for the instruction set for your CPU.

Leaky IPC Namespaces

Before virtualization became all the rage, there was a single set of Inter-Process Communications (IPC) objects (shared memory segments, message queues, and semaphores) that the kernel used for everything. But virtual environments need to keep their own IPCs confined inside their own containers; can't have them leaking out all over the place. So IPC namespaces, or virtualized IPC, were invented. This is enabled in the server kernel (CONFIG_IPC_NS=y, CONFIG_UTS_NS=y) and not in the desktop kernel. Does this means virtual environments are leaky and insecure on the desktop kernel? It seems so; perhaps some smart person will tell us for certain.

The final difference of note is the server kernel supports multiple IPv6 routing tables, which the desktop kernel does not.

Included Packages, Sort Of

The Ubuntu Server Edition page says:

"In around 15 minutes...you can have a LAMP (Linux, Apache, MySQL and PHP) server up and ready to go. This feature, exclusive to Ubuntu Server Edition, is available at the time of installation."

Well no, it's not exclusive. There are many prefab Linux LAMP stacks, with XAMPP for Linux being one of the most comprehensive and versatile. That same page also emphasizes the excellence of the Linux Terminal Server, which is a wonderful thin and diskless-client server. But it's not included with Ubuntu Server, so I'm wondering why it gets so much attention.

I like to see in the release notes, or somewhere close by, a complete package list. I couldn't find one anywhere, nor even a detailed description of what comes in Ubuntu Server. So I installed it on a test system and installed every package group. Then I created a complete package list by running dpkg -l. Ubuntu Server weighs in at nice lean 355 packages, and takes up 899 MB when you select everything.

And thus we learn that Ubuntu Server includes a LAMP stack made from a 2.6.22-14 kernel, Apache 2.2.4, MySQL 5.0, PostgreSQL 8.2, PHP 5.2, Perl 5.8, and Python 2.5. So you get a couple of options for your LAMP: MySQL or PostgreSQL for your database, and PHP, Perl, or Python for scripting.

Inexplicable hype aside, you also get Samba for cross-platform network authentication, and file and printer sharing. You even get ntfs-3g for read/write access to Windows NTFS filesystems. There are Postfix and Dovecot for a nice SMTP/POP3/IMAP mail server, CUPS for printing, BIND for name services, and AppArmor for enhanced security. There is a reasonable set of networking packages that support Ethernet, dialup and wireless, and basic set of common networking utilities. It also supports a serial console, but since Ubuntu uses the Upstart init system rather than the old-fashioned Sys-V init, it's configured in /etc/event.d/ ttyS* instead of /etc/inittab.

Installation

The installer itself requires that you stick around to answer questions; it's not like Ubuntu Desktop, which asks everything at the beginning and then you can go away. But it's not too bad, as it installs fairly quickly.

If you install MySQL it will ask if you want to change the default MySQL password. It doesn't tell you what the default password is, and you only get one chance to enter a new password, so you better get it right the first time.

The installer looks for a DHCP server and does not give you the chance to set a static IP address. It would be nice to have the option to set a static address during installation instead of having to remember to do it later.

Missing Sudo and Root Users

The installer prompted me to create only an unprivileged user, which is standard for Ubuntu. Ordinarily this would be a sudo user with full administrative privileges. But that didn't happen — my user was an ordinary unprivileged user who did not exist in /etc/sudoers. So there I was with a server that I couldn't do anything with. Until I booted with a rescue CD and fixed it by resetting the root password, that is.

You always need a "real" root user anyway; some commands don't work with sudo, and the ext3 file system reserves 5% exclusively for the root user, so if a user process goes nuts and fills up the filesystem, the root user can still save the day.

Security

Just like Debian, Ubuntu starts services immediately after installation. (Run netstat -untap as root to see what ports are open). So out of the box your server is open for business. I would rather that none of them start until I've had a chance to configure some access controls, and am darned good and ready to start them. So be extra careful until you have things configured the way you want.

AppArmor is supposed to be the "real world" alternative to SELinux. Unfortunately there is nothing included that explains the default AppArmor configuration, or how to modify it.

Of course you get iptables for packet filtering, just like in any Linux.

Ubuntu pulls packages from Debian Testing, Unstable, and even Experimental. These are not supported by the Debian security team. In addition, the default repositories (/etc/apt/source.list) include Universe and Multiverse, which include these scary messages:

"## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team..software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team....."

Summary

This turned into a long ole review, so let's sum up. First the good stuff: It's an easy, one-CD installation. It's a lean, barebones package selection with no lard, which I like because it's easier to add things than to wade through and figure out what needs to be deleted.

Some users might have an expectation that Ubuntu Server will be all shiny and easy like Ubuntu Desktop. It's not—you need to know what you're doing, because it doesn't do any hand-holding. It's a honest-to-gosh proper server with no X windows or GUI tools cluttering it up. You can have a GUI via remote administration; for example, Webmin is a high-quality and popular remote GUI adminstration tool for servers.

The bad stuff: Poor documentation on the Ubuntu-specific customizations; it's too hard to find out what's in it before downloading it. Bleeding-edge package versions are scary for servers, and I question the effectiveness of putting something like AppArmor on a system that is already security-questionable. LAMP security is famously difficult even with conservative package choices and careful attention to security patching. Quality control seems in need of some quality control.

Regarding expectations, I expect that with the funding, resources, and commercial aspirations behind Ubuntu, it should be a marvel of quality, security, and stability, and with the awesomest documentation of all. Debian succeeds at all of these with hardly any funding. Debian and Fedora both show how release notes should be done.

The concept behind Ubuntu Server is wonderful— a lean, carefully-selected batch of packages that gets you up and running quickly, and that you can easily add to as you need. I can see using Ubuntu Server as a LAN server, and as a training server, but I think opening it up to the Internet is asking for trouble.

Resources

Tools:
Add www.enterprisenetworkingplanet.com to your favorites
Add www.enterprisenetworkingplanet.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed

Network Software Archives

Stay up to date! Get real-time news and reviews about the latest innovations in internet technology.
Learn about expanding business opportunities for the reseller channel. Visit IT Channel Planet.
Whitepaper: Enterprise Information Integration--Deployment Best Practices for Low-Cost Implementation
IT in 2018: Download Free eBook By The Author Of "Does IT Matter?" Simple Registration Is Required.
Data Sheet: IBM Information Server Blade





JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: HyperV-The Killer Feature in WinServer ‘08
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Win Server ‘08
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES