admin adventure

the ongoing struggle: man vs machine

Category Archives: Sys Admin

WPA2 Enterprise EAP-TLS Authentication with Apple IOS Devices without iPhone Configuration Utility



The recommended way to configure an enterprise wireless network is with certificates rather than a shared passphrase. This allows you to issue a certificate to each wireless device, and should a device be lost, revoking the certificate is all that is required to prevent access.

Searching the internet reveals that many guides focus on using the iPhone Configuration Utility to install a certificate and wireless profile on IOS devices as, or using MDM, as the only possible ways to enable apple devices to participate in this network. What I seek to outline is a 3rd way that relies on neither of these methods.

The reason for this guide is that the iPhone Configuration Utility is end of life, and will not work with IOS 8 and above. It has been replaced by Apple Configurator, which is an app only available on MacOS. Purchasing a Mac just to configure iPads is not an option for me.

I will details all steps to get a non-domain joined device (weather it be a PC, Tablet or Phone) to join the wireless network.

This guide assumes that you already have a functional WPA2-Enterprise EAP-TLS Wi-Fi network, NAP server and Certificate Authority. This network should already be functional with domain-joined PCs.


Create A Certificate Template

Stage 1 of this process is to create an appropriate certificate template, and enable the template on our Certification Authority.

  1. On your certificate server, open a blank MMC console, and add the certificate templates, and certification authority snap-ins.
  2. Under the Certificate Templates Node, Right Click the “Computer” template and click “Duplicate Template”
  3. Select “Windows Server 2003 Enterprise” As the template version, and click OK.
  4. On the General Tab, give the template a display name, template name, and set a validity period
  5. On the Request Handling tab, Set the Purpose to Signature and Encryption, set a minimum key size of 2048, and tick on the “Allow private key to be exported” checkbox
  6. (CRITICAL) On the Subject Name tab, check the option to “Supply in the request”, as shown below.
  7. On the Issuance Requirements tab, check the checkbox for “CA certificate manager approval”. This ensures that an administrator is involved in approving the issue of a certificate to non-domain (i.e. non-trusted) devices.
  8. Finally, on the Security tab, ensure an appropriate administrative user has rights to read, write and enroll certificates based on this template. Click Ok.
  9. Now we need to enable the certificate template on our Certificate Authority. Navigate to Certification Authority>Certificate Templates. Right click the node, and select New>Certificate Template to Issue.
  10. Select the template you created in previous steps and click ok.


Create Certificate Request

Stage two of this process is to request a certificate. I am doing this from my own domain-joined Windows 7 PC, however it may be better practice to have a workstation dedicated to this task. (Note that I have certificate auto-enrolment enabled for my domain, so my PC will automatically enrol certificates issued to it).

  1. Open up a blank MMC console as administrator (This should be the administrator you defined earlier on your certificate template). Add the Certificates (local computer) snap-in.
  2. Expand Certificates>Personal
  3. Right-Click “Personal”>All Tasks>Request New Certificate
  4. Click Next until you arrive at the Request Certificates Screen
  5. Check the mobile device template, and click properties.
  6. On the Subject Tab, fill out the certificate details. Common Name is required by the system, whilst other fields are optional, however I recommend you fill in at least these fields.
    Common Name
    (e.g. username_IOSPhone1 for BYOD or asset number for corporate owned devices)
    Note, the common name cannot be longer than a NetBIOS name (20 characters)
    Organisational Unit (I.e. department)
    Given Name

    Note that the common name is the easiest way to identify the certificate in the future, so make sure it is as descriptive of the device and user as possible.

  7. Click Ok, then enrol.
  8. The final screen shows that enrolment is pending. This is because on the template, we selected that approval was required before issuance. Click Finish.


Approve Certificate

On your Certification Authority Server, open up the Certification Authority Console (as administrator) and navigate to “Pending Requests”. Issue the certificate from the right click menu (Ensure that you have the correct certificate request).


