VirusAction script for clamsmtp

I’ve recently configured my MTA to drop emails with embedded MS Office Macros (a very popular way of distributing malware).

You can get the odd valid macro-enabled Office doc, so I’ve written a script to alert me when emails are dropped, it’s available on GitHub

Configure in /etc/clamsmtpd.conf as below:

VirusAction: /usr/local/bin/clamsmtp-action.py -t postmaster@yourdomain.com

(other switches available, read the source or run with -h)

 

Installing Apache 2.4 on Centos 6 with HTTP2 support

Download, compile & install openssl 1.02 somewhere (eg /usr/local/openssl102)
IMPORTANT: config with -fPIC flag

./config --prefix=/usr/local/openssl102 -fPIC no-gost no-shared no-zlib && make && make install

Download compile & install nghttp2 (straightforward, I went for default path – to ensure it’s picked up by apache module create /etc/ld.so.conf.d/local.conf with contents /usr/local/lib & run ldconfig unless this is already in your linker dirs).

Download and untar apache 2.4.17

Download and untar latest apr & apr-util,
unpack them into ./srclib/apr and ./srclib/apr-util inside apache distributrion (be sure the dir names
do not have version numbers; for example, the APR distribution must be under ./srclib/apr/)

Config & compile apache

# set prefix if you want, default will install to /usr/local/apache2
# add --with-lua if you have it installed for fun!
./configure --enable-http2 --enable-ssl --with-ssl=/usr/local/openssl102 --with-included-apr
make
make install

Configure apache to use http2.

To test your http2 server you might want a recent build of curl, download the latest and configure like so:

./configure --with-ssl=/usr/local/openss102 --prefix=/usr/local/curl --with-nghttp2=/usr/local

Running ansible from a windows host

This is partly based on instructions from https://servercheck.in/blog/running-ansible-within-windows but uses a virtual environment and no checking out from Github / manually installing packages.

  1. Install Cygwin. Include following packages:
    • python
    • openssl / openssl-devel
    • python-crypto
    • python-openssl
    • openssh
  2. Install & configure pip, virtualenv & virtualenvwrapper as per http://atbrox.com/2009/09/21/how-to-get-pipvirtualenvfabric-working-on-cygwin/
  3. Create a virtual environment for ansible with mkvirtualenv --system-site-packages ansi
  4. Install ansible inside your virtual environment with pip install ansible pyyaml jinja2

That’s it (remember to set ssh_args = -o ControlMaster=no  in ansible.cfg as cygwin doesn’t support it).

Improving Apache Clustered Performance

  1. Use Apache 2.4 (so if you use Centos / RHEL, use v7). This has lower memory requirements, stable Event MPM (see below) and far more functionality.
  2. If you terminate SSL at Apache, use a clustered cache to keep track of SSL sessions. Otherwise the SSL session establishment will have to be renegotiated every time you hop server (if you have sticky sessions at the load balancer, this may not be the case, but sticky sessions can be unreliable) and this is very expensive.
  3. Consider using nginx or the event MPM where you can (eg for static requests).
  4. Disable Etags (FileEtag None). As with SSL, you will get a new Etag every time you hop server (so sticky session caveat applies again) breaking the client side cacheing. Disabling Etags will drop back to Last-modified.

 

Blog spam from 37.59.173.124

Not sure why OVH allows one of its customers (37.59.173.124) to blog spam

From: Jason Peterson <zanationline@gmail.com>
Subject: Increase Sales / Customers

Message Body:
Would you like to see you how your competitors are getting more sales than you are?

Improving your website visibility online is more important than ever. 

What's a good phone number so we can discuss my plan?

Thanks for your time

Jason