Hardening Windows Systems – Roberta Bragg
January 16, 2008
Author: Roberta Bragg. CISSP, MCSE: Security, Security+Publisher: McGraw Hill / Osborne
Suggested Publisher Price: $39.99 US / $57.95 CDN / £24.99 UK
ISBN: 0-07-225354-1 Softcover, 504 pages
Bulletproof your systems before you are hacked!
Take a proactive approach to network security by hardening your Windows systems against attacks before they occur. Written by security evangelist Roberta Bragg, this hands-on resource provides concrete steps you can take immediately as well as ongoing actions to ensure long-term security. Whether you have one Windows server or one hundred, you’ll get complete details on how to systematically harden your network from the ground up, as well as strategies for getting company-wide support for your security plan. With coverage of Windows 95/98/NT 4.0/2000/XP and Windows Server 2003, this book is an essential security tool for on-the-job IT professionals.
Extract from foreword:
One other area in which this book stands out is that is was written with the full realization that, while computer security is inherently about the computer, sometimes the biggest security vulnerabilities come from people…This book does an excellent job of illustrating the critical areas where the interaction among computers, users, administrators, and IT management can cause vulnerabilities to your network and what you can do about it now in addition to the technical aspects of configuring security
Part I – Do this now!
1 – An immediate call to action
Part II – Take it from the top: Systematic Harden
2 – Harden Authentication
3 – Harden Network Physical Infrastructure
4 – Harden Logical Network Infrastructure
5 – Harden Network Infrastructure Roles
6 – Secure Windows Directory Information and Operations
7 – Harden Administrative Authority and Practice
8 – Harden Servers and Client Computers by Role
9 – Harden Application access and use
10 – Harden Data Access
11 – Harden Communications
12 – Harden Windows using PKI and harden PKI
Part III – Once is never enough!
13 – Harden the security lifecycle
Part IV – How to succeed in hardening your Windows systems
14 – Harden WetWare
Appendix A – resources
“Hardening Windows Systems” is a book written with the dual purpose of explaining why you should make every aspect of your systems secure, and exactly how to go about that. It thoroughly addresses many different aspects of a Windows network such as individual computers, user authentication, Active Directory and the physical and logical network elements. Some common myths are debunked, and the principle of blindly following the latest trend in “best practice” is dismissed.
The author is obviously passionate and evangelistic about security and shows great depth of knowledge, yet at no time does this book appear to say “you should do this just because I say so”. On the contrary, a clear attempt is made to properly educate the reader in the approach to good security practice, a real understanding of the issues and technologies involved, and thereby enable an administrator to harden their systems immediately and continue to revisit and re-harden their existing network and future new systems they introduce. Dealing with the topic from a high-level view right down to step-by-step procedures, this is a very comprehensive read for anyone who wants to harden their systems.
The first part addresses the most immediate, simple and effective measures which can and should be done if at all possible as a first step towards a more secure network. This includes elements such as physical security, banning non-secure wireless networks and disabling EFS. These latter two are good examples of the realistic approach taken by the author – today you should take preliminary steps which may seem extreme, since there is not enough time to fully address them in detail straight away. Later, after planning and testing it should be possible to take a more precise stance, for example enabling EFS only after proper key recovery procedures have been developed, tested and put firmly in place. This emphasises the point that doing nothing while working out what to do is rarely the sensible choice.
After the short appetiser of the first chapter calling for immediate action, the second part is served as the real main course, and takes up about 3/4 of the volume of the book. Various interlocking areas of potential weakness are discussed in a structured fashion across several chapters. Depending on the interests, skills or job description of the reader, some of the subjects in this section will have varying degrees of relevance. By dealing with clearly-defined topics in separate chapters, this allows you to concentrate your time and effort in areas of most concern without too much side-tracking into every possible area. Each of these chapters is filled with a huge amount of useful detail, including lists of services, files, and registry entries to be considered.
The author also gives reasonably comprehensive explanation of the use of a variety of common and less well-known command line utilities, built-in tools, software from Resource Kits and additional downloads (such as MBSA and SUS). Some books try to give exhaustive (and exhausting) coverage of every possible feature of such tools (always a good way to fill more pages), or conversely refer to a command and leave the rest up to the reader to follow a URL. Instead, this author strikes a good balance, providing what you need to know to use a utility to achieve a specific result, complemented by a few further hints on alternative or more advanced features.
The dessert and coffee courses are an often-overlooked but important part of a good meal, and so it is with the subjects covered in the last two parts of this book. It is clearly not enough to harden systems once and then leave them be, so part III deals with the topic of ongoing patching, testing and auditing of systems. Another lesson which many technical people would perhaps rather avoid is understanding where your technical measures fit in relation to business operations, human factors and the prevailing legal environment. Good application of these ‘softer’ aspects can have as great an effect on the overall ‘hardness’ of your systems as all the lockdown methods applied elsewhere and this is well covered in part IV, avoiding the high-level cursory discussion other books sometimes provide.
Overview, style and detail
One of the best and most distinctive features of this book is that it covers all Windows systems from 95 onwards (even touching on ME at times!). Almost all other works in this area assume from the outset a pristine network of brand new systems using only the latest software, particularly those books whose main purpose is for passing exams. In reality this assumption is not only missing out a large chunk of the real-world, but can lead to systems which are unworkable, such as securing network authentication in such a way that older systems no longer function. By being inclusive and realistic, the author succeeds not only in providing a complete view, but demonstrates clearly both a wealth of personal experience and the importance of considering the whole environment at every step.
There is no pretence that these older systems can be hardened as easily or as far as more recent offerings, but the balanced approach shows how much can be done and emphasises the idea that one solution does not necessarily fit all. A side-effect of the inclusion of the whole Windows family in the discussion is that the contrast between older and newer operating systems becomes even more stark, which may provide further useful ammunition for those budget-constrained administrators to convince the bosses of the need to upgrade.
The most awkward aspect of this book is that it does not fit comfortably into a category as either a book to be read through from start to end, or a work for dipping into for occasional reference. It jumps from high-level discussion of a topic to specific instructions and settings to achieve a particular effect. This mirrors the obvious enthusiasm of the author and conveys the impression that “we have talked about this for long enough, now let’s get on with it!”. While in principle this is refreshing and avoids being bored by theory on the one hand or bombarded by whole chapters of detail on the other, it means the only place suitable for reading it is in front of a console from which real changes can be made. The immediacy of the instruction may also tempt readers to begin making changes on live systems without the proper planning which is cautioned elsewhere in the book.
Since the theory and practice cannot be completely separated, my only suggestion for improving this would be through altered layout, for example using recognisable boxes signaling to the user “either do the things in this section now or skip the box to carry on reading through”. While this technique is used to good effect for lists of settings, services and so on, it could be extended to improve both the process of reading through, and of finding individual details more efficiently as a reference source.
Almost all the tools and utilities covered are from Microsoft, although this does not appear to be a matter of loyalty or a banal free advertisement, rather it makes the methods used available to all readers for little or no cost. (A few of the tools come from the Resource Kits, so while they have an associated cost, it is quite likely that many organisations will already have these, possibly via Technet or MSDN). It means that concerns of interaction between tools and of any ongoing support issues are removed – if all your tools come from the same source you have the best chance of success or of proper assistance if all else fails.
Also absent is any discussion of additional Microsoft products which might be considered clear extensions of the hardening toolkit but require more expenditure, such as SMS and ISA server. The appendix of further reading would perhaps have been a good place to indicate some sources of additional software without too much time spent on the details of usage of every one and with an appropriate rider of “buyer beware” where appropriate, but the author unfortunately chose not to take this opportunity.
Unfortunately the legislation-related part of the last chapter is entirely US-orientated, and it would have been nicer to find some additional material (possibly from a second contributing author) covering UK issues, since there are some huge differences not just in the actual laws but in the underlying culture in which they are applied. Since many of the relevant areas are deliberately the same or similar in other EU countries as well (such as Data Protection, Freedom of Information and the Human Rights Act), this ought to make this chapter a lot more relevant to a wider audience.
This book does not cover non-Windows systems such as Linux, nor network infrastructure elements such as hardware firewalls, routing, packet sniffing and so on. You should not be misled by chapter headings – the sections on network infrastructure deal with physical security of various devices and with Windows based security features such as using IPSEC, how to harden RRAS, encryption and so on, but a firm line is drawn as to what constitutes hardening a Windows system and what is a supporting product or service. However, it is fairly clear from the outset what the book covers and what it does not, and there are three other books (by different authors) in the “Hardening” series covering Linux, Network Infrastructure and Code respectively. It would be unreasonable to expect any book to cover all of these properly in one volume, so “Windows Systems” is a broad but reasonable scope to adopt.
Firstly, I feel this is not a book which would be well received by non-technical senior management nor worth their time. While the CIO of a medium-sized firm may still be sufficiently in touch with the “nuts and bolts” of the systems to oversee day-to-day operations, this book remains unashamedly technical. Despite those few chapters which discuss the more human aspects of the hardening process, this is one small part of an otherwise technology-led approach, and these chapters are best used by technical staff and IT managers as an insight into how they must engage with the business management and users to meet them on their own terms. There are better books for non-technical executives relating in simple, human and business terms why security is important and in general how to go about the process of improving it.
Some of the topics covered (particularly the first chapter) could be easily followed with some success by an administrator with very little experience. However, this principle cannot be extended to some of the more complex areas of security in this book – a little knowledge may be a dangerous thing here. It is quite possible that trying to apply some of the hardening measures suggested without a deeper understanding of their functions, sufficient testing in a particular environment and a proper approach to rollback or recovery could render a system unusable just as likely as it might make it more secure.
I would therefore suggest that the target audience is primarily intermediate to advanced administrators, including those who may only be beginners in the security field as a specialty, or for whom security is only one part of their job. Furthermore, only the most experienced security professionals will find nothing of use or interest in this comprehensive, up to date and detailed book.
Overall, I am very happy to have read this book and now keep it handy on my shelf to refer to quite frequently, and would recommend others to do the same. I was very tempted to give this book a rating of 9/10 for its broad coverage and real, usable detail. Unfortunately I feel it is let down slightly by the lack of any discussion of additional tools from third parties and the slightly confusing switching between detail and big picture. I hope there will be an updated second edition in the future, for now this book receives a well-deserved rating of 8/10.
This review is © Copyright Adam Vero 2005 and was first published on Security-Forums Dot Com.
It may not be reproduced in any form in any media without the express permission of the author, or Security-Forums Dot Com.