IT Contract Recruitment in the UK

I have now been working in IT since 1989 and been an IT contractor since 2000.  I am still amazed how much the market hasn’t changed and how contractors get treated by IT agencies.

In the UK they are a necessary evil.  Large companies wont hire direct and can’t be doing with the hassle of searching, filtering as well as paying non employee staff so I can understand that part.  The agencies handle this (and to be fair other things) and yet most seem to lose all sense of manners sometimes.  My best experiences have been working direct but that requires a special relationship with the company for it to work.

Back in the day my contacting peers used to use the same agent who would look after them and get them work.  They used to wine and dine them and treat them as valued assets.  That seems to have changed since then and not got any better.

  • You fire off a CV, there is sometimes not even acknowledgement of receipt.  How hard is this be in 2014 ?
  • They call you – you have a long chat, say that “will submit CV” and then you never get any form of communication post that.  Again its not hard is it ?
  • They advertise jobs when blatantly there is no job.  They are just fishing for CV’s to then send companies
  • Ask you call premium rate numbers to speak to them
  • Hide behind filtered email addresses

Don’t get me wrong – I’m not bitter about the process.   I realise there is a lot of poor CV’s and yet worse staff in the market.  I pride my CV on being accurate and true. I also have worked for some very, very good agencies (my current is brilliant) and some really bad (one didn’t pay me until the end of the third month)

I have done well over the years and am sure they have too (don’t start me on margins!) but a bit of common courtesy wouldn’t go a miss.  It takes 1/2 minute to type an email or leave a message.  Otherwise they live up to there reputation as ‘pimps’ and in the same pigeon hole as ‘estate agents’ for most people.



Virtual Machines and Home Lab’s. Why do the vendors make it so hard ?

I am a big fan of running everything virtually.  There used to be day when I had a ton of kit but now all I have is a small HP Microserver, an i7 Lenovo desktop PC, Lenovo T440S i7 Laptop and an i3 Surface Pro 3. I use VMware Workstation 10 as much as I can.   I used to use Virtual Box back in the day but found it just too troublesome with converting VM’s from manufacturers.

Most of the time it is very easy to download a virtual machine from a manufacturer and it will just run.  Juniper, Microsoft and some others are good.  Some will be in VMware appliance formats.  Others use the open OVA format.  Others such as Cisco, F5 and Fortinet will only support OVA’s that you can only import into ESX.  Workstations fails with various errors even though  – in theory – OVA is an open, portable format  …….

My fix is do this:

1) Download VMware ESX evaluation

2) Install as a VM within VMware Workstation

3) Navigate to the ESX Managment address via a browser.   Either use the Web GUI or vCentre GUI

4) Import the OVA into ESX

5) Once imported.   Navigate to the Data Store Browser.

6) Copy out the whole folder for the imported VM

7) Open the VMX in VMware Workstation.

8) Edit the NIC’s etc as nessiary

9) Start the VM

That seems to always work for me !


New Standards – HTTP2

A great article I came accross explaining how HTTP2 works is availible at

It has some intresting challenges for adoption and implications for Network Security and vendors of the associated devices used to secure them.  One of the main challenges being that the format moves from an easy to read text form, to a binary blob.  This means Deep Packet Inspection (DPI) of these frames becomes a lot more intensive.

It will also be interesting how this gets adopted for the ‘average’ site.   I can see the Goog, Facebook and Microsoft adopting it but how long did it take for HTTP 1.1 to become adopted ?

One to monitor……


So that went well…… The pains of multi factor Authentication

First day in my ‘post a day’ challenge for November went well with me missing a post…so I shall indevor to catch back up 🙂  ..

There is a few reasons for this but one of the reasons is that I can’t just post from any device.  I took the plunge a good while back and protect the site using the fantasic Duo Security two factor authentication system which means I have to have my phone to hand when logging into my Blog.

Yes, multi factor authentication is a  pain in the ass but thats security.  Its about balancing security with usability.  I’d rather have the pain than allowing someone else to blog as me.

