开源为我们的开发带来了极大便利,但这些便利也伴随着一些安全隐患。每当项目引入一个库、框架、服务时,随之而来的安全风险也不可忽视。
所以,当开源吞噬世界的时候,代码安全就更得重视了。今天 HelloGitHub 就给大家带来了 10 款关于安全主题的开源项目,涵盖了编码安全、Web 安全、工具三个方面,虽不能做到面面俱到,但希望它可以抛砖引玉,借此唤起大家的安全意识。
如果你早就认识到代码安全的重要性,那这些开源项目中肯定也有适合你的一款,话不多说,下面就开始今天的“安全教育”。
一、编码安全
从编码习惯入手,提高安全意识。
1、secguide
腾讯开源的代码安全指南。该项目包含:C/C++、Python、JavaScript、Java、Go 等语言的安全编码指南,内容简单易懂能够帮助开发者,在代码源头规避安全风险、减少漏洞。
2、safe-rules
由 360 质量工程部开源的《代码安全规则集合》。一份全面详细的 C/C++ 编程规范指南,适用于桌面、服务端以及嵌入式等软件开发。
二、Web 安全
通过检查容易出错的地方,从而保证 Web 服务的安全性。
3、security-guide-for-developers
实用的 Web 开发人员安全须知。作为一个 Web 开发者,你应该在实际工作中认真、经常地使用这套列表,能够有效地减少安全隐患。中文翻译版
4、Learn-Web-Hacking
一份很全面的 Web 安全学习笔记,内容包括网络协议、信息收集、常见漏洞攻防、内网渗透等。在线阅读
5、Top10
该项目由 OWASP 社区(开放式 Web 应用程序安全项目)一个致力于提高软件安全性的非盈利基金会维护,OWASP Top 10 是针对 Web 应用程序的 10 大安全风险提示。在线阅读
6、API-Security-Checklist
开发安全的 API 所需要核对的清单。在设计、测试和发布 API 的时候,需要核对的重要安全措施。中文
三、工具
代码千万行,安全第一行。代码量多了,就得借助工具来发现安全隐患啦。
7、nuclei
基于 YAML 语法模板的定制化快速漏洞扫描器,工程师可以轻松地使用它创建一套自定义的检查方式。
- 支持多种协议:TCP、DNS、HTTP 等
- 通过工作流和动态请求实现复杂的漏洞扫描
- 易于集成到 CI/CD,可以轻松的集成到发布流程上
8、gitleaks
一款静态应用程序安全测试(SAST)工具。它可以检测 Git 项目中是否包含密码、API Key、token 等敏感信息,还能够轻松整合到 Git Hook 和 GitHub Action,实现提交代码时自动检测,通过告警和阻止 push 等方式,有效地防止敏感信息泄漏。
9、trivy
一款全面的容器安全扫描工具。当下最流行的开源容器镜像漏洞扫描工具,拥有速度快、精准度高、依赖检测、机密检查、对 CI 友好等特点。它不仅安装简单而且容易上手,仅需一条命令,即可发现镜像存在的安全漏洞。
10、vulhub
一个面向大众的开源漏洞环境集合。无需 Docker 知识,仅需通过一条简单的命令,就能跑起来一个存在某个漏洞的完整应用。使得安全研究人员能够方便地复现与研究漏洞,省去了学习复杂的部署知识、寻找有漏洞的旧版本应用、搭建依赖的服务等麻烦。
最后
本期的项目虽然没有太多的趣味性,但都是良心之作“苦口婆心”。代码安全无小事,只有不出事和事故两种情况,嘴上喊一万遍“安全第一”(我都懂,空了就改),不如立马带上个“安全帽”(跑个安全扫描器)来得实在。
好了,以上就是本期的所有内容,如果您觉得这期内容还不错:求赞、求收藏、求转发,您的支持就是对我最大的鼓励!❤️接下来我将给各位同学划分一张学习计划表!
学习计划
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
阶段一:初级网络安全工程师
接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。
综合薪资区间6k~15k
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
综合薪资区间15k~30k
7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完
用Python编写漏洞的exp,然后写一个简单的网络爬虫
PHP基本语法学习并书写一个简单的博客系统
熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)
了解Bootstrap的布局或者CSS。
阶段三:顶级网络安全工程师
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
学习资料分享
当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。