强化计算机系统意味着使恶意黑客更加难以攻击。严格来说,系统强化意味着减少攻击面–攻击面是攻击者可能打击的所有点的组合。
步骤1.操作系统加固
系统强化的基本级别是在照顾操作系统的安全性。强化的操作系统使您可以避免许多安全威胁。
要强化服务器的操作系统:
- 卸载所有不必要的软件。每个程序都可能具有潜在的漏洞,该漏洞可能允许攻击者升级攻击。例如,这甚至包括不必要的编译器/解释器,因为它们可能使攻击者能够创建反向shell。
- 删除所有不必要的用户帐户,并确保用于运行服务的用户帐户没有过多的特权。例如,如果使用用户帐户运行Web服务器,则它可能根本不需要外壳程序访问,并且应具有最小权限。
- 为了避免未经授权的访问,请在访问控制中要求使用强密码(但不需要定期更改密码-发现这种做法不太安全)或使用基于密钥的身份验证。
- 如果您负担得起资源,请打开详细的日志记录。日志中包含的详细信息越多,攻击后分析日志就越容易。
- 启用自动操作系统修补程序或启用修补程序通知。安全补丁至关重要,自动安装补丁程序更加安全。
请注意,以上一般提示适用于所有操作系统:Linux / UNIX,Microsoft Windows,macOS以及任何其他操作系统。但是,特定情况可能适用于特定系统。例如,在Windows上,您可能还希望专注于组策略。
步骤2.网络强化
网络强化的范围不限于服务器,通常还包括其他网络设备。但是,在您管理的服务器级别上,您可以做很多事情来提高网络安全性。
要加强服务器上的网络连接:
- 如果此服务器上未使用所有不必要的服务,请关闭并卸载所有不必要的服务。例如,FTP,Telnet,POP / SMTP等。这将使您消除所有不必要的开放网络端口。
- 强制执行严格的防火墙规则。如果这是专用的Web服务器,请确保仅允许的传入连接是Web连接和潜在的管理连接(例如SSH)。
- 如果您有足够的资源,请监视传出的连接中是否存在潜在的反向外壳。
加固操作系统时,已经进行了很多网络加固。但是,如果您不是唯一有权访问服务器的人,则最好防止他人打开不安全的网络连接。
步骤3. Web服务器强化
由于我们假设服务器的主要功能是托管Web应用程序,因此您必须专注于强化Web服务器软件。
要加强您的Web服务器:
- 删除所有不必要的Web服务器模块。默认情况下,许多Web服务器都带有几个引入安全风险的模块。
- 修改默认配置设置。例如,许多Web服务器的默认设置都支持旧的SSL / TLS协议。这意味着您的服务器容易受到BEAST或POODLE之类的)攻击。
- 为Web应用程序打开附加保护。例如,引入内容安全策略(CSP)。
- 安装并运行Web应用程序防火墙(WAF)。大多数Web服务器都支持开源ModSecurity防火墙。
- 如果可能,将补丁服务器软件自动更新到最新版本,或者打开通知以进行手动补丁。
我们还提供了用于加固最受欢迎的Web服务器的详细指南:
- 了解如何强化Nginx
- 了解如何强化Apache
- 了解如何强化IIS
步骤4. Web应用程序强化
如果您已经对Web安全有所了解,那么您就会知道大多数Web漏洞是Web应用程序中错误的结果,而不是底层软件(例如Web服务器或操作系统)中的错误。因此,这是最重要的步骤。
强化您的Web应用程序:
- 使用网络漏洞扫描程序定期扫描所有Web应用程序。尽早消除所有漏洞。最好的方法是在开发阶段扫描应用程序,例如使用Jenkins。
- 执行进一步的渗透测试。漏洞扫描程序可以找到大多数安全漏洞,而渗透测试人员将能够找到无法自动检测到的漏洞。渗透测试和漏洞扫描应被视为补充活动,而不是替代性活动。
- 如果存在无法立即消除的漏洞,请向Web应用程序防火墙中添加临时规则。
安全编码虽然不是增强自身的一部分,但对于Web应用程序安全性而言非常重要。因此,如果您的组织推广它,那么您将有较少的漏洞需要担心。
步骤5.连续硬化
关于硬化最重要的事情是,这是一个永无止境的过程。您应该执行常规的系统强化检查,以确保您的安全配置是最新的,所有安全措施仍在适当的位置,并且不会对信息安全造成新的威胁。此类新威胁可能来自服务器的其他用户,Web应用程序的开发人员,也可能仅是由于现有软件中存在的漏洞引起的。
幸运的是,部分过程可以自动化。例如,您可以使用补丁程序管理软件来确保您的密钥软件始终是最新的。您还可以使用Web漏洞扫描程序运行计划的扫描以确保新的和更新的Web应用程序不会引入网络安全威胁。
最好的方法是维护一个强化清单,该清单最初是在您第一次强化练习时创建的,然后在发现使系统不太容易受到攻击的新方法时进行修改。
Web 系统加固的方法有以下这些:
卸载所有不必要的软件。每个程序都可能具有潜在的漏洞,该漏洞可能允许攻击者升级攻击。例如,这甚至包括不必要的编译器/解释器,因为它们可能使攻击者能够创建反向shell。
删除所有不必要的用户帐户,并确保用于运行服务的用户帐户没有过多的特权。例如,如果使用用户帐户运行Web服务器,则它可能根本不需要外壳程序访问,并且应具有最小权限。
为了避免未经授权的访问,请在访问控制中要求使用强密码(但不需要定期更改密码-发现这种做法不太安全)或使用基于密钥的身份验证。
如果您负担得起资源,请打开详细的日志记录。日志中包含的详细信息越多,攻击后分析日志就越容易。
启用自动操作系统修补程序或启用修补程序通知。安全补丁至关重要,自动安装补丁程序更加安全。
如果此服务器上未使用所有不必要的服务,请关闭并卸载所有不必要的服务。例如,FTP,Telnet,POP / SMTP等。这将使您消除所有不必要的开放网络端口。
强制执行严格的防火墙规则。如果这是专用的Web服务器,请确保仅允许的传入连接是Web连接和潜在的管理连接(例如SSH)。
如果您有足够的资源,请监视传出的连接中是否存在潜在的反向外壳。
删除所有不必要的Web服务器模块。默认情况下,许多Web服务器都带有几个引入安全风险的模块。
修改默认配置设置。例如,许多Web服务器的默认设置都支持旧的SSL / TLS协议。这意味着您的服务器容易受到BEAST或POODLE之类的)攻击。
为Web应用程序打开附加保护。例如,引入内容安全策略(CSP)。
安装并运行Web应用程序防火墙(WAF)。大多数Web服务器都支持开源ModSecurity防火墙。
如果可能,将补丁服务器软件自动更新到最新版本,或者打开通知以进行手动补丁。
常见的web服务器无非两种,一种是windows,另一种是Linux。这两种web服务器的加固无非就是禁用无用账号、使用强口令、关闭不必要的服务,比如Xinetd服务。设置文件系统的访问权限,把不想给用户看的文件或者说重要系统配置文件隐藏,最后就是把日志文件一定一定要隐藏好,无论是windows还是linux,吧系统日志、安全日志隐藏和备份是非常有必要的,应为日志会记录所有用户的登陆和操作。日志也可以帮助在服务器被攻击后溯源和找到攻击者。
常见的web服务器无非两种,一种是windows,另一种是Linux。这两种web服务器的加固无非就是禁用无用账号、使用强口令、关闭不必要的服务,比如Xinetd服务。设置文件系统的访问权限,把不想给用户看的文件或者说重要系统配置文件隐藏,最后就是把日志文件一定一定要隐藏好,无论是windows还是linux,吧系统日志、安全日志隐藏和备份是非常有必要的,应为日志会记录所有用户的登陆和操作。日志也可以帮助在服务器被攻击后溯源和找到攻击者。