I also recomend using two factor authentication for all of your ‘primary’ accounts such as Microsoft (Technet, Outlook, Office 365), Google (+, gMail, Webmaster Tools), Apple  (iTunes, iCloud), Twitter and Facebook.   Using Windows Phone, I use the Microsoft Authenticator app which can be used for all of the sites listed here.

Logging on can be a pain, but I’d rather have the extra security.

Is there such thing as a ‘crap’ PC anymore ?

Like most folks who work in the tech/IT field, people are always asking for my opinion about kit, especailly PC’s.

My reply was usually ‘how much do you want to spend ?’     Today, this got me thinking……. is there any such thing as a ‘crap’ PC any longer ?

With the advent of cheap tablets  (some are just piles of shite that will end up in landfill) the PC makers seem to be giving PC’s away that have better, and better spec.    For instance i3, 4GB RAM, 1TB hard disks on budget £350 laptops.

Whist the screen will be a crap 1366 x 768 resolution screen and the battery will probably last 3 hours (mainly due to all of the OEM junkware thats installed) you can still do far more than you ever will on a tablet computer device.  Perhaps peoples habbits are changing and if all they do is use email and FaceTwatterBook then good riddance, It means I dont have to fix the bloody thing.

However people who actually need a PC for Media, iTunes, Photo/Video editing then its still the best for the job.   They are eminantly flexible and can still be customised to do what you like.   Depite what the press may say, Windows 8.1 (with the new Update 1) makes switching between the Metro/Modern Start Screen apps and traditional desktop a breeze.  If you are still suffering the $5 spent on Start8 will soon sort you out.

Remove all of the cack the thing comes with.  Whatever you do dont buy or run McAfee or Norton AV.  Remove it and Microsoft Defender will be activated which is fine for most users.  Dont waste your cash….. seriously…

They arent the same as the crap that was pushed when the whole Netbook craze came around.  Bit like 3D TV’s really, it was just a fad.  Luckilly the Atom seems to be have relegated to small headless kit, tablets and even phones.  Its even now pretty good 🙂

So thats my opinion as of today, even thought I have just dropped the best part of £1800 on an awsome Lenovo T440S fully loaded !

Native Apple iOS Client and Android Client to Cisco ASA VPN using Certificate Authentication Part 4 – More ASA Side

Some parts I forgot from the last few posts.

The ASA also uses Group Policy (not AD group policy!) configuration.  In here you set useful things such as DNS, domain and other properties.  Its also the area to configure specifics for the IPSEC Phase 2 connection.   I normally use a GP per connection as its allows some flexibility when making changes later on.  You can also set some values within the default group policy that will be standard over the whole of your ASA, which depending on if inherit is turned on or not get set.

For Apple iOS devices IP Compression and PFS have to be turned on.  On Android, these are not.  You get a strange symptom (if set) where the Android handset claims its connected (and the ASA even issues an IP address) but the device never shows connected in ASDM.  It was only with use of various debugs that I managed to find this out.

Group policies therefore are:

!Apple iOS
group-policy GP_iOS internal
group-policy GP_iOS attributes
 dns-server value
 vpn-session-timeout none
 vpn-tunnel-protocol ikev1 
 ip-comp enable
 pfs enable
 default-domain value mydomain.local

 group-policy GP_ANDR internal
 group-policy GP_ANDR attributes
  dns-server value
  vpn-session-timeout none
  vpn-tunnel-protocol ikev1 
  default-domain value mydomain.local

That should complete all of the configuration requried to allow iOS and Android devices to connect to a Cisco ASA using the inbuilt native IPSEC client using x509 certificates.   You really arn’t using Pre Shared Keys in this day and age are you ?

Putty – Session Logs

A useful feature when you are working on multiple devices is to keep as session log for every session.  You can then easilly see what you have typed or provide evidence.

To configure this for every session:

1) Open Putty

2) Select the Default Settings and press Load

3) Navigate to Session > Logging

4) Set the Log file name in a format that makes sence to you.  You can see mine

5) Navigate back to the sessions, making sure Default Settings is still highlighted and then press Save

Test !

Native Apple iOS Client and Android Client to Cisco ASA VPN using Certificate Authentication Part 3 – ASA Side

