查看原文
其他

干货分享 | 数据库安全功能之八—资源管理

优炫软件 2020-08-29


资源限制为了防止服务器资源紧张,优炫数据库UXDB对用户或者系统进行一些资源限制及资源监控。➤max_connections最大连接数,即用户并发数。➤login_error_lock_times连接失败次数,允许一个用户口令鉴别失败的次数,达到失败上限,该用户会被锁定一段时间,且在锁定时间内无法登陆,直到解锁。默认是3次。➤login_error_lock_duration连接失败锁定时间,口令鉴别失败之后的锁定时间。默认是5min。➤authentication_timeout完成客户端认证的最长时间。如果一个客户端没有在这段时间里完成认证协议,服务器将中断连接。这样就避免了出问题的客户端无限制地占据连接资源。缺省是60秒。➤shared_buffers设置数据库服务器将使用的共享内存缓冲区数量。默认是128MB。每个缓冲区大小的典型值是128千字节,不过,这个数值比最小值大一些通常需要更好的性能。➤temp_buffers设置每个数据库会话使用的临时缓冲区的最大数目。这些都是会话的本地缓冲区,只用于访问临时表。默认是8MB。➤work_mem声明内部排序操作和Hash表在开始使用临时磁盘文件之前使用的内存数目。默认数值是4MB。➤maintenance_work_mem声明在维护性操作(比如VACUUM,CREATE INDEX和ALTER TABLE ADD FOREIGN KEY)中使用的最大的内存数。默认是64MB。➤temp_file_limit指定会话可以使用临时文件的最大磁盘空间,如排序和哈希临时文件,或持有游标的存储文件。默认是-1,即不限制。➤max_files_per_process设置每个服务器进程允许同时打开的最大文件数目。默认是1000。



表空间最少资源限制⚠️当存储达到表空间大小阈值的时候,给出警告WARNING: Tablespace myspace(10473472) exceeds size threshold(0.8*10485760)。当存储超过表空间大小时,会发出错误告警FATAL:  insufficient disk space or tablespace,且数据库会重新连接。


客体重用优炫数据库UXDB提供客体重用的功能,为防止非法进程利用数据库客体的内存泄漏来攻击数据库。主要表现为以下:1、在资源分配时,如创建新库,数据库设备初始化等,所得到的资源不包含该客体以前的任何信息内容。2、在资源索回时,会确保这些资源中的全部信息被清除。3、创建新的数据库用户进程时,分配给每个进程的资源不包含残留信息。4、已经被删除或被释放的信息不再是可用的。举例:1)创建用户u1,查看u1的oid(唯一识别号)。create user u1 password '1qaz!QAZ';select * from ux_roles where rolname = 'u1';2)删除用户u1。drop schema u1;drop user u1;3)重新创建用户u1,再次查看oid,是否与之前的一致。create user u1 password '1qaz!QAZ';select * from ux_roles where rolname = 'u1';重新创建的用户oid与之前不一致。



基于任务优先级的CPU调度(1)root用户对bin目录下可执行文件uxdb赋予修改nice值的权限sudosetcapcap_setuid,cap_sys_nice+ep /home/uxdb/uxdbinstall/dbsql/bin/uxdb(2)uxdb用户创建三个测试用户create user test1 password '1qaz!QAZ';create user test2 password '1qaz!QAZ';create user test3 password '1qaz!QAZ';(3)打开三个终端进入当前安装bin目录下,分别以test1、test2、test3用户同时登录数据库(4)查看三个用户的优先级ps -elf | grep test可以看到三个用户的优先级一样,PRI为80(默认值),NI为0(默认值)(5)以uxdb用户登录,为test1、test2、test3设置不同的nice值select ux_set_user_nice('test1', 10);select ux_set_user_nice('test2', -5);select ux_set_user_nice('test3', -15);(6)重启数据库使上述配置生效(7)再次在三个终端分别使用test1、test2、test3登录数据库(8)再其他终端查看三个用户的优先级ps -elf | grep test上述结果可以看到test1的PRI为90,NI为10;test2的PRI为75,NI为-5;test3的PRI为65,NI为-15。PRI :代表进程可被执行的优先级,其值越小越早被执行。NI :代表进程的nice值,范围是19(最低优先级)到-20(最高优先级)。默认值为0



-FIN-

D

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存