做一个展示型网站要多少钱,seo优化是啥,网站可以做信息抓取吗,很有质感的网站.NET Core大大简化了.NET应用程序的开发。它的自动配置和启动依赖大大减少了开始一个应用所需的代码和配置量#xff0c;本文目的是介绍如何创建更安全的.NET Core应用程序。1.在生产中使用HTTPS传输层安全性#xff08;TLS#xff09;是HTTPS的官方名称#xff0c;你可能听… .NET Core大大简化了.NET应用程序的开发。它的自动配置和启动依赖大大减少了开始一个应用所需的代码和配置量本文目的是介绍如何创建更安全的.NET Core应用程序。1.在生产中使用HTTPS传输层安全性TLS是HTTPS的官方名称你可能听说过它称为SSL安全套接字层SSL是已弃用的名称TLS是一种加密协议可通过计算机网络提供安全通信。其主要目标是确保计算机应用程序之间的隐私和数据完整性。过去TLS / SSL证书很昂贵而且HTTPS被认为很慢现在机器变得更快已经解决了性能问题Lets Encrypt提供免费的TLS证书,这两项发展改变了游戏并使TLS成为主流。截至2018年7月24日Google Chrome 将HTTP网站标记为“不安全”。虽然这在网络社区引起了相当多的争议。知名安全研究员特洛伊亨特创建了一个 为什么不适用HTTPS 跟踪不使用HTTPS的大型网站的网站。Let’s Encrypt TLS证书可以自动化生成和更新由于他们是免费的所以没有理由不去做要在ASP.NET Core应用程序中强制使用HTTPSASP.NET Core 2.1版本已经默认支持HTTPS。----------public void ConfigureServices(IServiceCollection services) 部分services.AddMvc(options {options.Filters.Add(new RequireHttpsAttribute());//所有请求都使用HTTPS})---------public void Configure(IApplicationBuilder app, IHostingEnvironment env) 部分var options new RewriteOptions().AddRedirectToHttps();app.UseRewriter(options);app.UseHttpsRedirection();另一个重要的事情是使用HTTP严格传输安全性HSTS。HSTS是一种Web安全策略机制可以保护网站免受协议降级攻击和cookie劫持。服务器使用名为Strict-Transport-Security的响应头字段将HSTS策略传送到浏览器。ASP.NET Core默认发送此标头以避免在开始时出现不必要的HTTP跃点。 具体参考 https://docs.microsoft.com/zh-cn/aspnet/core/security/enforcing-ssl?viewaspnetcore-2.1tabsvisual-studio 2、升级到最新版本定期升级应用程序中的依赖项有多种原因。安全性是让您有升级动力的最重要原因之一。 基础架构升级通常不如依赖项升级具有破坏性因为库作者对向后兼容性和版本之间的行为更改的敏感性各不相同。话虽如此当你在配置中发现安全漏洞时您有三种选择升级修补程序或忽略。在对应用程序进行必要的更改以使用较新版本之后就应用程序的整体运行状况而言升级是最安全的。3、启用CSRF保护跨站点请求伪造(Cross-Site Request Forgery )是一种攻击强制用户在他们当前登录的应用程序中执行不需要的操作。如果用户是普通用户一个成功攻击可能涉及请求的状态更改如转移资金或更改其电子邮件地址如果用户具有提升管理员的权限则CSRF攻击可能会危及整个应用程序。ASP.NET Core具有出色的CSRF支持ASP.NET Core使用 ASP.NET Core data protection stack 来实现防请求伪造。默认情况下处于启用状态CSRF令牌将自动添加为隐藏输入字段。如果你使用的是像Angular或React这样的JavaScript框架则需要配置CookieCsrfTokenRepository以便JavaScript可以读取cookie。参考 https://www.cnblogs.com/tdfblog/p/aspnet-core-security-anti-request-forgery.html 4、使用内容安全策略防止XSS攻击内容安全策略CSP是一个增加的安全层可帮助缓解XSS跨站点脚本和数据注入攻击。 参考 http://www.cnblogs.com/wang2650/p/7785106.html 5、使用OpenID Connect进行身份验证OAuth 2.0是行业标准的授权协议。它使用scope来定义授权用户可以执行的操作的权限。但是OAuth 2.0不是身份验证协议并且不提供有关经过身份验证的用户的信息。OpenID ConnectOIDC是一个OAuth 2.0扩展提供用户信息除了访问令牌之外它还添加了ID令牌以及/userinfo可以从中获取其他信息的端点它还添加了发现功能和动态客户端注册的端点。如果使用OIDC进行身份验证则无需担心如何存储用户、密码或对用户进行身份验证。相反你可以使用身份提供商IdP为你执行此操作你的IdP甚至可能提供多因素身份验证MFA等安全附加组件。.NET Core具有良好的OpenID Connect 标准的基础我们可以很容易的通过Identity Server4 等开源项目实现OpenID Connect的身份认证。6、安全地存储敏感数据应谨慎处理敏感信息如密码访问令牌等你不能以纯文本形式传递或者如果将它们保存在本地存储中。由于GitHub的历史已经一次又一次证明开发人员并没有仔细考虑如何存储他们的秘密。一个好的做法是将保密信息存储在保管库中该保管库可用于存储提供对应用程序可能使用的服务的访问权限甚至生成凭据。HashiCorp的Vault使得存储机密变得很轻松并提供了许多额外的服务。7、使用OWASP的ZAP测试您的应用程序OWASP Zed Attack Proxy简写为ZAP是一个简单易用的渗透测试工具是发现Web应用中的漏洞的利器更是渗透测试爱好者的好东西。OWASP ZAP安全工具是针对在运行活动的应用程序进行渗透测试的代理。它是一个受欢迎的超过4k星免费的开源项目托管在GitHub上。OWASP ZAP用于查找漏洞的两种方法是Spider和Active Scan。Spider工具以URL种子开头它将访问并解析每个响应识别超链接并将它们添加到列表中。然后它将访问这些新找到的URL并以递归方式继续为您的Web应用程序创建URL映射。Active Scan工具将根据潜在漏洞列表自动测试你选择的目标。它提供了一个报告显示Web应用程序可被利用的位置以及有关漏洞的详细信息。参考http://www.cnblogs.com/tdcqma/p/5344494.html 8、让你的安全团队进行代码审查代码评审对任何高性能软件开发团队都至关重要。我们所有的生产代码和官方开源项目都需要通过我们的专家安全团队进行分析但如果你正在处理敏感数据也许你应该这样做可以参考的工具https://github.com/security-code-scan/security-code-scan 相关文章独立版Jexus配置SSL支持https访问ASP.NET Core Web API 与 SSL.NET MVC CSRF/XSRF 漏洞ASP.NET Core 防止跨站请求伪造XSRF/CSRF攻击ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)基于Service fabric Ocelot Identity Server4 52ABP 的案例展示ASP.NET Core Web API Identity Server 4 Angular 6 实战小项目视频Identity Server 4 - Hybrid Flow - 使用ABAC保护MVC客户端和API资源Identity Server 4 - Hybrid Flow - ClaimsIdentity Server 4 - Hybrid Flow - MVC客户端身份验证Identity Server 4 预备知识 -- OpenID Connect 简介ASP.NET Core 2.0 机密配置项ASP.NET Core中的OWASP Top 10 十大风险-失效的访问控制与Session管理ASP.NET Core中的OWASP Top 10 十大风险-SQL注入基于Win10极简SonarQube C#代码质量分析原文地址: https://www.cnblogs.com/shanyou/p/9952663.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com