Export Certificates with Key and Without Key

  1. Return to the certificates console on your local computer. Right-click on the Certificates>Local Computer root node, and choose “All tasks>Automatically enrol and retrieve certificates. Complete the wizard. (This works because certificate auto-enrolment is enabled in my domain).
  2. Navigate to Personal>Certificates. You will see your newly issued certificate.
  3. Right-click the new certificate, and select All Tasks>Export.
  4. Follow the wizard, choosing to export the private key, and include all certificates in the certification path. You will need to set a password for the certificates.
  5. Export a second copy of the certificate, this time with no key.


Map Certificate to an Account

Note: The normal authentication process involves the computer presenting the certificate (Common Name) to the Network Policy Server (NPS), which in turn will check if the computer account is enabled in AD DS, and that the certificate is valid. Because we are issuing computer certificates, logic would follow that we need to map the computer certificate to a computer account in active directory.

Devices such as iPads behave differently, where they treat all certificates installed as a user certificate, hence when passing the subject name to the NPS server, NPS will look for a user object in AD DS rather than a computer object, causing the authentication request to fail. When this occurs, you will see logs in the NPS server security event log. Keep in mind that devices from different vendors may behave differently, so watch out for this issue.

  1. Open up Active Directory and create a dummy user account. This account must have a username that matches the common name on the certificate. Passwords and other options do not matter for this purpose.
  2. If your NPS server has a group which contains authorised clients, add this account to that group.
  3. Select the new account, and choose Action>Name Mappings
  4. Add the certificate you exported without the key, and click ok.


Configure the IOS Device

Note: These instructions have only been tested on an IPAD 3 running IOS 9.0.1. Your mileage may vary.

Now to the heart of the issue. The previous steps are only an overview of the process to prepare a certificate for a non-domain joined device, and should be acceptable for most devices for WPA2-Enterprise EAP-TLS authentication. What follows are the steps to perform on the iPad (or iPhone) to enrol the certificate on the device, and use the certificate as the credentials to join the wireless network.


  1. Transmit the certificate that was exported (the version with the key) in any way possible to the device. Methods can include cloud storage, email etc. It’s entirely up to you. Just be cautious, as this file has the private key included. This needs to be protected, even though the key is protected by a password you set when you exported the certificate.
  2. Open the certificate file on the device. IOS will recognise the file as a certificate file, and begin the import process. Tap install.
  3. Tap install again.
  4. Tap install again.
  5. Enter the password to unlock the private key.
  6. Click Done. Your Certificate has now been imported into an IOS identity profile, without the aid of external tools.
  7. Finally, lets join the wireless network, with some minor changes to the usual process on IOS. Tap Wi-Fi, and tap on the network you want to join (being your EAP-TLS network, not some other passphrase based network).
  8. Notice that you are prompted for a username and password. Change the mode to EAP-TLS (Why does automatic not work…….?)
  9. The prompt has changed to username and identity. Username is optional, and we will leave it blank. Tap “Identity
  10. A list of installed identities is provided (I only have one). Tap the identity to use for the connection, which places a blue tick next to it.
  11. Tap “Enter Password” to return to the main Wi-Fi screen, then tap “Done”.
  12. You will now be asked if you trust the NPS server Certificate. Tap “Trust”.
  13. You are now connected.


A Quick Note about Revocation


Depending on how your Certificate Authority is configured, and the cache timeouts for Certificate Revocation List checking, there are two ways that can be used to prevent a device from connecting to the wireless network.

1. Revoke the certificate. – This is the most reliable method, as it ensures the certificate cannot be used again. The downside is that this can take a long time to take effect, as the various cache timeouts and CRL updates can take a long time.

2. Disable or delete the computer or user account that the certificate is mapped to – This takes effect immediately, however the certificate is still valid, and if used for other purposes, can still authenticate.

I recommend you perform both of these steps, just to be sure. Neither of these steps will kick an active Wi-Fi connection off the network, but they prevent a re-connection attempt.


I hope you find this helpful.




Connecting iPads to an Enterprise Wireless 802.1x Network Using Certificates and Network Device Enrollment Services (NDES) –

Certificates and Exporting Private Key –


Deploy and Customise Google Chrome

