This post will be continually developed. I recently designed some solutions to solve some issues with
init.d and setup scripts. These may be of use to others, and I will likely reuse them. Continue reading
A StackExchange question on using HAProxy’s capture feature to pass data from TCP mode to HTTP mode prompted me to update my SSL configuration. This was intended to get an A+ rating from SSL Labs by sending non-SNI capable clients to a server with weaker ciphers. This was to enable clients on WinXP/IE8, Java 6, and an old Android version to connect. I found a solution without having to have two sets of ciphers and handling traffic in both the TCP mode and HTTP mode. I then optimized my settings to a minimal list of cipher specifications.
I’ve done a little tuning to my WordPress setup. In order to keep up to date, I’ve switched from the Ubuntu installation to a downloaded installation under
/opt/wordpress. This is owned by my user and served by
apache running as
www-data. Updates are done using the sftp add-on.
I added myself to the
www-data group. This allow
apache to read any files with group access, but prevents writing if the web-server is compromised.
I set the group sticky bit on all the directories. If required, setting it on the
wp-content/upgrade directory should be sufficient.
I generated my key outside the home directory for
www-data which is
/var/www. The directory I chose is not one I would
ssh requires a
.ssh/known_hosts file in its home directory. This was created and the appropriate security added. The key is password protected.
There are some outstanding issues. I’ll look into these as time permits.
The WordPress ssh2 modules does not work on my server. I’ve found a couple of issues.
- Passwords on the key don’t work. This is a known issue with a work-around. The initial connection appears to fail, but a second call should resolve the issue.
- The is_dir function does not work. Returning true for paths that end in a slash (
/) is a workaround. This got me as far as trying to install. This may be a result of how the path is constructed and there is a published workaround.
is_file function appear to fail as WordPress reports the download contains no files. This is likely the same issue as for the
My modifications to the theme are getting a little old. The theme works reasonably well on mobile devices, but I would like to update to a more streamlined theme. The site statistics I have indicate a surprisingly high percentage of viewers use a mobile device.
A recent kernel change broke my CPU performance tuning. I have an AMD processor which presents 4 cores to the kernel. The process in this article should work for Intel processors although the governors and CPU settings tree may be different. Different kernels may also have different settings. The current kernel allows setting the governor per CPU, but for an earlier kernel the setting was global.
My system is mostly idle, and I want it to be as quiet as possible. However, from time to time it is busy and I want processing to be as fast as possible. I use a small block of shell code to select a governor and ignore niced programs (such as
boinc) in selecting processor speed. Continue reading
Google has announced a sunset for SHA-1 certificate signatures in Chrome. SHA-2 (aka SHA-256, SHA-384, and SHA-512) is the remaining option for certificate signatures. I decided to upgrade my certificates to SHA-2 (256 bits). However, when I tried to use
tinyca2 to generate a SHA-2 certificate, I found it was not supported.
tinyca2 is a Perl package, I looked at the code to see how difficult it would be to update. The code is easy to read and well modularized. Adding the SHA-2 involves changes to the
OpenSSL components. I updated six files, although support can be added with fewer.
Patches are attached at the end of this post. An additional patch to apply the selected digest when creating sub-CAs (thanks to Cédric Dufour) has been included.
The new Poodle vulnerability lead me to disable
SSLv3 on my Ubuntu server. I have TLS/SSL enabled on three services:
dovecot2. Each service required a different method to disable
Ubuntu uses configuration files split into small pieces. The method should apply to other distributions, although the configuration files may be arranged differently. Continue reading
One nagging issue I had with IPv6 was how to distribute DNS server addresses and search lists to my clients. It took a little research to find the solution. On IPv4 I had been using DHCP to do this, but DHCP didn’t seem to be right approach for IPv6.
radvd can be used to distribute both types of data. The following article covers setup on Ubuntu and OpenWRT. The Ubuntu (Debian) examples below should work with any distribution using
/etc//radvd.conf to configure
radvd. Continue reading
My original intent in setting up BackupPC was to be able to backup my laptops. The mainly run Windows, and have a lot of shared files. Therefore I wanted a backup solution which handled de-duplication. BackupPC was just what I needed. I have already posted an article about Setting Up BackupPC on Ubuntu that includes setting up a server.
This article covers setting up BackupPC on Windows using
rsyncd as the protocol. (I tried using Samba, but didn’t like the results with Windows Home editions.) This is done with an extremely minimal
cygwin install available from the BackupPC site on SourceForge. The backups described here are not designed for bare metal recovery. They should include all the user’s files, and some of the configuration data for installed applications. Continue reading
I recently started to do regular backups of all my systems using BackupPC. It uses the
rsync protocol to limit the amount of data transferred during backups. Once the initial backup is done, future backups only need to copy incremental changes. This requires far less resources than other software I have used
This article covers setting up the server on Ubuntu and configuring backups for Ubuntu and OpenWRT. A future article will cover backing up Windows systems using an
rsyncd daemon process. Continue reading
We are quickly running out of IPv4 addresses. Are you ready for World IPv6 Day on June 8th, 2011? I have prepared my configuration on OpenWRT and Ubuntu. This includes configuring DNS using bind, email using Exim, and a Squid web proxy.
Having verified that I could establish IPv6 connectivity, I chose to improve my connectivity. This started with getting a tunnel from Hurricane Electric and updating my configuration. I then updated my bind server and Exim mail server support IPv6 addresses. This posting updates and continues from my post on Implementing IPv6 6to4 on OpenWRT. Review it for information on creating a tunnel and running radvd on OpenWRT. Continue reading