我有一台专用服务器,Windows Server 2016、IIS、Sql Server 2018 企业版,带有 MS SQL Server 数据库。我使用此服务器托管我的 dotnet core 应用程序,我通过远程桌面管理此服务器。托管网站在服务器上安装了 SSl 证书。我想知道我应该采用哪些最佳实践来完全保证我的服务器以及我托管的 Web 应用程序及其连接的 SQL 数据库的完全安全。此外,我想知道是否有任何可信赖的工具可以衡量我的服务器、我的 Web 应用程序和 SQL 数据库的安全级别
提前致谢
答案1
- 研究你正在使用的操作系统中的常见漏洞
- 使用端口/漏洞扫描器检查哪些端口承载服务(您应该丢弃不承载服务的端口上的所有传入流量)
- 使用综合扫描器检查您开放的端口上的软件版本(您需要保持所有暴露在互联网上的软件包都是最新的,并研究这些开放软件中的常见漏洞)
- 确保您的系统上没有安装任何编译器。如果攻击者设法获取您机器上的远程 shell,他们可以使用编译器编译特权升级漏洞。(防止本地特权升级漏洞)
- 切勿使用默认密码
- 将您的 IP 地址服务(例如 SQL 和 SSH)列入白名单并拒绝所有其他地址(并非总是需要)
- 记录一切可能的事情
- 经常检查日志
- 如果服务器用于网站,我建议使用 CDN
再次强调,确保所有软件包都是最新的!远程访问的新漏洞经常被创建和/或修补!
lynis
是一个很好的漏洞扫描器,但不确定是否有 Windows 版本。