Lamp下安全配置随笔
Apache方面:
1、apache有两个指令可以输出服务器的细节,即ServerSignature和ServerTokens。
当这两个指令一起使用时,会输出apache的版本号,php的版本号,ip,端口等信息。很明显这样是很不安全的。
此时有两种解决办法,一:禁用ServerSignature。二:如果不能禁用,则可以将指令设置为“Prod”(这样只会显示最少的信息)。
2、在httpd.conf文件中,其DocumentRoot指令所对应的目录为公共目录,用户很容易就可访问到,这里面最好不要放重要的文件。
3、httpd.conf文件中有大量的注释语句,这些注释语句有时候回带来负面的效果,建议删除。
4、在not found错误页面一般会显示你的apache版本号,服务器操作系统名称等信息。解决办法是:
用vim编辑器打开配置文件,查找“ServerSignature”,默认情况下它是打开状态。我们需要关闭服务器签名。ServerTokens Prod告诉Apache只在每一个请求网页的服务器响应的头部,仅返回Apache产品名称。
# vim /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora)
# vim /etc/apache/apache2.conf (Debian/Ubuntu)
ServerSignature Off
ServerTokens Prod
# service httpd restart (RHEL/CentOS/Fedora)
# service apache2 restart (Debian/Ubuntu)
5、默认情况下,输入url后apache会自动查找目标目录里面的index.php文件,如果没找到,在页面上会显示路径目录里的所有内容,这样是很不安全的。解决办法是:
修改Apache配置文件httpd.conf;找到下面这一句删除掉Indexes即可。把Options Indexes FollowSymLinks改成Options FollowSymLinks即可。
PHP方面:
与安全有关的配置参数
1、disable_functions = string,默认值:null,可以设定你希望禁用的函数,如:disable_functions = fopen,popen,file
2、disable_classes = string,默认值:null,可以禁用类
3、display_errors = On|Off,默认值:on,正常情况下在开发过程中如果有什么错误会被报错到网页上,但当网站运营时,如果继续将报错显示在网页上明显不合适,所以要将该参数设置为off
4、max_execution_time = integer,默认值:30,此参数可以指定脚本的执行秒数,可以防止用户占用过多的cpu时间(如果设置为0,则没有时间限制)
5、memory_limit = integerM,默认值:128M,此指令可以指定脚本使用的内存(此指令只有在配置PHP时启用--enable-memory-limit)
6、open_basedir = string,默认值:null,这个指令可以建立一个基目录,所有的文件操作都只能在这个目录下进行,(与apache的documentroot指令类似)。
7、user_dir = string,默认值:null,辞职岭可以设定一个目录名,php脚本必须放在这里才能执行。(例如:如果设置为demo,则用户Jon希望执行demo.php,则应该在Jon的用户目录下简历demo目录,之后再将demo.php放在该文件夹里面)。
MySql方面:
1、禁用所有不需要使用的系统服务(如你不需要用web服务器发送电子邮件,则可以禁用该服务)。
2、关闭未使用的端口。
3、mysql守护进程的一些安全选项:
--skip-networking。若启用此选项,则你的mysql数据库不接受任何远程连接(这样虽然安全,但也意味着你自己也不能远程调试你的数据库)
--skip-name-resolve。防止用户用主机名连接,只允许使用ip地址和localhost
--skip-show-database。防止没有SHOW DATABASES权限的用户使用此命令查看数据列表。
--safe-user-create。防止没有权限的用户创建新用户。
Lamp下安全配置随笔的更多相关文章
- Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)
Centos下安装配置LAMP(Linux+Apache+MySQL+PHP) 关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...
- windows下配置lamp环境(5)---配置MySQL5.6
开始配置mysql 1.创建配置文件my.ini 1.进入C:\wamp\MySQL 2.把my-default.ini 另存一份:my.ini 3.开始编辑mysql的配置文件,打开my ...
- windows下配置lamp环境(3)---配置PHP5.4
下面配置php Php文件夹里有两个php.ini-*文件,随便修改一个,去掉后缀,变成php.ini (如图) 打开php.ini ,添加php扩展目录723行左右(其实放哪都无所谓,只不过php. ...
- windows下配置lamp环境(2)---配置Apache服务器2.2.25
配置Apache 配置Apache时,先要找到安装目录中的主配置文httpd.conf,使用文本编辑器打开,最好不要使用windows自带的编辑器,可以使用NotePad++, vim,或者subli ...
- linux下lamp.sh一键配置lamp环境流程
linux下lamp.sh一键配置lamp环境流程 一.总结 一句话总结: 2.将网站从github上clone到/data/www/网站域名/ 3.更改网站目录权限:chown -R apache: ...
- Centos 7环境下安装配置Hadoop 3.0 Beta1简记
前言 由于以前已经写过一篇Centos 7环境下安装配置2.8的随笔,因此这篇写得精简些,只挑选一些重要环节记录一下. 安装环境为:两台主机均为Centos 7.*操作系统,两台机器配置分别为: 主机 ...
- lamp下mysql安全加固
lamp下mysql安全加固 1.修改root用户口令,删除空口令 缺省安装的MySQL的root用户是空密码的,为了安全起见,必须修改为强密码,所谓的强密码,至少8位,由字母.数字和符号组成的不规律 ...
- lAMP下新建维护站点全过程
由于window2003年7.15日微软对此不进行更新和支持,因此换了服务器系统由原来的windows2003直接升级到linux,关于LAMP的环境配置请查看我其他的相关博客,在这仅讲述一下LAMP ...
- Ubuntu下HTTPS配置
Ubuntu下HTTPS配置非常简单,对大部分用户而言,使用普通的自签名证书,只需按照步骤进行就可以了,无需了解密钥.证书的更多知识,更深的背景知识还有RSA算法.DES算法.X509规范.CA机构. ...
随机推荐
- 【项目经验】--EasyUI DataGrid之右键菜单
前两天验收项目,老总提了一个不是需求的需求,为什么这么说呢?因为我们的管理不到位!话说当天,我们UI系统下发了一个总文件,上面写着"各个系统找一个没有添加UI的模块去添加最新版本UI进行测试 ...
- JSTL标签详解以及应用实例
JSTL Apache提供的标签库,jar包:jstl-1.2.jar,如果用MyEclipse,它会自动导入,无需自己导入,如果没有使用MyEclipse那么需要自行导入. ------------ ...
- Python与Hack之window下运行带参数的Python脚本,实现一个简单的端口扫描器
1.前提是:windows已经配置好Python的环境变量: 2.进入cmd命令行模式: **输入python命令,检测是否环境配置好:显示这样说明配置环境变量没问题 **用cd命令进入Python脚 ...
- POJ 2549 二分+HASH
题目链接:http://poj.org/problem?id=2002 题意:给定一个n个数字组成的序列,然后求出4个数使得a+b+c=d,求d的最大值.其中a,b,c,d要求是给定序列的数,并且不能 ...
- 利用K-means聚类分类,进行特征学习
这只是老师安排的一个实验,准备过程中遇到各种问题,现在贴出来供大家参考,是Andrew Ng参与的研究, 论文依据如下,第二篇是一篇相关的论文, Learning Feature Representa ...
- vs2008/2010安装无法打开数据文件解决方案
本人在安装VS2008或2010时,在开始的第一个页面(进度条大约加载到75%左右),提示“无法打开数据文件 'C:/Documents and Settings/Administrator/Loca ...
- wpf中手风琴控件Accordion编辑模板后控件不正常。
昨天有个网友Accordion控件从sl迁移到wpf时候显示不正常.也是就没有效果. 我也是sl做的比较多,wpf玩的少,Accordion模板里触发器,状态组调了一早上都没达到满意效果, 无奈只有百 ...
- 【面试题】TB
动态库与静态库区别: 堆栈区别,这样区分的意义: 不用第三个变量,交换两个变量的值: 链表公共节点: 判断链表是否有环: 常用排序算法,哪个可以链表实现: 哪科学的好,感兴趣: 项目介绍,遇到的最大问 ...
- 【转】Myeclipse建立Maven项目
原文地址: http://b-l-east.iteye.com/blog/1246482 1. 使用Maven创建webapp工程----原因是使用Maven时一般需要遵循一定的目录结构,虽然也可以使 ...
- HBase Shell 常见操作
1.一般操作 status 查看状态 version 查看HBase版本 2.DDL操作 create 'member','member_id','address','info' 创建了一个membe ...