Author: Bill Thorsteinson
Manual networking for KVM
I found the networking configured by libvirt (KVM) did not allow me to firewall the network as I desired. I use Shorewall for firewalling, and DNSMasq for internal DNS and DHCP. After a little experimentation, I found that I could configure Ubuntu to create the network. This allows me to get a reliable firewall configuration with a…
Remote Desktops with VNC and RDP
I find it useful to have a remote desktop to my Ubuntu systems. On secure connections, I have been using VNC via xinetd. Connections with xrdp where possible, but it wasn’t launching the desktop for the connection. For secure terminal connections, I stick with ssh. All these connections have a login at the start of the…
Implementing DKIM with Exim
This article was updated in February 2014 to reflect changes in policy and reporting options. The earlier ADSP (Author Domain Signing Practices) information has been removed. DomainKeys Identified Mail (DKIM) provides a method to confirm the origin of an e-mail. DKIM also provides some protection against tampering. Unlike SPF, this validation applies to the contents…
Signing Return Path Addresses with Exim
I have been receiving a fair amount of Spam from an e-mail forwarder. They are unwilling to correct their problems. Much of this Spam is in the form of bounce notifications. Attempting to reject other Spam resulted in more notifications. To control this Spam I implemented signed return path addresses. As a side benefit, I am also rejecting bogus notifications…
Cfengine 2 for Debian and Ubuntu
Cfengine is a declarative system configuration tool. This helps apply standards to system configuration. The configuration files specify the desired configuration and the engine applies these specifications to the system. It is useful to: Distribute configuration files; Install standard packages (including on Debian and Ubuntu with code provided here); Cleanup old files; and Ensure certain programs…
Firewalling Google Chat and Skype
To enable for Internet chat I set up Google Chat and Skype. My firewall rules have been extremely restrictive with only known and approved services allowed to connect. Google Chat installed with no noticeable impact to the firewall. Things did not go so well with Skype. The installation of Skype resulted in lots of warnings…
Setting up Squid Proxy on Ubuntu
Squid is a proxy service for HTTP and other requests. This article covers installing it and configuring it to run on Ubuntu as a transparent proxy. This documentation includes configuring Web Proxy Auto-Discovery (WPAD) via DHCP and DNS. I run a heterogeneous configuration. This provided a number of challenges as various implementations of WPAD were encountered. Each seems to…
Database Naming Conventions
Naming standards for database objects can simplify development. The names used for tables and columns are most visible. Using standard conventions for the other objects can clarify where they fit in the design. This article describes the conventions I use by default.
Code Optimization Rules
It is common for developers to worry about optimization while doing initial programming. Some write extremely complex code in the belief that it is optimized. Unfortunately, this code is often slower than it might otherwise be. Additionally, the compiler may be unable to optimize the code. I find optimization is rarely necessary and effective optimizations…