This guide will lead you through the basic steps to deploy Google Chrome with group policy. It is based on v38, which at the time of writing is the current release. To follow this guide, you should already be familiar with Group Policy in general.

As with any task, first clearly define the objectives you want to achieve before starting. Your objectives will no doubt be different, so this guide should be a general reference only.


1. Install Google Chrome 64bit edition for all users of selected Windows 7 PCs. For our purpose the computers are all in the active directory organisational unit “Computers – Windows 7”.

2. Set home page to a specific address.

3. Reduce automatic update frequency.



Task 1 – Obtain the appropriate Files

  1. Download the 64bit msi package of the enterprise Google chrome that Google helpfully provide. It can be located at
  2. Download the adm and admx group policy templates from
  3. Download the Google Update adm group policy template from


Task 2 – Copy MSI file to the deployment share.

  1. Copy the downloaded .msi file to a deployment share that client computers have read access to.


Task 3 – Create a new GPO to deploy the software and settings.

  1. Open group policy management console on a domain controller, and create a new policy. Give it a descriptive name that will still retain some meaning to you and your colleagues in 6 months time.
  2. Edit the newly created policy (Right-click>Edit) and navigate to the Computer Configuration>Policies>Software Settings>Software Installation node.
  3. In the right-hand pane, right click and select New>Package
  4. Navigate to the package file you earlier placed in the deployment share, and click ok.
  5. Select Advanced for the deployment method and click Ok.
  6. Enter a name for the package. I like to put both the architecture and version number in the package name, but it is up to you really. Note that this is the name that will appear in the installed program list on the client computers. I like to put the word “Deployed” in the name to distinguish the group policy installs from the manual installs.
  7. No further options are required to be set, however depending on your environment, you may wish to set some further options. I always set “Ignore language when deploying this package” which is under Deployment>advanced. Once done, click ok.
  8. The install will now install to any PC’s that are covered by the policy you created. If you are testing, you may wish to run the command “gpupdate /force /boot” on your test PC to force an immediate deployment.
  9. Close the Group Policy Management Editor before continuing.


Task 4 – Customise via Group Policy

Configure Homepage

In my case I need to import the .admx template files into my Windows 2008 R2 central store. Your group policy setup may be different. The below paths are for my environment, and your environment will be different.

  1. Extract the policy templates archive.
  2. Copy Chrome.admx to D:\ADDS\Sysvol\sysvol\xxxxxx\Policies\PolicyDefinitions\
  3. Copy the language specific adml files for your required languages to the central store. i.e. the EN-GB files to D:\ADDS\Sysvol\sysvol\xxxxxx\Policies\PolicyDefinitions\EN-GB\
  4. Open Group Policy Management Editor and edit the policy you created earlier. When you expand Policies>Administrative Templates>Google in both computer configuration and User Configuration, you will see the new settings that can be applied.
  5. In our case, we want to change the default home page, and not allow the user to override this. Navigate to the “Computer Configuration>Policies>Administrative Templates>Google>Google Chrome>Home page and set the”Configure Home Page URL” setting.
    Note that is we had desired users have the ability to override, and wanted to set a default, we could have configured the same setting under the “Google Chrome – Default Settings (users can override)” node.
  6. I will also set the “Use New Tab Page as Homepage” option to disabled, to prevent users from changing the homepage behaviour.
  7. This will now load the homepage you have just configured when the home button is clicked. The default startup action for Chrome 38 doesn’t open the homepage, but a new tab. Navigate to Google Chrome>Startup pages and change both the action on startup (Open a list of URLs) and URLs to open on startup settings.


Configure Update Frequency

Chrome will be updated via the Google Update software that is installed alongside Chrome, even for users without admin rights. To manage this software, we need to use the Google update adm template that we downloaded earlier.

  1. Copy the Google update adm template file to a location on the domain controller.
  2. Within the GPME, right-click the administrative templates node, and select add/remove templates.
  3. Add in the Google update adm template, and click close.
  4. You now have the ability to manage Google update.
  5. Navigate to the “Google update>preferences” node, and set the auto-update check period override to the desired setting. I have set the number of minutes to 10080 to enable a weekly update.