So based on the last post, you can now start to configure the ASA to support Apple IOS and Andoid devices.

Firstly we need to add an IKEv1 policy to allow the IKE Phase 1 to establish:

crypro ikev1 policy 10
 authentication rsa-sig
 encryption aes-256
 hash sha
 group 2
 lifetime 28800

crypro ikev1 policy 12
 authentication rsa-sig
 encryption aes-256
 hash sha
 group 5
 lifetime 3600

This allow the device to at least connect to the ASA to authenticate.

There is an assumption that your ASA already has installed and trust’s the CA’s that the client device certificates are issued by.  This is out of scope for here however its imperative that this is in place.  Its also crazy if you havent got CRL processing in place but you should know that as well.

From a ASA profile perspective its simple.  As stated before both Andoid and IOS only support IKE v1 so you have to create IKEv1 profiles for these connections.  The strange part of defining an IKEv1 profile is that is has to have a AAA entry set.   In my case I normally define a new AAA group that has no authentication.

aaa-server NO_USER_AUTH protocol http-form

This can then be applied to a new profile.  Its not used for authentication (remember – you are using Cerificates only) thus

tunnel-group IOSandAND type remote-access

tunnel-group IOSandAND general-attributes
 ! Clients will use addressing from the named pool shown
 address-pool IOSandAND-Pool
 ! Dont use any client authentication (other than Certificate)
 authentication-server-group NO_USER_AUTH
 ! Group policy applied for connection
 default-group-policy GP_IOSandAND

tunnel-group IOSandAND ipsec-attributes
 ! Define CA that client connections will be signed by
 ikev1 trust-point MyCA.key
 ! Define no user authentication
 ikev1 user-authentication none

Depending on if you use DAP etc (and you really should) you will have to add basic policy to allow Andoid and IOS devices to connect.  There are no posture checks availible for native clients due to what the clients expose.  If you want to do this then the client will need to use the AnyConnect client (free), will need a AnyConnect Mobility licence for the ASA (circa £500) and you can then use IKEv2 which negates a lot of this configuration.

Anyway hope it helps some of you

Native Apple iOS Client and Android Client to Cisco ASA VPN using Certificate Authentication – Part 2

So the previous thread we were discussing Apple iOS.  Now you may have had the same issues with Andoid with it becomming more popular.

First issue when configuring the ASA is the IKEv1 key exchange that goes on.  When a device attempts to connect, the client is asked to provide all of the key schemes that it supports.  Android 4.1+ and IOS 7 give out (in order)


AES-CBC 256 Seconds 28800 SHA1 DH Gp 2
AES-CBC 256 Seconds 28800 MD5 DH Gp 2
AES-CBC 128 Seconds 28800 SHA1 DH Gp 2
AES-CBC 128 Seconds 28800 MD5 DH Gp 2
3DES-CBC Seconds 28800 SHA1 DH Gp 2
3DES-CBC Seconds 28800 MD5 DH Gp 2
DES-CBC Seconds 28800 SHA1 DH Gp 2
DES-CBC Seconds 28800 MD5 DH Gp 2

iOS 7

AES-CBC 256 Seconds 3600 SHA1 DH Gp 5
AES-CBC 256 Seconds 3600 SHA1 DH Gp 2
AES-CBC 128 Seconds 3600 SHA1 DH Gp 2
AES-CBC 256 Seconds 3600 MD5 DH Gp 5
AES-CBC 256 Seconds 3600 MD5 DH Gp 2
AES-CBC 128 Seconds 3600 MD5 DH Gp 2
3DES-CBC Seconds 3600 SHA1 DH Gp 2
3DES-CBC Seconds 3600 MD5 DH Gp 2
DES-CBC Seconds 3600 SHA1 DH Gp 2
DES-CBC Seconds 3600 MD5 DH Gp 2

Now we have these values we can look at configuring the ASA to support native IOS and Andoid clients using x509 Certificate authentication.   Its pretty obvious that the top one is the most secure, trailing off to blatantly insecure…….

Time for post 3……..