CentOS环境下Informix数据库安全设置与防护指南
adm、lp、sync等),减少潜在攻击面;禁用/etc/passwd中的非必要超级用户,仅保留必需的系统管理员账户。/etc/login.defs文件配置PASS_MIN_LEN(最小长度)、PASS_MAX_DAYS(口令有效期,不超过90天)、PASS_WARN_AGE(过期提醒提前天数)等参数,强制执行口令复杂度规则。/etc/pam.d/system-auth文件,使用pam_tally2.so模块设置连续认证失败6次后锁定账户(deny=6),锁定时间为300秒(unlock_time=300);限制root账户直接SSH登录(修改/etc/ssh/sshd_config中的PermitRootLogin no),仅允许特定组(如wheel)使用su命令切换至root(编辑/etc/pam.d/su文件,添加auth required pam_wheel.so use_uid)。CREATE USER语句创建用户并设置强密码(如CREATE USER app_user IDENTIFIED BY 'Complex@123');通过GRANT语句授予最小必要权限(如GRANT SELECT, INSERT ON sales.orders TO app_user),避免过度授权;使用角色(ROLE)整合权限(如创建sales_role并授予权限,再GRANT sales_role TO app_user),简化权限管理;定期使用SHOW GRANTS FOR username查看用户权限,使用REVOKE语句撤销不再需要的权限(如REVOKE INSERT ON sales.orders FROM app_user)。firewalld或iptables配置防火墙,仅开放Informix必需的端口(默认1526为SQL端口、1527为DRDA端口,可根据需求调整),禁止其他端口访问;例如,使用firewall-cmd --permanent --add-port=1526/tcp添加端口,firewall-cmd --reload生效。telnet、ftp、rpcbind等),减少网络攻击面;使用systemctl disable telnet禁用服务,systemctl stop telnet停止运行中的服务。GRANT/REVOKE语句实现,控制用户对数据库对象(表、视图、存储过程等)的访问权限,是最基础的访问控制机制。admin_role、report_role),再将角色分配给用户,简化权限管理并提高一致性;例如,GRANT admin_role TO db_admin。public、internal、confidential)和策略(如READ、WRITE),限制用户对敏感数据的访问;适用于金融、医疗等行业的高敏感数据保护。$INFORMIXDIR/aaodir/adtcfg,设置ADTMODE=7(同时写入Informix审计记录和操作系统审计记录,并自动审计DBSA和DBSSO活动);指定审计日志路径(ADTPATH,如/opt/informix/aaodir),确保路径权限为660(仅Informix用户可读写)。Auditd工具增强系统日志审计,监控/var/log/secure(SSH登录日志)、$INFORMIXDIR/aaodir(Informix审计日志)等重要文件;配置日志轮换(如logrotate),防止日志文件过大占用磁盘空间;定期检查日志中的失败登录尝试(如grep "Failed password" /var/log/secure)、异常操作(如大量数据导出),及时发现潜在安全威胁。Enforcing模式(setenforce 1),通过强制访问控制(MAC)限制进程权限,减少系统漏洞被利用的风险;可根据需要调整SELinux策略(如semanage命令)。$INFORMIXDIR/etc/onconfig,设置DUMPSHMEM=0,禁止服务器崩溃时转储共享内存段(共享内存中包含敏感数据,如密码哈希、数据库内容),防止信息泄露。yum-cron工具自动更新CentOS系统和Informix数据库的安全补丁,定期检查IBM官方网站的安全公告(如Informix Security Bulletins),及时安装最新补丁,修复已知漏洞。onbar或dbexport工具备份数据,将备份文件存储在安全的异地位置(如云存储、离线介质);定期测试备份恢复流程,确保数据可恢复性。