数据库与服务器安全选项拾遗

原创 2013年12月25日 08:36:24

之前总结过sql注入的一些特征。这里总结一下数据库的内部特征。和安全选项。

MySQL


权限划分

mysql用户的权限,大体来说比较简单,分别存储于这几个表中
mysql.User,mysql.db,mysql.Host,mysql.table_priv,mysql.column_priv
因为存取频繁,所以这几个表的数据存在内存中,更新数据后使用,语句来进行内存更新
当然执行这个命令需要reload权限
FLUSH PRIVILEGES

用户登录时需检查,mysql.user中的user host pass 三个字段,如果允许任何主机外部链接可以吧host设置成%
用户登录通过后,mysql会自上而下的检查用户权限,首先在mysql.user中读取对应用户的权限。

其中关于用户权限的字段大概有这些,除去一些常规的不表,比较重要的是
file_priv 这个影响到了mysql读写文件的利用
grant_priv 的用户可以吧自己拥有的权限付给其他用户
process_priv 的用户可以通过SHOW PROCESSLIST查询所用用户的查询进程并kill,普通用户只可以查询自己的
super_priv的用户允许改变set变量,修改用户查询

Select_priv 
Insert_priv 
Update_priv 
Delete_priv 
Create_priv
Drop_priv  
Reload_priv
Shutdown_priv         
Process_priv          
File_priv  
Grant_priv 
References_priv       
Index_priv 
Alter_priv 
Show_db_priv          
Super_priv  
Create_tmp_table_priv 
Lock_tables_priv      
Execute_priv          
Repl_slave_priv       
Repl_client_priv      
Create_view_priv      
Show_view_priv        
Create_routine_priv   
Alter_routine_priv    
Create_user_priv    

另外 super file 等管理权限后面不能加数据库,只能以这种形式授权
grant super on *.* to xxx@xxxxx;
而select等增删改查的权限,可以指定数据库来添加
grant select on pyt.* to ‘p1′@’localhost’;
其中最低的权限是usage权限,相当于只有一个连接的权限。使用create user 建立的用户,默认为usage权限
但是此权限貌似有information_schema表的select权限,其中host为允许连接的主机名
CREATE USER 'username'@'host' IDENTIFIED BY 'password'
查询一个用户的权限只需要
CREATE USER 'username'@'host' IDENTIFIED BY 'password'

安全选项

mysql启动的时候,也有一些安全选项,可以起到提高mysql安全性的功能
具体可以看官方文档
http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_allow-suspicious-udfs

死四个安全选项
http://database.51cto.com/art/201005/199939.htm
提高安全设置
http://www.mianwww.com/html/2009/02/2926.html
六个安全选项
http://news.zdnet.com.cn/zdnetnews/2008/0124/718026.shtml
关于安全的文档
http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html

PHP


安全选项

Safe Mode

这个选项也是php常用的安全选项,开启他之后服务器会对文件读写,执行文件,改变php环境变量,文件包含等功能进行比较严格的限制。

文件读写

开启SafeMode之后,如果进行读写文件操作PHP检查当前用户是否是文件所有者,如果php被分配到一个比较低权限的账户,读写文件会比较困难。
以下这些函数会受到影响
chdir , move_uploaded_file, chgrp, parse_ini_file, chown, rmdir, copy, rename, fopen, require, highlight_file, show_source, include, symlink, link, touch, mkdir, unlink

运行文件执行系统命令

在执行系统命令的时候,只有safe_mode_exec_dir这个文件夹下的程序可以被执行。执行的指令会发送给escapeshellcmd进行过滤。
受影响的函数
exec, shell_exec, passthru, system, popen
另外,重音符也会被禁止。

环境变量

改变环境变量的函数也会被禁止
putenv,set_time_limit, set_include_path

如果想设置安全模式下可以改变的环境变量,需要这样safe_mode_allowed_env_vars

文件包含

文件包含的话同样也是需要safe_mode_include_dir来设定目录

expose_php

这个安全选项,会防止response包中泄露PHP版本信息,比如包头信息中通常会包含
Server: Apache/1.3.33 (Unix) PHP/5.0.3 mod_ssl/2.8.16
  OpenSSL/0.9.7c
