【文末送书】今天推荐一本网络安全领域优质书籍。
正文
学习web安全离不开web,那么,需要先来学习网站的搭建。搭建网站是每一个web安全学习者的必经之路。因为,web安全研究的主体就是网站。这一点包括了以下几个方面。
(1)研究不同的网站环境是否存在漏洞
这又包括了以下三个方面。
1)研究网站搭建使用的相关软件、中间件、数据库、其他服务是否存在通用的漏洞。
2)研究网站在运维阶段所下发和修改的配置是否会引起新的漏洞。
3)研究网站所在环境中的边界安全是否具有抵御攻击的能力,包括在网络环境中部署网络安全防护设备及监控设备,在主机层面加装安全产品和监控软件。部署哪些防护和监控产品,如何整体架构,这是每一个企业的安全管理者需要学习的一个课题。
(2)研究不同的网站实现的代码是否存在漏洞
网站代码在开发过程中是否存在一些通用的编码缺陷?如果存在,可能会造成sql注入漏洞、xss漏洞等。除此以外,在部分功能的设计上,是否存在逻辑漏洞?该内容会在逻辑漏洞章节中详细讨论。
(3)研究网站的用户访问网站过程中是否会受攻击
而这一点是研究网站的用户,研究主体看似不再是网站,而是人,但实际上还是围绕网站来展开的。人都会有弱点,比如众所周知的弱口令问题,就是来源于人性的惰性。还有,关于人眼视觉上的欺骗,这一点会在clickjacking漏洞一节中为大家呈现。
以上三点的研究共同构成了web安全研究的主要内容,它们都统一于“建设更安全的互联网,保护网站经营者以及网民合法利益不受侵犯”这一中心思想的内涵之上。
既然网站对于web安全如此之重要,所以很有必要学习一个网站的搭建。接下来就以lamp为例来进行网站搭建的介绍。
lamp是指“linux+apache+mysql+php”。这是过去比较经典的网络架构,即把apache、mysql以及php安装在linux系统上,组成一个环境来运行php的脚本语言所解释的一个网站服务。php、asp、jsp三者是早期网站流行架构中最常用的脚本语言,在这之前还有c/c++、vbscript等。在web技术飞速发展的今天也产生了很多新的脚本语言,如:nodejs、python、lua、ruby、golang等,lamp技术使用的是php语言。apache是最常用的开源web服务软件之一。mysql是较为流行的数据库软件,早期开源目前已被oracle收购。
lamp的整体架构如图1所示。
发表评论