Now you should have a working setup. I would recommend you review the documents located below in the resources section, and the other available group policy settings to identify further opportunities to set default settings as appropriate.



Chrome for Work

Set up Chrome for Work

Set chrome policies for devices

Control Auto-updates

Google Update for Enterprise

Install VMware Tools in Debian 7.3

This article will go through the simple steps required to install the ESXi Vmware tools onto a debian 7 guest.

1. The first step is to install debian’s compiling tools and kernel headers for the current running kernel.

aptitude install build-essential

aptitude install linux-headers-$(uname -r)


2. Mount the VMware tools CD by going to the guest menu and selecting “Install VMware tools”.


3. Mount the CD

mount /dev/sr0 /mnt/


4. Extract the archive to the local tmp folder.

tar xfzv /mnt/VMwareTools-9.0.5-1065307.tar.gz –C /tmp


5. Change to the extracted directory

cd /tmp/vmware-tools-distrib


6. Run the script to build the needed kernel modules.



7. The script will ask you various questions as the install progresses. Just press enter to accept the default choices, unless you desire to change it.


8. Reboot the virtual machine and check that the vmware tools are now listed as running by vmware.

System Image Backup in Windows 8.1

This is actually not the case. Microsoft have just made the feature difficult to find.

To find this option, you must search for “file history” from the start menu (previously known as the metro interface) and run it. Alternatively, you can find the file history program from the control panel in desktop mode.

Once the file history program loads, you will see the “System Image Backup” link at the bottom left of the screen. This gives access to the same backup interface that was available in Windows 7. No 3rd party software and no powershell scripts are required.


Deploy Civica Authority Desktop Client using Group Policy

In this post I will explain the steps I take to deploy the Civica Authority Desktop Client software to my mixed 32bit and 64bit environment. The below process will detail how to deploy an upgrade to a client that has previously been deployed, however the same process can be used for a new deployment of the client with the only change being in the group policy upgrade tab in Step 4.

As the Authority Desktop Client is frequently updated as part of the Authority patching process, it is important to distribute the new client to all your Windows PCs. Doing this manually is generally too much of a burden, and group policy can be used to reduce this burden.

It should be noted that if the Authority Client is going to be deployed through Group Policy, it should not be included in any system images that you are using to distribute your SOE, as this can cause problems when trying to upgrade to new versions.

My goals are:

  • Deploy the Authority Desktop Client version using a single GPO. Since I have previously deployed prior versions of the client to my PCs I will use my existing GPO titled “AuthorityClientDeploy”.
  • Prior versions of the client will be removed before the new version is installed.


Step 1 – Obtain the Appropriate Files


After you have installed a new patch (or anytime after issuing the update_auth6_repo command at the authority command prompt), you will have the latest client files on your Authority Server. As we are on Authority v6.4 the path to the required files is D:\civica\download\6.4\

Contained within this zip file are 5 files.

  • authmsi Test Plan.pdf – This is a testing plan recommended by Civica prior to certifying the new client for use in your environment.
  • authority.ini – This is the default configuration for the client installer. You should have been supplied with a customised version of this file for your specific site from Civica when you first installed Authority. This file should be compared with your customised version, so that any new features can be incorporated into your customised version.
  • authority_64_installation_notes_windows_client.pdf – Well worth reading.
  • Authority- – The file we will deploy
  • CrystalReports.msi – The crystal reports runtime for Authority, which is not updated as frequently as the Authority Desktop Client. I use a separate GPO to deploy this.


Step 2 – Copy Files to Deployment Share

Copy both the Authority- and your sites customised authority.ini files to a deployment share that client computers have read access to.


Step 3 – Generate the Transform (MST) file to Customise the Install


  1. Open up the Authority-  file in Orca
  2. Click Transform>New Transform
  3. Scroll down the left hand tables window and click the “Property” Table.
  4. In the right hand window, edit the values for the properties you wish to change.