但如果expose_php开启的话,PHP的版本信息将不包含在上面的头信息里。

AddType application/x-httpd 

有的时候你可能会觉得php的后缀不过瘾,那么可以在httpd.conf 中找到 AddTYpe这行,添加可供解析的后缀名。
AddType application/x-httpd .html .htm .txt .asp
这种方法也可以用来留后门。

open_basedir

这个选项可以规定用户只可以访问规定目录内的文件,这个选项并不和safe mode冲突

disable_functions

这个选项可以用来禁用一些函数
disable_functions = eval
当然,同样的你能够使用 disable_classes 选项来关闭对一些类的访问。

magic_quotes_gpc

大家常说的加引号的选项。

display_errors 

大家常说的显错,如果被关闭的话,那就只能盲注啦~。也可以通过log_errors设置输出到文件。

allow_url_include/allow_url_fopen

这个详见http://blog.csdn.net/wangyi_lin/article/details/13635673





SQLSERVER


权限划分

http://security.zdnet.com.cn/security_zone/2011/0606/2039978.shtml
http://www.jb51.net/article/32165.htm
http://profile.1688.com/article/i13247544.html

安全选项

http://wlzx.cug.edu.cn/cms/article/html/article_131.html
http://www.pc6.com/infoview/Article_652.html


相关文章推荐

MySQL安全相关启动选项

下列mysqld选项影响安全: --allow-suspicious-udfs 该选项控制是否可以载入主函数只有xxx符的用户定义函数。默认情况下,该选项被关闭,并且只能载入至少有辅助符的UD...

开源中间件tomcat服务器安全配置基线指导

本文规定了信息系统部门所维护管理的Tomcat WEB服务器应当遵循的安全性设置标准,本文档旨在指导系统管理人员进行Tomcat WEB服务器的安全配置。本文适用的tomcat服务器版本为4.x、5....

服务器安全基础知识系列(一)防范黑客的简单办法

昨天,公司的一台服务器又中病毒了,害得我昨天杀了一晚上得毒,今天到网上查找了一下安全相关的资料,特与大家分享一下。一、计算机的设置1.关闭“文件和打印共享”文件和打印共享应该是一个非常有用的功能,但在...

怎么保证远程登录服务器安全

远程登录进行服务器的管理和维护是管理员的日常工作之一,如何保障远登录的安全性也是大家必须要考虑的问题。本文将从帐户管理和登录工具的安全部署两个方面入手,谈谈如何实现服务的安全登录。   一、严密...
  • sunfor
  • sunfor
  • 2013年03月08日 14:57
  • 6110

服务器安全组策略之【防止UDP发包攻击】

服务器安全组策略之【防止UDP发包攻击】

Postfix邮件服务器安全:一

你的Postfix邮件服务器安全么?本文来自:http://os.51cto.com/art/201103/247862.htm   李洋Postfix最被人称道的地方就在于其配置文件的可读性很高。虽...
  • mal327
  • mal327
  • 2011年07月13日 22:29
  • 889

服务器安全管理入门

自编Windows2003入门手册,需要的请留言。服务器安全管理入门... 11.         网络安全... 11.1.       网络安全的范围... 11.2.       网络安全管理的...

Auditd - Linux 服务器安全审计工具

安全防护是首先要考虑的问题。为了避免别人盗取我们的数据,我们需要时刻关注它。安全防护包括很多东西,审计是其中之一。 我们知道Linux系统上有一个叫 auditd 的审计工具。这个工具在大多数L...

Windows 2003服务器安全加固方案

因为IIS(即Internet Information Server)的方便性和易用性,使它成为最受欢迎的Web服务器软件之一。但是,IIS的安全性却一直令人担忧。如何利用IIS建立一个安全的Web服...

Windows服务器安全维护八大要点

服务器指一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。相对于普通PC来说,服务器在稳定性、安全性、性能等方...
  • god_7z1
  • god_7z1
  • 2011年09月02日 02:24
  • 260
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库与服务器安全选项拾遗
举报原因:
原因补充:

(最多只允许输入30个字)