imToken 是一款全球领先的区块链数字资产管理工具[ZB],帮助你安全管理BTC, ETH, ATOM, EOS, TRX, CKB, BCH, LTC, DOT, KSM, FIL, XTZ 资产,同时支持去中心化币币兑换功能 ...
Access-Control-Allow-Methods: GET
28、合理使用,避免防跨站请求伪造等漏洞。
它仍然是一个比较新的技术,技术文档很少使用它,难免会存在一些风险。因此,在使用时一定要做到以下几点:
HSTS也受到影响,它会自动将非加密连接升级为wss://
如果想要双保险,可以使用防跨站请求伪造token作为URL参数。但是,您需要为每个任务创建一个一次性的独立令牌,而不是直接使用防跨站请求伪造令牌,因为后者主要用于为应用程序的其他部分提供安全性。
29.使用U2F令牌或客户端证书来保护系统的关键用户免受网络钓鱼攻击
如果系统可能面临网络钓鱼攻击的威胁,用人的话来说,“如果存在这样的可能性:攻击者创建一个假网站来欺骗管理员/CEO或其他用户的信任,从而窃取他们的用户名、密码和验证code”,那么就应该使用U2F token或者客户端证书来防止这种攻击,这样即使攻击者有用户名、密码和验证码,也无法成功。
注意:强调网络钓鱼防护往往会给普通用户带来不必要的麻烦。然而,对于最终用户来说,多一个选择并不是一件坏事。另外,有必要提前告知用户网络钓鱼攻击的危险性。
30.防止跨站点泄漏
跨站泄露是一系列浏览器侧通道攻击。此攻击允许恶意网站推断其他 Web 应用程序用户的信息。
这种攻击已经存在很长时间了,但浏览器最近才开始添加有针对性的预防机制。您可以在本文中了解有关此类攻击以及应实施的安全控制的更多详细信息。
2、服务器端威胁防御
其次,有服务器端威胁防御。这里从应用系统、基础设施、应用架构、应用监控、事件响应等不同方面总结了以下建议:
2.1 应用系统 31、验证用户输入的合法性
此类措施中最关键的一点是尽可能严格地验证所有用户输入的有效性。正确的验证使系统漏洞更难以检测和利用。直接拒绝非法用户输入,而不是尝试清除它。验证的方面包括以下内容:
32. 优雅的异常处理,避免技术细节泄露
不要向最终用户显示堆栈跟踪或类似的调试信息。使用全局异常处理程序来处理异常并向浏览器显示简单的错误消息。这使得攻击者更难发现和利用系统中的漏洞。
33.不要验证自己的身份
对用户进行身份验证时可能会出现各种问题:抵抗密码猜测攻击、用户枚举攻击、管理密码重置以及存储用户凭据都很困难。密码处理虽然复杂,但我们普通人还是不要尝试为好。
直接使用auth0等类似工具进行认证,并使用一些广泛使用且安全的软件模块来实现通信协议(常见的)。如果您不想使用第三方身份提供商(例如 auth0),您也可以自己构建类似的服务。
34. 验证一切以减少攻击面
默认情况下,应用程序系统必须对所有内容进行身份验证,除了某些静态资源、异常页面或注销页面。
35.使用多重身份验证
如果有人破坏了身份验证服务怎么办?如果有这样的顾虑,直接上多因素认证(通俗点讲:除了密码,还需要手机验证码)。这样,即使身份认证服务被黑客攻击,攻击者可以冒充任何人,但仍然无法知道手机收到的验证码。
36、通过严格的权限控制,避免未经授权的数据或功能访问。
虽然权限控制不是一件容易的事,但还是有方法可以妥善处理的:只要记住不要忘记在控制器方法中验证用户权限,这会导致用户越权的漏洞,包括:
为了进一步明确权限管理工具,以下是一些要点:
37. 使用适当的工具和技术来避免注入漏洞
注入漏洞有很多,而且都大同小异,有SQL注入、HTML注入、XML注入、XPath注入、命令注入、SMTP注入、响应注入等,名称不同但本质是一样的,解决方案是相似的:
我不会在这里讨论太多细节,但请记住:无论您的协议是什么token 权限管理·(中国)官方网站,请记住这一点。后面会列出一些常见的注入漏洞。
38.创建安全的数据库查询语句以避免SQL注入漏洞
如果您想避免 SQL 注入漏洞,请记住永远不要自己将 SQL 查询与字符串连接起来。使用对象关系映射框架(ORM)实现,可以使开发更高效,应用程序更安全。
如果您想构建更细粒度的查询,可以使用较低级别的 ORM。
如果您无法使用 ORM,请尝试准备语句,但要小心,因为这些语句比 ORM 更容易出错。
警告:
ORM框架并不是万能的,体现在两个方面:第一,它仍然支持原生SQL查询,最好不要使用此类查询;第二,它仍然支持原生SQL查询。其次,与任何其他软件一样,ORM框架也会不时暴露出漏洞。 。因此,坚持我们一再强调的策略:验证所有输入、使用 Web 应用程序防火墙 (WAF) 并保持软件包更新,这样您就可以顺利进行了。
39、谨慎使用操作系统的命令行,防止命令注入相关的漏洞。
如果可以避免,最好不要执行操作系统命令。如果无法避免这种情况,最好遵循以下准则:
40.正确配置XML解析器以避免XML漏洞
作为一种标记语言,XML 的危险在于它访问系统资源的能力。 XSLT 的某些实现甚至支持嵌入代码。因此,必须极其谨慎地处理。
41. 使用适当的类来构造 URL,以避免 URL 注入漏洞。
URL注入通常发生在以下几种情况:
flavour = request.getParam("flavour");
url = "https:/api.local/pizzas/" + flavour + "/";
return get(url).json();
如果设置为:
../admin/all-the-sensitive-things/
那么这个API请求就会变得,不是很危险吗?
解决方案仍然是使用合适的URL构建库将参数传递给URL,以便参数能够正确编码。
42、使用适当的类构建路径,避免路径遍历漏洞
就像 URL 地址一样,如果攻击者设法潜入路径中的某个位置,文件路径最终可能会指向意外位置。为了避免这种情况,请创建一个类来安全地构造路径并验证最终路径是否位于预期目录中。避免在文件路径中使用不受信任的数据,或者更好的是,完全避免使用文件系统并直接进入云存储。
43. 谨慎使用文件系统并接受不受信任的内容
如果允许用户写入服务器的文件系统,可能会出现各种问题。请改用云存储,或使用数据库中的二进制 blob。
如果必须访问磁盘,则应遵循以下准则:
44、不要动态执行代码,避免远程代码执行漏洞
不要使用 eval 或等效函数。寻找一种替代方法来实现代码执行。否则,不受信任的数据可能会进行可能在服务器上执行恶意代码的函数调用。
45.适当使用序列化以避免反序列化漏洞
反序列化不受信任的数据是危险的,很容易导致远程代码执行。
2.2 基础设施 46. 使用 Web 应用程序防火墙 (WAF)
安装防火墙将减少许多风险。这是一个不错的开源选择。
47.配置Web服务器以避免HTTP攻击
HTTP,也称为HTTP请求走私攻击,是指攻击者劫持随机用户向系统发出的HTTP请求。此类攻击一般发生在以下情况:
那么如何预防呢?一般根据所使用的产品:
48.使用容器
让目标应用程序与其他应用程序隔离运行。这样,即使发生攻击,攻击者也将无权访问未经授权的文件、系统或网络资源。因此,最好使用云环境来部署您的应用程序。如果由于某种原因必须使用服务器,则可以手动限制应用程序。
49.使用/
即使应用程序通过容器运行,仍然需要进一步采用或策略来进一步约束应用程序,以减少容器漏洞带来的威胁。
50. 使用具有最低权限的服务帐户
这种方法的优点是,即使发生攻击,也可以减少攻击造成的损失。再次强调,不可能列出所有情况,因此这里仅举几个例子来帮助您理解:
51.限制外部网络连接
攻击者通常需要建立一定的反向通信通道来建立控制通道或窃取数据。此外,一些漏洞还需要外部网络连接才能被发现和利用。
因此,不能允许应用程序自由访问外部网络,包括DNS。尝试在服务器上运行该命令。如果成功,说明你没有对外部网络连接做出适当的限制。如何处理此类问题一般取决于基础设施。
对于外部TCP/UDP/ICMP连接,一般可以通过以下方式禁用:
DNS处理起来稍微麻烦一些,而且我们通常需要允许一些主机的访问。
52.跟踪DNS记录以防止子域劫持
子域名劫持的场景示例如下:
如果我们拥有域名;
为了促销,我们购买了另一个域名并创建了一个映射的别名;
本次活动结束后,域名也将过期;
然而,从 到 的别名映射仍然存在;
如果有人购买了这个过期域名,可以直接指向该域名;
如果攻击者在该域名下提供了一些恶意内容,则可以通过域名直接访问;
因此,您需要密切关注您的 DNS 记录。如果有很多类似的情况需要处理,强烈建议您制定自动监控方案。
2.3 架构 53.创建内部API来访问数据源
您不应该过于信任连接到 的 Web 应用程序。例如,不应允许直接建立数据库连接。否则,当有人破坏应用程序时,整个数据库都将面临风险。
相反,我们应该构建一个多组件架构,例如:
如果黑客现在想要闯入我们的应用程序,即使成功了,他也不会拥有访问整个数据库的权限,而只会使用某个用户的令牌来访问该令牌允许访问的部分数据。
54. 内部连接也需要加密和验证。
不要盲目相信内部网的安全性,有很多方法可以破坏它。系统之间的访问,均采用TLS(即HTTPS)进行加密。最好在网络和系统级别对连接进行身份验证。
55、敏感信息集中管理
如果没有适当的敏感信息管理解决方案,就很难保持授权的短暂性、可审计性和机密性。因此,建议使用Vault等工具来集中管理密码、加密密钥和其他类似信息。
2.4 监控56、采集、分析、报警
将日志收集集中到独立系统中,例如 SIEM(安全信息和事件监控系统)。在此系统中,当发生表明存在漏洞或攻击的事件时,可以发出警报。当发生严重威胁时,可以立即通知相关人员。
57.收集系统安全事件
最重要的日志来源可能是系统本身。当可疑行为发生时,系统应该能够引发异常、记录事件,如果可能的话,甚至自动阻止可能导致问题的用户或 IP 地址。常见的可疑行为包括:
58.收集运行时安全日志
使用Falco等运行时安全监控工具来检测系统异常访问。如果采用的话,Falco 特别有用。还可以远程收集和监控日志。
59. 收集/日志
如果我们制定了阻止外部连接的策略,但系统突然向外部网站发起HTTP请求(例如),则需要立即引起重视。或者您的系统可能正在尝试访问 /etc/.这两种情况都表明有人在我们的系统中发现了漏洞。
60.收集Web服务器事件
对于Web服务器软件来说,至少要收集访问日志和错误日志,然后发送到集中的日志服务器。这将有助于我们在应对突发事件时快速理清时间表。
61.收集Web应用程序防火墙(WAF)日志
如果您按照上面的建议使用 Web 应用程序防火墙 (WAF),也请收集此日志。但没有必要为这个日志设置警报,因为它基本上会收到来自互联网的各种问题,其中有些问题并不是你需要担心的。
2.5 事件响应 62. 制定响应计划
一旦我们的系统被监控和加固,攻击者就很难快速定位系统漏洞,即使最终被发现,我们也能很快了解情况。
但仅仅了解情况还不够,还需要做好以下准备:
6、开发管理
63. 威胁模型
系统地思考“可能会出现什么问题”并做出相应的调整。设计新系统时,越早开始这一步越好。当系统发生变化时,流程就会重新组织。
例如:
小王:如果攻击者侵入我们连接互联网的服务器怎么办?
小陈:就是这样!
小王:好的!这表明我们这里有信任关系,我们相信连接到互联网的服务器不会被破坏。我们可以相信这一点吗?
小陈:不一定!有一百种方式可能导致我们的服务器被黑客攻击,例如我们的代码中的漏洞,或依赖项中的漏洞,或我们的网络服务器上安装的软件中的漏洞。
小王:好的!因此,让我们打破这层信任。接下来该怎么办?
小陈:让我们这样分解系统:创建一些内部接口来实际访问数据库。从此以后,前端Web服务器就无法直接访问后端的一切了。
小王:这个主意好!除此之外,还有什么可能出问题吗?
小陈:那么,如果黑客闯入我们的内网怎么办?
小王:那么一切都会丢失,因为内网服务器之间的连接是不加密的。
小陈:……
这就是威胁模型,不需要太复杂。使用此方法来识别系统中可能存在的威胁。
64. 强制源代码审查
使用技术控制措施来防止代码未经他人审核就提交到数据库。这是构建安全开发环境的基础,因为它可以:
如果攻击者侵入了开发人员的计算机,或者开发人员本人试图发起攻击,他将无法直接将恶意代码移入代码库;
如果开发人员的错误导致引入了易受攻击的代码,那么很可能在其他人检查时及时发现。
65.自动化持续集成管道,只允许简单访问
开发人员应该有触发构建的权限,并且只能配置这样的权限,不允许有其他权限。单个开发人员不应该能够在构建阶段引入任意代码。当然,如果按照上面的建议必须进行代码审查,也可以将其保存在版本管理工具中。
66. 签署
如果您正在构建容器镜像,则可以将镜像签名作为构建中的一个步骤。将签名密钥存放在安全的地方。在构建阶段需要访问密钥,但不要将密钥与它一起存储在版本管理工具中。更好的方法是将密钥存储在 Vault 或类似的东西中,然后在构建时提取它。
67. 将静态应用程序扫描器添加到持续集成管道
在持续集成管道中使用 Find-Sec-Bugs 等工具(或您根据技术堆栈选择的工具)。它们可以帮助您在部署代码之前找到已知的漏洞。
另外,它还可以作为IDE插件安装在开发者的计算机上,在代码移入之前运行这些工具进行检查。
68、构建时检查依赖关系,确保最小的依赖集
您的应用程序所依赖的每个包都是风险来源。通过依赖关系,我们拉取第三方代码并在我们的应用程序服务器上执行它。因此,我们必须搞清楚我们依赖的这个软件包是什么,为什么依赖它?
将依赖关系保持在最低限度;
仅使用我们信任的依赖项。它们必须被广泛使用并且众所周知;
使用构建框架来确认依赖关系。
另外,严格控制应用服务器的外部连接,避免后门的存在。
69. 对依赖项执行安全扫描
使用 OWASP 依赖项检查工具扫描依赖项中的常见安全问题。除了持续集成管道之外,这些工具还可以在开发人员的开发环境中运行。
70.持续集成管道对图像执行安全扫描
如果采用容器化技术,可以使用Trivy等工具扫描容器镜像是否存在一些常见的漏洞。
71.自动化部署和签名验证
开发者可以拥有部署到生产环境的权限,但权限范围应该控制前一阶段已经构建和签名的特定镜像,而不是直接访问生产服务器。如果使用,可以通过或打开策略代理来验证要部署的镜像的签名。
72. 设立一名保安员
一个人的精力是有限的。我们不能期望每个开发人员都是熟练的渗透测试人员或安全工程师。就像你不能指望所有安全专家都是优秀的开发人员一样。因此,团队中可以有一个专门关注安全的人,主要与开发人员、架构师沟通,帮助保护我们的应用程序并在团队内传播安全意识。
三、结论
要确保应用程序的安全,仅仅避免漏洞是不够的。必须综合考虑,积极防御。一些主要方法总结如下:
如果你读到最后,你一定收获颇丰。这是获得更多知识的另一种方法,但它比阅读本文要困难得多。加入我们,变得更强!
强者之路充满荆棘,所以强者受到尊重
题外话
很多刚刚进入计算机行业的人或者大学计算机相关专业的毕业生,由于缺乏实践经验而遇到就业困难。我们来看两组数据:
一方面,每年应届毕业生就业形势严峻,另一方面,网络安全人才缺口达百万。
6月9日,Max 2023年就业蓝皮书(包括《2023年中国本科生就业报告》和《2023年中国高职学生就业报告》)正式发布。
2022年大学毕业生月收入最高的10个专业
本科计算机专业和高职自动化专业月收入较高。 2022年本科计算机专业和高职自动化专业月收入分别为6863元和5339元。其中,本科计算机专业起薪与2021级基本持平,高职自动化专业月收入增幅明显。 2022级超越铁路运输专业(5295元)排名第一。
具体看专业,2022届本科班月收入最高的专业是信息安全(7579元)。与2018届相比,电子科学与技术、自动化等人工智能相关本科专业表现良好,起薪较五年前增长19%。数据科学和大数据技术虽然是近年来新专业,但表现不俗,毕业后6个月就跻身2022届本科毕业生月收入最高专业前三名。法语是五年前唯一进入本科生收入最高前10名的人文社会科学专业,如今已跌出前10名。
“没有网络安全就没有国家安全。”当前,网络安全已上升到国家战略层面,成为影响国家安全和社会稳定的最重要因素之一。
网络安全行业特点
1、就业薪资很高,薪资增长快。 2021年猎聘网公布,网络安全行业就业薪资为行业人均最高,33.77万!
2、人才缺口大,就业机会多
2019年9月18日,“中华人民共和国中央人民政府”官网发布:我国网络空间安全人才需求140万人,但全国各大学校每年培养不足15万人。猎聘网《2021年上半年网络安全报告》预计,2027年网络安全人才需求量为300万人。目前,从事网络安全行业的从业人员仅有10万人。
行业发展空间巨大,就业岗位众多
网络安全行业成立以来,新增了数十个网络安全行业职位:网络安全专家、网络安全分析师、安全顾问、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理主任、数据安全工程师、网络安全运维工程师、网络安全应急响应工程师、数据评估师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审核员、威胁情报分析工程师、灾难恢复专业人员、实战攻击与国防专业人士...
巨大的职业增值潜力
网络安全专业具有较强的技术特色,尤其是掌握工作中的核心网络架构和安全技术,在职业发展中具有不可替代的竞争优势。
随着个人能力的不断提升,所从事工作的专业价值也会随着个人经验的丰富和项目运作的成熟而提高,升值空间不断增大。这也是它受到大家喜爱的主要原因。
某种程度上imToken钱包下载,在网络安全领域,就像医学界一样,越老越吃香。因为技术越来越成熟,你的工作自然会受到重视,升职加薪也就水到渠成。
如何学习黑客和网络安全
只要你喜欢我今天的文章,我的私网安全学习资料就会免费分享给你。快来看看有什么可用的。
1. 学习路线图
关于进攻和防守,有很多东西需要学习。我在上面的路线图中写下了具体要学习的东西。如果你能完成它们,那么你找工作或从事私人工作就不会有问题。
2.视频教程
虽然网上的学习资源很多,但基本上都是不完整的。这是我自己录制的一个网络安全视频教程。上面路线图中的每个知识点我都附有视频讲解。
内容涵盖网络安全法学习、网络安全运营等安全评估、渗透测试基础知识、漏洞详解、计算机基础知识等,都是网络安全入门必知的学习内容。
(全部打包成一片,无法一一展开,总共300多集)
由于篇幅有限,仅展示部分信息。您需要保存下图并微信扫描二维码获取。
3. 技术文档和电子书
技术文档也是我自己整理的,包括我参与大规模网络安全运营、CTF、挖掘SRC漏洞的经验和技术点。有200多本电子书。由于内容的敏感性,我就不一一展示了。
由于篇幅有限,仅展示部分信息。您需要保存下图并微信扫描二维码获取。
### 4. 工具包、面试题和源代码
“工欲善其事,必先利其器”。我为大家总结了几十种最流行的黑客工具。覆盖范围主要集中在信息收集、黑客工具、自动化工具、网络钓鱼等,有兴趣的同学不要错过。
还有我视频中提到的案例源码和相应的工具包,有需要的可以拿走。
由于篇幅有限,仅展示部分信息。您需要保存下图并微信扫描二维码获取。
最后,这是我这几年整理的有关网络安全的面试题。如果你正在寻找网络安全方面的工作,他们肯定会给你很大帮助。
这些问题在面试深信服、奇安信、腾讯或者其他大公司的时候经常会遇到。如果您有好的问题或好的见解,请分享。
参考分析:深信服官网、奇安信官网、csdn等。
内容特点:组织清晰,图形表示,更容易理解。
内容概要:包括内网、操作系统、协议、渗透测试、安全服务、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、NMAP、BP、MSF……
由于篇幅有限,仅展示部分信息。您需要保存下图并微信扫描二维码获取。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。