For my environment, we are using the Quick Address Pro validation so the following 6 values relating to QAS have been set.

  • REG_QAS_SERVER: yourqasserver.domain.local
  • REG_QAS_PORT: 2120
  • QAS_SERVER: yourqasserver.domain.local
  • QAS_PORT: 2120
  • QAS_VERSION: 6.12
  • QAS_BY_INI: N (This setting allows the QAS settings to be set in an ini file rather than in the mst file we are creating. We set this to N as we have defined the settings within the mst file).

If you are not using QAS, you can leave these values at defaults.

5. We also need to set an INSTALLLEVEL value. This controls which components of the Authority MSI are installed. This property will not be available, and we will need to create it.

6. Right-click in the Property Detail Pane, and select “Add Row”


7. Create the new property with a Property name of INSTALLLEVEL and set a value. Available choices are 1, 3 and 999. I have set this value to 3. Click OK.


Which install level you select can be determined by going to the Feature node in the left hand tree, and looking at what the components are and deciding what you need to install. This information is also available from the installation notes document on page 32.

(Note: that an alternative method of selecting what items to install, the ADDLOCAL Property is detailed on page 32 of the release notes and provides a way to individually select features to install. However as the only level 1 feature that is optional for Authority is the Genero Desktop Client, and generally this is desired, the INSTALLLEVEL property is the easier solution).


Determine which install level you need based on the components installed at each level.

Install level 1 only installs level 1 components
Install level 3 installs level 1 and 3 components – Adds QuickAddress_Runtime
Install level 999 installs all components – Adds Terminal_Server_DLL

8. When you have finished making changes, go to Transform>Generate Transform

9. Save the transform file in the same location as the MSI file on your deployment share. I include the version number in the MST filename, and I make a new mst file every time I deploy a new version of the client, even though the settings are usually identical.

10. Close Orca

Step 4 – Add the Package and Transform to Group Policy

1. Open Group Policy Management Console, right-click the existing GPO and select Edit.

2. Under Computer Configuration>Software Settings>Software installation, Right click on the blank right-hand window and select New>Package.

3. Select the Authority- file. I like to ensure that a UNC path to the package is used, but it is up to you.

4. Select the “Advanced” option and click OK. The package properties window will appear.

5. Change the name of the package to distinguish that it is 32bit. I used “Authority Desktop Client x32 – Deployed”.

6. Click the Deployment Tab>Advanced and check the option “Make this 32-bit X86 application available to Win64 machines”. This is because we need this 32bit package to install on the 64bit PCs in our environment. On the same screen, I usually check “Ignore language when deploying this package”. This prevents differences between US English and Australian English from preventing the install from occurring, but this is a personal preference.

7. On the upgrades tab, clear anything that has been added to the list, then click add, and select all versions of the client previously distributed by Group Policy that you wish to upgrade. I choose the option to uninstall the previous versions, rather than attempt an upgrade.


9. Click the modifications tab and add in the MST file you generated with ORCA.

10. Click OK.

Congratulations, you are now deploying Authority Desktop Client

Update Alerts via Email in Debian Squeeze (apticron)


We all know life is busy for us system administrators. Keeping servers updated is generally a good security practice, but is often overlooked due to more pressing concerns. This can often be especially true for the trusty linux servers that sit in the corner and never cause a problem.

This short tutorial will guide you through setting up the apticron tool to alert you when updates are available for debian.

It relies on the server being able to send emails, so ensure that this is possible through exim, postfix or sendmail first.


1. Open terminal as root



2. run command apt-get install apticron


3. Edit the configuration file with nano.

nano /etc/apticron/apticron.conf




4. Change EMAIL=”root” to a valid email address. Note that quotes must remain around the email address.



5. Press CTRL-O to save, then CTRL-X to quit nano.


All done. You will now receive a daily email with the required updates.

Free Microsoft eBooks


Today I received a notification from the System Administrators Guild of Australia (SAGE-AU) forum that Microsoft was releasing a large number of their Microsoft Press Books for free, and I thought I would share this with the wider community.

Microsoft’s Director or Partner Experience, Eric Ligman, has posted links to a large number of free eBooks and resources for Developers and System Administrators.

I encourage everyone to check it out.