xampp安全配置

Miracle
926
文章
42
评论
2017年6月23日11:43:31 评论 3024字阅读10分4秒

转自网站

xampp是一套便捷的环境搭建工具,不过多用于测试环境下使用。平时为了免去整合的烦琐,我们也往往在生产环境上使用到xampp用于快速、便捷的搭建我们所需要的环境,尤其在windows环境下。如果直接拿去用是十分不安全的,我们只需要用之前略加配置,使用起来还是比较方便和安全的。

 一、xampp设置

安装完毕后,进入http://127.0.0.1/security/可以查看到当前配置中是否存在安全隐患。如果发现安全隐患,我们可以打开http://127.0.0.1/security/xamppsecurity.php,配置mysql root密码、phpmyadmin安全认证、htaccess密码保护。如果在配置过程中勾选了“Safe plain password in text file”项,最好将该密码明文文件移动一个安全的目录保存,或记录到自己本机后,从服务器上删除。

二、apache的安全配置及版本隐藏

1、打开C:xamppapacheconfextra目录(默认安装时为该路径),找到httpd-xampp.conf配置文件,将最后几项xampp|security|licenses|phpmyadmin|webalizer最名目录的配置删除掉。如无需要,最好能将这个目录对应的物理目录也删除掉。如需保留,末尾那一串访问一定要设置好(默认是只能本机访问以上几个URL)。

2、隐藏apache版本

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

Apache/2.2.8 (Win32) DAV/2 mod_ssl/2.2.8 OpenSSL/0.9.8g mod_autoindex_color PHP/5.2.5 mod_jk/1.2.25

这样就等于告诉别人,我装的什么锁,你到那里可以找到这个型号的钥匙,来打开服务器的门。除此之外,别人同样可以通过浏览器插件查看网页头来获取。想要屏蔽这些信息也十分简单,打开在xamppapacheconfextra中的httpd-default.conf文件,修改以下两处:

ServerTokens Full 改为 Prod //不允许在http响应里返回服务器的版本信息
ServerSignature On改为off //不允许显示服务器的特征信息

3、注释mod_status和mod_info模块

这两个模块主要用于查看apache的运行状态和服务器信息的,一般我们很少会用到,除非在进行apache性能调优和状态查看时,会用到以上两个模块。所以建议把这个两模块的配置注释掉。注释方法十分简单,打开httpd.conf文件,打到以上两个模块所在的行添加#,并重启apache服务使配置生效就OK了。

如需使用以上两个模块,请打开xamppapacheconfextra目录下的httpd-info.conf文件,将其中server-status、server-info两个配置修改如下:

server-status

<Location /server-status>
    SetHandler server-status
     Order deny,allow
     Deny from all
</Location>

server-info

<Location /server-info>
    SetHandler server-info
     Order deny,allow
     Deny from all
     Allow from 127.0.0.1//表示只允许本机访问,前提是要加载mod_info.so模块
</Location>

在原配置新增访问控制部分。

4、关闭不必要的目录索引功能

禁用目录索引功能的示例如下:

<Directory "C:/xampp/htdocs">
Options -Indexes FollowSymLinks //清除FollowSymLinks,或者直接使用Options none
</Directory>

"-"号代表的是取消某功能,"+"或者什么都没有,表示对某目录增加某功能属性。

三、apache性能优化

1、使用多路处理模块

打开xamppapacheconfextrahttpd-mpm.conf文件,找到winnt配置部分,修改为如下:

<IfModule mpm_winnt_module>
    ThreadsPerChild      250
    MaxRequestsPerChild    5000 //默认值为0
    Win32DisableAcceptEx  //这个根据自己的情况,注释掉
</IfModule>

注:该配置只适用于windows下的apache,linux由于和windows之间系统设计的区别。不适用此配置。

ThreadsPerChild:
这个参数用于设置每个进程的线程数, 子进程在启动时建立这些线程后就不再建立新的线程了. mpm_winnt上的默认值是64, 最大值是1920. 这里建议设置为100-500之间,服务器性能高的话值大一些,反之值小一些。
MaxRequestsPerChild:
该参数表示每个子进程能够处理的最大请求数, 即同时间内子进程数目.设置为零表示不限制, mpm_winnt上的默认值就是0,官方参考手册中不建议设置为0, 主要基于两点考虑: (1) 可以防止(偶然的)内存泄漏无限进行,从而耗尽内存; (2) 给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

2、修改apache日志输出格式

修改apache的默认日志输出方式,是为了避免access日志文件过大,或者修改为apache的输出格式为我们想要的格式。例出,我们只关注其中某项有用的信息,其他项分析上用不到,我们就可以把该项自定义时,直接去掉或者我们根本用不到日志功能,可以直接将其关掉。

具体操作,可以通过打开httpd.conf文件,找到LogFormat项,就于自定义日志的输出内容格式;CustomLog用于修改日志的轮询格式。例如我们想access一旦达到100M就轮询,可以如下做:

#CustomLog "logs/access.log" common  //注释掉默认的日志记录方式
CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d-%H-%M-%S.log 100M" common  //定制的日志记录方式

注:rotatelogs是apache自带的一个小工具,其使用参数为:

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

当然也可以通过时间偏移方式,修改日志的生成:

CustomLog "|/bin/rotatelogs 日志存放目录/%Y%m%d_access.log 86400 480" common

86400:秒,24小时,表示生成的日志文件按天滚动,也就是每天生成一个日志文件;480:分,时间偏移。

四、php安全配置

1.启用安全模式
在xamppphp目录下,找到php.ini的配置文件,找到:

safe_mode = Off //改为On

32.禁止显示PHP的版本

expose_php = Off

最后,对于mysql的备份,我们可以通过批处理脚本配置合计划任务进行备份。也可以通过工具的实现计划备份,如官方的工具MySQL Administrator,找到back项,通过Schedule选项卡生成备份任务,通过计划任务进行调度。

继续阅读
  • 版权声明: 发表于 2017年6月23日11:43:31
  • 转载注明:https://x1995.cn/668.html
七年后谷歌重返中国市场 TensorFlow 将成利器 IT相关

七年后谷歌重返中国市场 TensorFlow 将成利器

退出中国七年多后,谷歌正以迄今为止最大胆的步伐重返这个市场。而且,不是凭借搜索引擎,而是人工智能系统开发框架TensorFlow。但是有消息人士称,百度的PaddlePaddle今年在开发者中的受欢迎...
【音乐分享】BEYOND专辑大全 影视音乐

【音乐分享】BEYOND专辑大全

Beyond,中国香港摇滚乐队,由黄家驹、黄贯中、黄家强、叶世荣组成。Beyond是一支来自于中国香港的著名摇滚乐队,也是华人地区的殿堂级乐队之一,成立于1983年,其队名的中文意思为“超越”。乐队属...
[怀旧经典] 周星驰经典电影蓝光原盘合集 影视音乐

[怀旧经典] 周星驰经典电影蓝光原盘合集

1980年成为丽的电视特约演员,开始出道。1988年初涉影坛,后相继主演《赌圣》、《逃学威龙》、《审死官》、《唐伯虎点秋香》、《大话西游》等,自编自导自演《国产凌凌 漆》、《食神》、《喜剧之王》、《少...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: