Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1130571
  • 博文数量: 113
  • 博客积分: 2422
  • 博客等级: 大尉
  • 技术积分: 1393
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-25 17:54
文章分类
文章存档

2016年(1)

2014年(8)

2013年(7)

2012年(13)

2011年(42)

2010年(26)

2009年(6)

2008年(6)

2007年(4)

我的朋友

分类: DB2/Informix

2013-08-12 14:26:34

informix用户权限的介绍及查看方法

在Informix中,有三个数据库特权级别:DBA、Resource 和 Connect
Connect 特权允许用户访问数据库以及添加、修改和删除数据。
Resource 特权授予用户所有 Connect 特权,还授予创建新的表、索引和过程的特权。
DBA 特权包括 Connect 和 Resurce 特权,还授予用户把 Resource、Connect 或DBA 特权授予其他用户的权力。具有DBA 特权的用户还可以删除数据库中的所有对象或完全删除数据库。

Informix在数据库、表和列级都应用了安全措施。但是所有安全措施都基于用来连接数库的用户名。Informix 使用关键字 public 表示应用于所有用户的特权。public关键字是一个非常强大的工具,可以开放对数据的访问。

取消Public的Connect特权
默认地,public被授予了connect特权。这意味着任何人,只要持有有效的操作系统用户ID和口令,都可以连接到数据库服务器。

启用审计
应该对关键事件进行审计,例如登陆尝试失败。

取消Public对文件访问例程的权限
默认地,public可以执行文件访问函数,例如lotofile、filetoclob和ifx_file_to_file。这将允许攻击者读、写服务 器上的文件。为帮助解决这一安全漏洞,创建一个名为FileAccess的角色,按照严格的业务需求,只把那些需要访问文件的用户分配为该角色的成员。然 后为该角色分配对文件访问例程的执行权限,并取消public的执行权限。

取消Public对模块例程的执行权限
默认地,public可以执行模块函数,例如ifx_replace_module、ifx_load_internal和 reload_module。这将允许攻击者强制Informix服务器加载任意的库并像Informix用户一样执行代码。为帮助解决这一安全漏洞,创 建一个名为ModuleAccess的角色,按照严格的业务需求,只把那些需要加载模块的用户分配为该角色的成员。然后为该角色分配对这些例程的执行权 限,并取消public的执行权限。

限制语言Usage权限
应该限制被授予了C和Java例程语言usage权限的用户的数量。拥有这些语言的usage权限的任何人都可以像Informix用户一样运行代码。

检查命令

# 显示informix数据库版本、状态,启动时间和所占内存
onstat -

# 查看日志情况(逻辑日志和物力日志,包括页地址)
onstat -l

# 查看配置文件信息($informixdir/etc/$onconfig)
onstat -c

# 查看informix配置参数
cat $INFORMIXDIR/etc/onconfig

# 查看数据库特权命令
Select * from sysusers

# 查看表级别特权
select * from systabauth

# 使用详细列表格式显示数据库事务日志信息记录(系统管理日志)
ls -la $INFORMIXDIR/online.log # System message log file path

# 查看逻辑日志的备份(报警项)
cat $INFORMIXDIR/etc/log_full.sh # Alarm program path

# 显示用户信息
onstat -u

# 显示数据库空间使用信息
onstat -d

阅读(12396) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~