Web安全—LAMP搭建PHP网站
提要:在Web安全的学习过程中,了解网站的搭建过程和各部分搭建模块的作用是非常重要的,其中各模块尤其是Web容器特别重要,web容器的搭建和配置有助于学习常见的Web安全漏洞,例如目录遍历,信息泄露,解析漏洞等。 前言:本文主要记录和总结Web容器Apache的搭建和配置,其他系类文章会对常见Web容器漏洞的形成机制进行输出。
Web容器的作用:
1,解析后端脚本语言,根据输入的参数构造SQL语句 2,将后端脚本语言和数据库处理后的结果构造HTML发送给浏览器解析和展示
Apache搭建PHP网站过程
前言:一个网站的搭建通常需要,操作系统(Linux)+Web容器(Apache)+脚本语言(PHP-Pikachu出的源码文件PHP)+数据库(mysql),因为本文主要记录Web容器Apache,所以其他模块的安装仅附相关学习文章。 系统安装就不详细说明了,L/WAMP(linux/win+apache+mysql+php),L/WNMP(linux/win+nginx+mysql+php)
一:mysql的安装:
学习搭建文章:CentOS7安装MySQL(完整版)
二:Web容器Apache搭建:
1,下载安装Apache,命令:yum install httpd 查看是否安装Apache服务,命令:rpm -qa | grep httpd 查看已安装Apache版本,命令:httpd -v 也可直接访问本地地址,默认Apache监听网站端口是80,命令:http://127.0.0.1判断Apache服务是否安装成功,如下即安装成功 常见目录作用:
三:PHP环境安装
因为Apache默认是支持php脚本解析的,所以我们可在Linux中安装PHP环境 1,安装PHP:yum instll php 2,安装php-mysql链接模块、php的fastcgi解析器php-fpm:yum install php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash 3,重启Apache服务:systemctl restart httpd 4,查看PHP版本和是否成功安装:php -v 和 rpm -qa | grep php
实例演示:
需求说明:使用pikachu靶场源码搭建一个php网站,要求如下: 1,修改HTTP监听端口为8443 2,网站发布根目录为/var/www/html/pikachu 3,默认索引文件包括index.php 4,白名单策略,只允许IP地址为192.168.0.105的用户访问 5,关闭目录索引功能,防止敏感信息泄露
操作步骤:
1,在/var/www/html(默认发布根目录)目录下创建一个名称为pikachu的目录作为网站发布根目录,同时修改网站的主配置文件让其生效 创建命令为pikachu的文件夹: 编辑主配置文件/etc/httpd/conf/httpd.conf,将pikachu作为网站发布根目录: 2,修改监听端口为8443 编辑主配置文件/etc/httpd/conf/httpd.conf,将8443端口作为默认监听端口: 3,添加默认索引文件包含index.php(Web访问中,在我们不指定目录或文件,直接访问网站根目录时,会对根目录进行遍历,读取默认加载文件) 编辑主配置文件/etc/httpd/conf/httpd.conf,添加index.php为默认加载文件 4,关闭目录索引功能,防止敏感信息泄露 编辑主配置文件/etc/httpd/conf/httpd.conf,搜索“Options Indexes FollowSymLinks”,修改为“Options -Indexes ”即可关闭目录索引功能 关闭目录索引前效果,导致信息泄露,整个目录下的文件都被索引: 关闭目录索引后效果: 5,白名单策略,只允许IP地址为192.168.0.105的用户访问,可参考文章
总结:Web容器需要学的东西还很多,会慢慢进行完善和输出其他Web容器和安全有关系的文章!
|