基于Windows的xampp安全环境搭建.docx

上传人:b****5 文档编号:11847008 上传时间:2023-04-06 格式:DOCX 页数:17 大小:792.45KB
下载 相关 举报
基于Windows的xampp安全环境搭建.docx_第1页
第1页 / 共17页
基于Windows的xampp安全环境搭建.docx_第2页
第2页 / 共17页
基于Windows的xampp安全环境搭建.docx_第3页
第3页 / 共17页
基于Windows的xampp安全环境搭建.docx_第4页
第4页 / 共17页
基于Windows的xampp安全环境搭建.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于Windows的xampp安全环境搭建.docx

《基于Windows的xampp安全环境搭建.docx》由会员分享,可在线阅读,更多相关《基于Windows的xampp安全环境搭建.docx(17页珍藏版)》请在冰豆网上搜索。

基于Windows的xampp安全环境搭建.docx

基于Windows的xampp安全环境搭建

windows环境下的xampp安全环境的搭建

有时候为了省去从头到尾配置apache,php,mysql的麻烦,会选择xampp搭建我们的服务器,但是如果把安装好的服务器直接用于实际的环境,却是非常不安全,下面我们来看看如何配置,使服务器更安全。

一.xampp设置

安装完毕后,进入http:

//localhost/xampp/

点击“安全”,点击=>http:

//localhost/security/xamppsecurity.php<=  [只允许localhost]

设置MySQLSuperUser,root用户的密码(注意实际运行网站是不要使用该用户)

设置XAMPP目录保护(.htaccess),设置用户名,密码。

(注意:

为防止忘记密码的情形,最好将这些用户名密码放在一个安全的地方保存)

二.apache安全与配置

apache服务器的配置文件,主要在两个地方:

一个是在:

\xampp\apache\conf,下的http.conf,

一个是在\xampp\apache\conf\extra下,该目录下有很多的配置文件,如xampp的配置(httpd-xampp.conf),mpm的配置(httpd-mpm.conf),虚拟host的配置(httpd-vhosts.conf)等等。

下面我们来配置apache服务器,修改xampp\apache\conf,下的http.conf的配置文件

注意,默认该服务器是使用80端口,如果该端口被占用,则必须修改apache服务器的默认端口

Listen8080

ServerNamelocalhost:

8080

1.隐藏apache版本

默认情况下,访问apache服务器,访问某个禁止文件或者不存在的文件时,会显式服务器的版本信息,如下所示

Apache/2.2.17(Win32)mod_ssl/2.2.17OpenSSL/0.9.8oPHP/5.3.4mod_perl/2.0.4Perl/v5.10.1

或者使用http:

//website/server-info,也会在网站的响应信息中会清楚的看到如下信息:

这样是非常危险的,然攻击者能清楚的知道你使用的服务器的信息,我们必须把屏蔽掉,首先将,Apache模块mod_info.so在httpd.conf中注释掉,:

#LoadModuleinfo_modulemodules/mod_info.so

然后在\xampp\apache\conf\extra中的httpd-default.conf中,将

ServerTokensFull改为Prod//不允许在http响应里返回服务器的版本信息

ServerSignatureOn改为off//不允许显示服务器的特征信息

然后修改\xampp\apache\conf\extra,目录下的httpd-info.conf配置文件,找到

SetHandlerserver-status

Orderdeny,allow

Denyfromall

SetHandlerserver-info

Orderdeny,allow

Denyfromall

Allowfrom127.0.0.1//表示只允许本机访问,前提是要加载mod_info.so模块

这样,我们就可以让客户端无法得知服务器端的配置情况了。

