此篇仅是自己的一些粗陋看法,路过的大佬请勿喷。
如果你的目标想成为一个安全人,这无疑是一个相对艰难的历程。为什么听起来像危言耸听一样!其实不然,安全的定义很广可以被应用到任何的领域。至于你会如何去定义安全,我几乎都认同。扯的有点远,下面梳理一下大概技术罗列:
操作系统方面:我们需要Windows(Windows server,Windows 7,10) ,Linux (Debian Centos Redhat)使用。/proc文件夹结构掌握
运维方面:yaml语言掌握,四剑客(find grep awk sed ),看得懂shell脚本(能力强者可以掌握它)
开发语言:编译语言Golang(开发能力强者JAVA最好)脚本语言python
WEB安全攻防:BurpSuit SqlMap msf CobaltStrik fiddler ,OWASP TOP 10 ,黑暗搜索引擎
容器:Docker 便于搭建模拟真实环境 容器编排适自己需要而定
架构的高可用性
服务器的负载均衡(硬件设备实现,nginx方式实现等等)
API接口应用
TCP/IP协议(三次握手,四次挥手,滑动窗口,拥塞避免,超时重传(两种))
HTTP协议(版本演变过程,构成,请求,响应,状态码,消息状态)
DNS解析过程(递归,迭代)
数据库:MySQL PostgreSQL ,结合Django
调用如:ORM
网络通信:简单的路由协议,静态路由,配置方法,连通性
安全设备维护:IDS(入侵检测系统)IPS(入侵防御系统)WAF(软件:狗,盾,神,锁,宝;各厂商硬件产品)
GitHub ,Freebuf ,安全客,付费知识星球(天下没有免费的午餐,安全更加注重信息不对等性)
最后就是:交朋友,切勿闭门造车
要产生“惰性”,这样你的脚本能力会相对提高,避免重复劳动,提高效率