- Limit who is authorised to make changes to a system. Ensure that this policy is not broken, and that all requests for change go through an authorised administrator. Put in place limited user rights, so the system cannot be tampered with by unauthorised people. In larger companies, this could be done by using a ticketing system, which places a formal ‘request’ for the change, documenting it, and only allowing authorised (via password) team members to deal with the request. Involve at least two people if possible – often two people will come up with a more effective change plan than someone working in isolation.
- Agree a set of change criteria: why do you need the change? What is the impact of it on the business? And what is the impact of implementing it? Often changes are made for no real business benefit, but with a great deal of disruption. For example, in the past, we discovered that an IT manager was dropping his company firewall late at night, so he could play games with friends over the Internet. Clearly not a business critical change! This can be a lot more serious where one person is making changes as it might be for personal gain.
- Document a set of criteria that must be met for any changes to be made, taking into account impact on the business, network downtime, cost and business need. This does not have to be long or involved; just brief sentences where relevant.
- Assess the risk of making the change. This can be done through a formal risk assessment procedure (for larger companies), or by simply answering a set of questions that consider the impact of the change on other parts of the network or application, for example. Will the change have knock-on effects? Has it been tested? Include anyone who will be affected to ensure nothing is forgotten.
- Record the change details as part of the formal change process. This is extremely important both in terms of identifying when and how the change was made, and also in case it needs to be reversed at a later date.
- Test the impact of the change on security. Often, we find that vulnerabilities in network security are caused not by malicious attacks, but by poorly-executed changes to the system that, for example, bypass security measures unintentionally.
- Plan the change. Inform teams if there is likely to be any impact on productivity, or network availability.
- Build and test the change – in a closed environment, if possible – to make sure the implementation has been done correctly.
- Have a plan B. If the change doesn’t work, or causes an unforeseen glitch, or has some other unexpected results, ensure it can be reversed, quickly (see point 4) to its previous, safe configuration, while a review is done. In an uncontrolled environment it’s not unusual for so many changes to have been made together that it becomes impossible to undo an error – which can be extremely costly to put right.
- Implement the change. Timescales should have been agreed with all those involved (see point 6), and users briefed / trained as necessary on using the new system.
- Review its success. Has the change been worth it? Has it had a positive impact on the business? Are individuals within the business using it in the correct way? It is important to review user implementation regularly and get feedback from them; this should influence future changes.
While formal processes can seem unnecessary or bureaucratic (particularly to smaller companies), they can, if used correctly, save both time and money by preventing an avoidable attack or security breach.