2.清除“Indexs”引用(因为默认情况下,如果在网站目录下找不到index文件则,会列出网站的目录,这是非常危险的,攻击者会清楚知道你网站的文件结构,所以我们清除Indexs,你可以直接删掉,也可以采用:

-Indexs,如下:

/xampp/htdocs">

Options-IndexesFollowSymLinks//清除FollowSymLinks,或者直接使用Optionsnone

 

3.为了优化apache的性能,设置\xampp\apache\conf\extra中的多路处理模块,httpd-mpm.conf,

找到如下部分:

ThreadsPerChild250

MaxRequestsPerChild5000//默认值为0

Win32DisableAcceptEx//这个根据自己的情况,注释掉

ThreadsPerChild:

这个参数用于设置每个进程的线程数,子进程在启动时建立这些线程后就不再建立新的线程了.mpm_winnt上的默认值是64,最大值是1920.这里建议设置为100-500之间,服务器性能高的话值大一些,反之值小一些。

MaxRequestsPerChild:

该参数表示每个子进程能够处理的最大请求数,即同时间内子进程数目.设置为零表示不限制,mpm_winnt上的默认值就是0,官方参考手册中不建议设置为0,主要基于两点考虑:

(1)可以防止(偶然的)内存泄漏无限进行,从而耗尽内存;

(2)给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

4.修改日志记录方式

默认情况下,apache服务器会记录所有网站的访问信息和错误信息(这个信息是非常有用的),该日志文件的默认路径是:

\xampp\apache\logs,

默认记录两类日志:

访问日志(access.log)

错误日志(error.log)

但是,如果网站的访问量巨大,会造成access.log文件非常大(几G),这些日志文件用一般的文本编辑工具就无法打开了,我们是否可以按照我们设定的方式记录日志,如果日志文件大于某个设定的值如:

100M则,则新建立一个日志文件,开始记录,

配置如下:

#

#Thefollowingdirectivesdefinesomeformatnicknamesforusewith

#aCustomLogdirective(seebelow).

#

LogFormat"%h%l%u%t\"%r\"%>s%b\"%{Referer}i\"\"%{User-Agent}i\""combined

LogFormat"%h%l%u%t\"%r\"%>s%b"common

#Youneedtoenablemod_logio.ctouse%Iand%O

LogFormat"%h%l%u%t\"%r\"%>s%b\"%{Referer}i\"\"%{User-Agent}i\"%I%O"combinedio

#

#Thelocationandformatoftheaccesslogfile(CommonLogfileFormat).

#Ifyoudonotdefineanyaccesslogfileswithina

#container,theywillbeloggedhere.Contrariwise,ifyou*do*

#defineper-accesslogfiles,transactionswillbe

#loggedthereinand*not*inthisfile.

#

#CustomLog"logs/access.log"common//注释掉默认的日志记录方式

#

#Ifyoupreferalogfilewithaccess,agent,andrefererinformation

#(CombinedLogfileFormat)youcanusethefollowingdirective.

#

#CustomLog"logs/access.log"combined

CustomLog"|bin/rotatelogs.exe-llogs/access-%Y-%m-%d-%H-%M-%S.log50M"common//定制的日志记录方式

红色部分为修改的部分,首先注释掉默认的日志记录,因为我们已经自定义了日志的记录方式,默认的日志就不再使用了,这里我们用到的apache自带的rotatelogs小工具,

语法如下:

rotatelogs[-l]logfile[rotationtime[offset]]|[filesizeM]

我们上面记录的方式是:

按照access-年-月-日-时-分-秒.log的方式生成日志,每个日志文件的大小不超过50兆,超过了这个大小则重新生成日志文件。

还可以设置,按时间来记录日志:

CustomLog"|/data/apache/bin/rotatelogs日志存放目录/%Y%m%d_access.log86400480"common

其中:

/data/apache:

为apache的安装目录,根据自己实际情况确定;

86400:

秒,24小时,表示生成的日志文件按天滚动,也就是每天生成一个日志文件;

480:

分,时间偏移。

同理可以按小时滚动日志文件,每隔一个小时,几个小时。

生成一个日志文件。

5.限制目录访问

有时候,我们需要限制某些目录的访问,如,只允许指定的IP段访问,指定的IP访问等等,那么我们可以修改http.conf文件来达到目的:

/xampp/htdocs/admin">

Options-IndexesIncludesNOEXEC

AllowOverrideNone

Orderdeny,allow

DenyFromall

Allowfrom172.0.0.110.0.0.0/255.0.0.0218.196.14.0/255.255.255.0

这里只允许本机,10.*.*.*,和218.196.14.*机器访问该目录。

如果需要限制用户通过密码登录,可进行如下设置:

(1)利用apachebin目录下的htpasswd命令生成密码文件(具体使用方法用htpasswd–help查看帮助文档)

生成密码文件:

htpasswd–bc.passwdadmin123456

说明:

在bin目录下,生成一个.passwd的文件,用户名为:

admin密码为:

123456,默认采用MD5加密

(2)修改配置文件,指定需要输入密码

/xampp/htdocs/admin">

Options-IndexesIncludesNOEXEC

AllowOverrideAuthConfig

Orderdeny,allow

DenyFromall

Allowfrom172.0.0.110.0.0.0/255.0.0.0218.196.14.0/255.255.255.0

(3)在限制访问的目录下添加.htaccess文件,添加如下代码

AuthTypeBasic

AuthName"Admin"

AuthUserfileD:

/xampp/htdocs/admin/.passwd//密码文件的绝对路径

Requirevalid-user

重启apache服务器,访问该目录,就要输入密码了,同时还限制了访问的IP

6.用户配置

小技巧,一般在启动apache服务器是使用xampp的控制面板,但是有时候点是stop或者star时,无法得知当前apache服务器的情况,也无法实现重启,最后是使用ApacheMonitor.exe来操作,该程序的路径:

\xampp\apache\bin。

(注意,在安装时要apache的服务,或者勾选Svc亦可安装服务)

有时候会出现,mysql或者apache无法启动的情况,请查看操作系统的日志,可以得到有用的信息。

 

三.php配置

1.启用安全模式

在\xampp\php目录下,找到php.ini的配置文件,找到:

safe_mode=Off//改为On

2.必须禁用一些高危函数,其中,可以保留phpinfo这个函数

disable_functions=exec,passthru,shell_exec,system,popen,proc_open,proc_close,curl_exec,curl_multi_exec,parse_ini_file,show_source,dl,passthru,escapeshellarg,escapeshellcmd

3.禁止显示PHP的版本

expose_php=Off

 

四.mysql配置

mysql数据库的管理一般有两种方式:

一是使用自带的phpMyAdmin进行,设置好用户名和密码就可以在该网页上直接操作数据库

二是使用命令行:

使用命令行之前,最好设置系统的环境变量,将Path变量中添加C:

\xampp\mysql\bin,重新启动命令行工具(这个很重要),然后输入mysql,如果出现如下提示,表示成功:

使用命令是一种快速和直接操作数据库的方式,推荐使用:

常用的命令如下:

1.登录mysql

>mysql–uroot–p

>输入密码

mysql>输入要执行的命令即可

2.查看数据库

>showdatabases;

3.使用数据库

>usetest;

4.查看表

>showtables;

5.查看表结构

>desc表名;

6.建立用户授权(这个很重要,默认情况下网站不要直接使用root用户操作数据库,而是重新建立一个数据库用户,然后授予其相应的操作权限)

>grant权限(select,insert,update,delete)on数据库名.表名(*,表示所有表)to用户@localhostidentifiedby‘密码’;

这样就建立了一个指定的用户,它只对指定的数据库的表有相应的操作权限,用户名和密码要记住。

>showgrantsfor用户名@localhost;

查看指定用户的权限。

对某些很重要的表,一定要精细的控制好权限。

7.备份数据

数据的备份是非常重要的,以免出现数据丢失或者被恶意访问者删除数据的情况,可以使用命令行的方式备份数据库(mysqldump.exe),也可以借助工具,MySQLAdministrator来做,首先去官网下载该软件

点击,…按钮,建立连接:

点击NewConnection,建立连接,输入用户名,密码和hostname的信息,然后应用,

关闭该界面,返回登录界面,再次输入root密码后,就可以进入系统了:

然后点击Backup,

点击右下脚的NewProject:

这时候输入,你要备份的项目名称,选择你要备份的数据库名次,点击>按钮,然后选择高级选项卡,设置备份的选项和方式。

操作完毕后,软这Schedule选项卡,勾选Schedulethisbackupproject,

这个时候会弹出如下的对话框,

单击OpenOptions按钮:

点击左侧的GeneralOptions菜单,然后勾选Storepasswords,选择密码存储方式(Passwordstoragemethod),单击Connection,

选择你刚刚建立的那个连接,然后单击Apply,

设置完成后,就可以设置保存的时间,星期,频率,然后点击SaveProject,

输入系统用户密码,点击OK。

点击ExecuteBackNow,看看是否成功,如果在指定的位置生成了备份文件就说明成功啦!

这时候进入控制面板,进入计划任务,

出现刚刚建立的备份计划任务,点击右键还可以设置,重复的频率,因为有时候可能指定要每个几个小时或者几十分钟备份一次。

点击,高级。

勾选重复任务,设置重复的频率和持续的时间就可以了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1