I had an interesting phone conversation about a month ago. It went something like this (abbreviated for space): “Hey David, I have problem with a client's mail server [Caldera eServer 2.3]. It's been running great since I installed it two years ago, but a power failure caused it to shut down. Now, the system comes up, but the Ethernet interfaces won't come up.” Me: “Well, let's bring them up manually and see why they don't come up at bootup. Any problems with fsck?” Friend: “None. I've tried running ifconfig, but it won't configure the interfaces.” Me: “Run lsmod, if the drivers aren't installed. Let's do that first, then humor me and run ifconfig exactly as I give it to you.” Friend: “Modules are installed; ifconfig segfaults.” Me: “Segfaults? (With alarm bells going off in my head.) Let's replace the ifconfig RPM in case it was damaged when the system crashed (as I'm thinking, ifconfig is one of the least likely apps to go south). You'll have to use --force to replace the ifconfig package.” Friend: “It appears ifconfig can't be replaced, even with --force.” Me: “Please run lsattr ifconfig and tell me what you see.” Friend: “I see an 'i' to the left of the name.” Me (with Star Trek's “whoop, Intruder Alert” playing in my mind): “Humor me again. Run locate ifconfig.” Friend: “/sbin/ifconfig; /dev/sdg/.azgub/backup/ifconfig, /usr/man/man8/ifconfig.8.gz.” Me: “Well, you just found a rootkit hidden in /dev. Your client has been broken into. By the way, have any of the security patches been applied to that server since installation?” (No answer, but I assume not.)
It's a month since I sent a quote to fix his security problems and install a firewall (among other services). The intruder is still in this system, the Ethernet cards are in promiscuous mode, and the client seems oblivious to the dangers (says he's changed his passwords, so he's taken precautions—right). Who's inside? Why? Has this system with a fairly large pipe been used to break into other systems and/or act as a zombie to perform DDOS attacks? Some folks should not be allowed to remain connected to the Internet. Is he alone? Not hardly. My servers are pounded daily, my bandwidth being eaten by virii, automated attacks, etc. And, I'm paying for unnecessary bandwidth because of it. There should be a law.
Need to find out if you (or someone on your network) are contributing to the spam problem? This tool is all you need to help stop the spam problems on your network. Requires: libpthread, glibc.
This is an excellent start on a nice GTK agenda. It holds names, phone numbers and e-mail addresses in a PostgreSQL database. Currently available only in Spanish, changing the labels, etc., to English, German, whatever, should be fairly simple—although Internationalization would be the way to go. You can send e-mails from within this application, but you'll need an SMTP dæmon running. Should be an easily extended application for your database needs. Requires: libgtk, libgdk, libgmodule, libglib, libdl, libXext, libX11, libm, libpq, libssl, libcrypto, libcrypt, libresolv, libnsl, glibc.
If you need to find out more than you can get from /proc/cpuinfo, this may be what you need. It reads directly from the CPU registers, so it can provide more information than what most of us will need or even understand. Requires: glibc.
If you're looking for a way to give courses and tests over the Internet, ILIAS is another tool that will allow you to do this. Data on students, test scores, etc., are all maintained in a MySQL database. Requires: Apache w/PHP and MySQL, MySQL server, GD, zlib, freetype, libjpeg, ImageMagick, zip, unzip.
There are a lot of utilities out there for watching packets on your network, but this one is slightly different. It looks at the percentage of bandwidth use for packets. This little jewel can tell you very quickly that one of your abusers running Kazaa is gobbling 99.7% of the available bandwidth. Requires: libm, glibc.
This web application is probably one of the easiest ways to maintain your BIND zone files, even easier than Webmin's BIND module. Requirements are small, but it does mean running a web server on your DNS platform. I'll be watching this one as it develops, as the author has a number of interesting items on his to-do list. Requires: web server (Apache) capable of running CGI scripts, Perl, BIND 8 or 9.
This month's pick from three years ago wavered between two great programs: ntop and stickerbook, a great program for children (mine love it, but ntop won). This is now a much improved version of ntop. It has developed from a simple ncurses utility to an advanced web client using HTTPS or HTTP for connections, with graphing in gdgraph (optional). ntop now bears little resemblance to its former self and is easier to use and read. If you need a top-like utility for your network, you need this. Requires: libmysqlclient, libcrypt, libm, libssl, libpthread, libresolv, libnsl, libdl, libgdbm, libz, glibc. Until next month.
David A. Bandel (email@example.com) is a Linux/UNIX consultant currently living in the Republic of Panama. He is coauthor of Que Special Edition: Using Caldera OpenLinux.