(11) 错误日志
建议在关闭display_errors后能够把错误信息记录下来,便于查找服务器运行的原因:
log_errors = On
同时也要配置错误日志存放的目录,建议根apache的日志存在一起:
error_log = /usr/local/apache2/logs/php_error.log
注意:给文档必须允许apache用户的和组具备写的权限。
3. Mysql的安全配置
我们把Mysql安装在 /usr/local/mysql目录下,我们必须建立一个用户名为mysql,组为mysql的用户来运行我们的mysql,同时我们把他的配置文档拷贝到 /etc目录下:
# cp suport-files/my-medium.cnf /etc/my.cnf chown root:sys /etc/my.cnf chmod 644 /etc/my.cnf |
使用用户mysql来启动我们的mysql:
# /usr/local/mysql/bin/mysqld_safe -user=mysql &
(1) 修改root用户的的口令
缺省安装的mysql是没有密码的,所以我们要修改,以防万一。下面采用三种方式来修改root的口令。
* 用mysqladmin命令来改root用户口令
# mysqladmin -uroot password test
这样,MySQL数据库root用户的口令就被改成test了。(test只是举例,我们实际使用的口令一定不能使用这种易猜的弱口令)
* 用set password修改口令:
mysql> set password for root@localhost=password(’test’);
这时root用户的口令就被改成test了。
* 直接修改user表的root用户口令
mysql> use mysql; mysql> update user set password=password(’test’) where user=’root’; mysql> flush privileges; |
这样,MySQL数据库root用户的口令也被改成test了。其中最后一句命令flush privileges的意思是强制刷新内存授权表,否则用的还是缓冲中的口令,这时非法用户还能够用root用户及空口令登陆,直到重启MySQL服务器。
(2) 删除默认的数据库和用户
我们的数据库是在本地,并且也只需要本地的php脚本对mysql进行读取,所以很多用户无需。mysql初始化后会自动生成空用户和test库,这会对数据库构成威胁,我们全部删除。
我们使用mysql客户端程式连接到本地的mysql服务器后出现如下提示:
mysql> drop database test; mysql> use mysql; mysql> delete from db; mysql> delete from user where not(host="localhost" and user="root"); mysql> flush privileges; |
(3) 改变默认mysql管理员的名称
这个工作是能够选择的,根据个人习惯,因为默认的mysql的管理员名称是root,所以假如能够修改的话,能够防止一些脚本小子对系统的穷举。我们能够直接修改数据库,把root用户改为"admin"
mysql> use mysql; mysql> update user set user="admin" where user="root"; mysql> flush privileges; |
(4) 提高本地安全性
提高本地安全性,主要是防止mysql对本地文档的存取,比如黑客通过mysql把/etc/passwd获取了,会对系统构成威胁。mysql对本地文档的存取是通过SQL语句来实现,主要是通过Load DATA LOCAL INFILE来实现,我们能够通过禁用该功能来防止黑客通过SQL注射等获取系统核心文档。
禁用该功能必须在 my.cnf 的[mysqld]部分加上一个参数:
set-variable=local-infile=0
(5) 禁止远程连接mysql
因为我们的mysql只需要本地的php脚本进行连接,所以我们无需开socket进行监听,那么我们完万能够关闭监听的功能。
有两个方法实现:
* 配置my.cnf文档,在[mysqld]部分添加 skip-networking 参数
* mysqld服务器中参数中添加 --skip-networking 启动参数来使mysql不监听任何TCP/IP连接,增加安全性。假如要进行mysql的管理的话,能够在服务器本地安装一个phpMyadmin来进行管理。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




