(1)能不能聊聊平时我们开发的系统,有可能被黑客以哪些方式来攻击呢?
(2)XSS攻击方式背后的原理是什么,SQL注入背后的原理是什么,等等,各种攻击方式背后的原理是什么?
(3)针对常见的黑客攻击方式,你平时开发系统的时候都有哪些方案可以去保护你的系统安全,避免被黑客攻破
(4)平时你们微服务架构里,网关系统用的是什么?在网关层面如何防止黑客攻击?
(5)哪怕网关不是你负责的,你负责的一些系统的接口,如何保证你设计的接口的安全性呢?
(6)缓存穿透,假如说有黑客攻击你,每次使用的缓存的Key是不同的,传统的缓存穿透的方案无法防御,此时怎么办呢?
(7)加密算法,公钥密钥是怎么回事,如何进行加密的网络通信?数据加密?
(8)除了公钥密钥以外,你们有没有完整的一套系统安全性防御机制呢,防火墙,网站安全漏洞扫描,密钥存储是如何做的
技术公众号,挺知名的,是一个独角兽公司,估值也是很高的,删库跑路,威胁的都是系统的安全性,数据的安全性,就有业内很知名的互联网大厂,在某一个领域是绝对的巨头,删库跑路事件
多年以前微博受到了XSS攻击,用户自动关注一个病毒用户,然后病毒用户自动发布病毒微博,大量的人点击之后,再度扩散;很多曾经重要的网站,都遭遇攻击,几百万、上千万的用户数据泄露
直到现在有时候大家还会听到XX网站、XX APP的用户数据泄露的问题,曾经互联网顶级大厂早期也被黑客威胁要攻破系统
现在都经常还有同学会找到我说,老师,我们部署在云的几台机器感觉被攻击了,系统负载很高,有时候会挂掉
所以系统的安全问题现在是一个非常重要的系统架构设计的话题,你的系统如何保证安全性?如何避免被黑客攻击导致系统故障?如何避免你系统的核心数据遭到泄漏?这是非常重要的一个事情
所以说,现在出去面试,其实作为面试官,有时候就会考察你对基本的网络攻击手段是否了解,对网络攻击手段背后的原理是否了解,对常见的防止网络攻击的方法是否了解,如果你一无所知的话,那么可能有时候面试就不理想了
当然,现在我们比较推崇的,其实是应用架构师或者工程师,对网络攻击有一定的了解,但是现在更多的一个趋势,是安全这块交给专业的公司和团队去做,我们购买他们的服务,但是我们要了解常见的网络攻击手段,知道如何使用一些云公司的安全产品来保护我们的系统,同时我们自己的系统有时候也可能要做一些简单的防御措施
常见的网络攻击手段包括了:XSS(跨站点脚本攻击)、SQL注入、CSRF(跨站点请求伪造)、错误回显、HTML注释、文件上传、路径遍历,等等,每一种攻击手段都有办法可以避免,所以我们最近就是学习一下系统安全性的问题和常见防御手段
还会学习一下防火墙和网站安全漏洞扫描的概念
同时我们还会学习一些数据加密技术,包括公钥密钥的机制,还有垃圾内容过滤、黑名单机制一些常见的安全防护机制
如果学习完了这些之后,你就知道平时你开发系统在安全性上哪些地方需要注意了,如果你再加上一些云安全产品的使用,那么基本系统可以说安全性很强,就固若金汤了