Why this section is relevant: Servers are an important piece of the overall attack surface of any IT infrastructure. Even seemingly less-sensitive systems should be carefully evaluated, because a single poorly configured system can help an attacker get a foot in the door. From there, they might gain access to more sensitive systems nearby (other servers, clients, etc.).
Warning — possible high-risk issue
A set of hardening and/or build standards for servers helps to ensure that all systems are appropriately hardened. These standards should be applied to internally and externally exposed systems, and should include requirements such as:
- Removing or disabling all non-essential services
- Disabling all default accounts and/or changing the password
- Review/tightening of permissions for key files and directories
- Setting up logging
- Securely configuring remote access and management interfaces
- Setting up appropriate host-based firewall rules
- Securely configuring a backup mechanism
You probably won't have to create these standards from scratch. Publicly available hardening guides can help you set requirements for your company's systems.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
The topics listed in this question should be part of any set of hardening and build standards. You probably won't have to create these standards from scratch. Publicly available hardening guides can help you set requirements for your company's systems.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
Even though internal servers (and the services they provide) might not be directly exposed to the Internet, it is important to harden them as a second layer of defense. If an attacker manages to compromise a single system, it should still be difficult for them to expand their access. Also, internal servers might be exposed indirectly as backends.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
Because your project seems to handle sensitive data, it's important to document your hardening and build standards. Documentation helps ensure that standards are consistently applied, no matter which employee actually performs the hardening.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Server and service configuration tends to become more complex over time. Without established processes, configuration can become inconsistent among similar systems within the fleet. This is a common source of security issues: some systems are overlooked and continue to have issues that are caused by the configuration. Because your project has stricter requirements for confidentiality, integrity, and/or availability, it's important to establish configuration management processes.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
Your project seems to handle sensitive data. Processes should be in place for regularly reviewing configuration files and settings, to ensure that they are appropriate and safe.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible critical-risk issue
Unfortunately, security bugs and vulnerabilities cannot always be caught during the development process, particularly if the software is complex. Software vendors often issue patches and security fixes to address vulnerabilities that were identified after rollout. It is essential to have processes in place to monitor vulnerabilities in software and apply patches as soon as possible. Note that once a patch has been released, the vulnerability is public, so attackers can easily exploit it.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Not all patches are equally important; some must be installed very quickly to protect against likely compromise. Your patching process should include carefully considering the risk caused by each vulnerability, and triggering emergency procedures when appropriate so that affected systems are patched as soon as possible.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Relying on the update mechanism built into the operating system is generally not sufficient; typically, many applications are not covered. You should maintain an inventory of all software that is not covered by built-in updates, and your administrators should subscribe to the key sources of information on updates for that software.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
Patches that are deployed without prior testing may have an adverse affect on the availability and integrity of the data hosted on your servers. Unfortunately, there is a long history of faulty security patches. It is generally impossible to test security updates exhaustively in all possible scenarios, so to be safe, you should first deploy patches on test systems that closely mimic your production environment.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Comprehensive logging of security events is absolutely essential for both the identification and the investigation of security incidents. Comprehensive logging is strongly recommended for systems with direct access to confidential information, as well as for surrounding systems.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
Unfortunately, not all security incidents can be identified right away. Log files should be retained for at least six months so incidents can be appropriately investigated, even when they're discovered later on.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
With a central log collection location for all relevant networking systems, you can more easily correlate significant events across multiple sources. Centralizing also simplifies log review.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
Using domain administrator accounts all the time is fairly dangerous. When a system is compromised, the attacker inherits the privileges of the compromised user, so it's especially problematic when the user is a domain administrator. Administrators should use separate, regular accounts for most tasks, and that they authenticate as domain admins only when necessary. Readily available Windows tools (such as runas.exe) make this fairly simple.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
When the root account is used for privileged actions, it's impossible to later trace the action to a specific person. The root password for *nix systems should be a highly guarded secret that is kept in a secure physical location (e.g., in an envelope in a safe), retrieved only when absolutely necessary, and changed after each use.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
When the root account is used for privileged actions, it's impossible to later trace the action to a specific person. The root password for *nix systems should be a highly guarded secret that is kept in a secure physical location (e.g., in an envelope in a safe), retrieved only when absolutely necessary, and changed after each use.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
When you have separate individual accounts on each system, you can't centrally disable accounts or change a password for all machines. Individual accounts can be overlooked when an employee leaves the company, or you might forget to change a password on a specific machine. Having a central directly for authentication makes account management much easier and safer.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
It appears that your project has strict requirements for confidentiality, integrity, and/or availability. To meet these requirements, you should regularly review administrative actions in order to catch and revert unauthorized changes.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
If availability and integrity are important to your project, you should synchronize data between your primary site and a data center. Having a backup site helps ensure that an incident at one site does not result in data loss or inconsistencies.
If you feel that this project does not require near-real-time synchronization of data, or you have other mitigating controls in place, please explain below:
Warning — possible medium-risk issue
Even if you synchronize data in near real time with an alternate site, you may also need to maintain a backup on tape or other removable media. Synchronization issues sometimes cause inconsistencies and mistakes that are propagated through multiple data centers, resulting in permanent data loss. Only regular backups that are stored offline can ensure recovery (for example, if something is accidentally deleted). Note that backups on removable media should be encrypted and stored off-site at a safe location.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Data on backup media is generally exposed to certain elevated risks, such as during transport to an off-site storage facility. Confidential data should be encrypted on backups. Encryption also makes it easier to destroy data — if the backup key is destroyed, the data can no longer be recovered and therefore can also be considered destroyed.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
When backup media is stored near the main systems, there is a chance that in a disaster, both might be destroyed at the same time and significant data loss will occur.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
Backups can only help if they work as expected, of course, and to make sure that is the case, recovery should be tested regularly. Testing should include both the common case of recovering small amounts of very specific data from backup media (e.g., files that have been accidentally deleted), as well as the (with luck, much rarer) case of restoring an entire system from backup.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
To ensure that outsourcing providers adhere to your policies and employ adequate security practices, it's important to regularly audit them. These security audits should be done at least annually so the providers can adapt to changing security requirements and identify possible issues quickly.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Why this section matters: In most companies, almost all IT-related work is performed from client computers. Even if certain data is stored in the cloud or on highly secure servers, it's the laptops and desktops that are used to access this information. An attacker who manages to compromise a client computer will in most cases be able to completely impersonate the user of the machine, gaining the same access rights. If an administrator's client machine is affected by an attack, the attacker will likely be able to escalate their foothold to many other important systems in your company. It's therefore critical to ensure the security of the client machines used by your employees.
Warning — possible high-risk issue
A set of hardening and/or build standards should be applied to all client systems that are provided to users, and should include requirements such as:
- Removing or disabling all non-essential services
- Disabling guest and default accounts
- Review/tightening of permissions for key files and directories
- Setting up logging
- Setting up appropriate host-based firewall rules
- Configuring anti-malware tools
- Securely configuring VPN client software (where appropriate)
- Ensuring the security of local administrative accounts
- Setting up whole-disk encryption.
>You probably won't have to create these standards from scratch. Publicly available hardening guides can help you set requirements for your company's systems.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Techniques such as the ones listed above should be part of any set of hardening and build standards for client systems. You probably won't have to create these standards from scratch. Publicly available hardening guides can help you set requirements for your company's systems.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Security requirements and other client system settings can be very difficult to manage, particularly with a large fleet of client systems. Mobile devices make this even more difficult, as they are often not in the same place and are easily overlooked. This is a common source of security issues; you should have a central way to manage client devices.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
Availability, integrity, and/or confidentiality seem to be critically important for the data, systems, or services you provide. Processes should be in place for regularly reviewing standard client builds, to ensure that they are appropriate and safe.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible critical-risk issue
Unfortunately, security bugs and vulnerabilities cannot always be caught during the development process, particularly if the software is complex. Software vendors often issue patches and security fixes to address vulnerabilities that were identified after rollout. It is essential to have processes in place to monitor vulnerabilities in software and apply patches as soon as possible. Note that once a patch has been released, the vulnerability is public, so attackers can easily exploit it.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Not all patches are equally important. Patches that fix remotely exploitable issues in client systems must be installed very quickly to protect against compromise. Your patching process should include carefully considering the risk caused by each vulnerability, and triggering emergency procedures when appropriate so that affected systems are patched as soon as possible.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Relying on the update mechanism built into the operating system is generally not sufficient; typically, many applications are not covered. You should maintain an inventory of all software that is not covered by built-in updates, and your administrators should subscribe to the key sources of information on updates for that software.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Malware has become one of the most pervasive problems in computer security. Many computers on the Internet are infected with malware. It's important to have effective controls in place that detect, and ideally avert, malware infections.
Unfortunately, correctly identifying malware has become extremely difficult; it's very easy for malware authors to slightly modify their creations and evade detection. For best results, limit client systems to a whitelist of identified known good software. Products that facilitate a whitelist approach include Google Santa, Microsoft AppLocker and Bit9 Parity.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Comprehensive logging of security events is absolutely essential for both the identification and the investigation of security incidents. Client systems are often the first target a serious attacker will attempt to compromise, so it's important to have logging in place to catch such events.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
Unfortunately, security incidents can't always be identified right away. Log files should be retained for at least six months so incidents can be appropriately investigated, even when they're discovered later on.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
With a central log collection location for all relevant client systems, you can more easily correlate significant events across multiple sources. Centralizing also simplifies log review.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Allowing users to have administrator access is generally considered dangerous. In a malware attack or vulnerability exploit, the attacker inherits the user's privileges. It's fine to grant local administrative access on a need-to-have basis, but administrator privileges should be considered a risk, particularly for users who are not very well-versed in IT.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
On both Windows and Linux machines, it is relatively easy to steal the hashes of the local administrator/root account. Using modern brute-force methods (such as rainbow tables, GPU cracking, etc.), literally billions of passwords can be tried each second. At that rate, even strong passwords can be found out in a very short amount of time. For best results, disable local administrative accounts or set different passwords for each machine. Otherwise an attacker who cracks the local administrator/root password will be able to expand their access to your entire fleet of client machines. Microsoft has released the Local Administrator Password Solution (LAPS) tool to help address this issue in Windows environments.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible critical-risk issue
As of April 8, 2014, Windows XP is no longer supported and does not receive security updates or patches for critical vulnerabilities. Windows XP was originally released more than a decade ago, and it lacks many of the security controls that are common in more modern operating systems. Many exploits do not work on newer operating systems, thanks to mitigations that make buffer overflows and other memory corruption issues hard to exploit. Using up-to-date software and operating systems is an absolute necessity.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Trusting users to encrypt sensitive information on laptops is almost never an effective strategy. Full-disk encryption is strongly recommended. If a laptop contains information that might directly or indirectly compromise our confidential data (including data that indirectly gives access to our information, such as SSH keys, password hashes that may be reused on production systems, etc.), the hard disk must be fully encrypted. It's vital to ensure that the loss or theft of a laptop will not result in a data leak.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible medium-risk issue
Mobile devices are extremely easy to lose or steal. If your users can access confidential information (or other information that might be used to indirectly gain access to confidential data) from mobile devices, adequate encryption is essential. Ideally, a device policy should be rolled out to all corporate phones to enforce encryption and password requirements, and to provide remote wipe functions.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Your project seems to deal with confidential information. On devices that contain information that might directly or indirectly compromise confidential data (including data that indirectly gives access to information, such as SSH keys, password hashes that may be reused on production systems, etc.), full-disk encryption must be enabled.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Because this project seems to deal with sensitive data, you should ensure that all confidential information is encrypted anytime it is stored on media that may be taken outside of a physically secure facility.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Why this section matters: In addition to audits of your information security program, you should perform technical security testing of information systems to make sure they function as intended, and that the data is properly protected. Some security issues, particularly in proprietary software, can only be identified manually; therefore both manual and automated testing should be performed. Even if the project exclusively uses standard off-the-self software, technical security testing helps ensure that software and infrastructure are configured securely and free of known security issues.
Warning — possible critical-risk issue
Technical testing by security specialists is absolutely necessary to ensure the security and proper configuration of all software that's used to handle confidential and sensitive information.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Unfortunately, automated security testing is insufficient. Many security issues can only be discovered by manual tests. Automated security scans can (and should) be performed internally as well. It's not necessary to hire outside consultants for internal scans.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Information systems are usually subject to frequent changes, and security threats also evolve rapidly. For these reasons, it's important to repeat security testing frequently (at least annually) to make sure security issues were not introduced by recent changes.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Automated security scans are a low-cost, low-effort way to make sure that known vulnerabilities and insecure misconfiguration in standard software are quickly identified and can be addressed. For best results, perform automated security scans at least quarterly. Ideally, scans should apply to both externally exposed and internal-only systems.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Warning — possible high-risk issue
Information systems are usually subject to frequent changes, and security threats also evolve rapidly. For these reasons, it's important to repeat security scans frequently (at least quarterly) to make sure security issues have not been introduced by recent changes or recently discovered in off-the-shelf software.
If you have compensating controls in place or feel that this issue does not constitute a risk in your specific circumstances, please explain below. If you're working to address this issue, include an estimate of when it will be resolved:
Tip
It's important to scan both externally exposed and internal systems. The results of these scans are extremely valuable for vulnerability and patch management. They can — with very low effort — quickly identify components that have not received necessary patches.
Tip
Not every company can have the necessary know-how to do technical security/penetration tests on their own. But because your project has very high confidentiality and/or integrity requirements, it's important to have sufficient know-how and resources to do in-house technical testing of the services you provide.
Tip
Not every company can have the necessary know-how to do technical security/penetration tests on their own. To compensate, in-depth and frequent third-party penetration tests should be performed on both externally exposed services and internal-only systems.
Tip
Thank you for your diligence!