业务安全DB2安全加固通用操作指导书文档密级华为技术业务安全DB2安全加固通用操作指导书华为技术有限公司商业机密版权声明©2024华为技术有限公司版权所有,保留一切权利。非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书的部分或全部,并不得以任何形式传播。作者信息2024-9-7华为机密,未经许可不得扩散第1页,共19页业务安全DB2安全加固通用操作指导书文档密级拟制:钱冰斌日期:2010-3-10审核:日期:审核:日期:批准:日期:修订记录日期修订版本作者描述2010-3-10V1.0钱冰斌Draft2024-9-7华为机密,未经许可不得扩散第2页,共19页业务安全DB2安全加固通用操作指导书文档密级目录1文档使用说明......................................................................51.1适用范围.................................................................................................................................51.1.1适用版本........................................................................................................................51.1.2适用人员........................................................................................................................52实施前准备.........................................................................62.1系统检查.................................................................................................................................62.2业务检查.................................................................................................................................62.3备份.........................................................................................................................................73加固实施............................................................................73.1SEC-DB2-ACCT帐号加固....................................................................................................73.1.1SEC-DB2-ACCT-01设置专用维护帐号......................................................................73.1.2SEC-DB2-ACCT-02锁定/删除无用帐号-------完成...................................................93.1.3SEC-DB2-ACCT-03禁止在实例用户下安装应用软件---完成................................103.2SEC-DB2-PWD口令加固....................................................................................................103.2.1SEC-DB2-PWD-01配置用户口令复杂度----------和系统重复,以系统为准........103.2.2SEC-DB2-PWD-02配置用户口令期限------建议不做.............................................113.2.3SEC-DB2-PWD-03配置用户口令重复使用次数----系统中不做............................123.2.4SEC-DB2-PWD-04配置用户认证失败锁定策略----系统部分不做........................123.3SEC-DB2-AUTH访问控制.................................................................................................133.3.1SEC-DB2-AUTH-01从PUBLIC撤销隐式的权限和特权---需确认.......................133.3.2SEC-DB2-AUTH-02账号权限最小化-----需确认....................................................143.4SEC-DB2-OTHER其他加固...............................................................................................153.4.1SEC-DB2-OTHER-01设置身份验证类型----需确认,如何修改...........................153.4.2SEC-DB2-OTHER-02访问控制(可选)-------不做...............................................164实施后验证.......................................................................184.1系统检查...............................................................................................................................184.2业务检查...............................................................................................................................195风险回退..........................................................................195.1故障信息收集:...................................................................................................................195.2对实施前备份的配置文件进行恢复...................................................................................192024-9-7华为机密,未经许可不得扩散第3页,共19页业务安全DB2安全加固通用操作指导书文档密级2024-9-7华为机密,未经许可不得扩散第4页,共19页业务安全DB2安全加固通用操作指导书文档密级1文档使用说明1.1适用范围1.1.1适用版本操作系统适用所有操作系统,本文涉及到的操作均以Linux操作系统为例,其他操作系统请自行参考相关资料。数据库DB2V8,V9,没有特别说明的,均以DB2V9为基准。1.1.2适用人员一线维护工程师和安全专业服务工程师。要求使用人员熟悉Unix命令、熟练操作DB2数据库,熟悉安全加固流程。2024-9-7华为机密,未经许可不得扩散第5页,共19页业务安全DB2安全加固通用操作指导书文档密级2实施前准备1、预计操作时间:30分钟,可提前完成2、操作人员:华为工程师或交付合作方3、操作影响:无影响现网设备加固需要提前提交现网施工申请,一般要求凌晨0:00后才能开始实施。加固前一定要对主机及数据库作健康检查,确认无软硬件故障、重启正常、双机切换正常和业务运行正常后,才能对数据库进行加固操作。否则建议修复后再加固。双机加固时考虑到数据库重启时会自动切换,因此可以先停掉双机的自动切换,待加固完成后再启动双机的自动切换。2.1系统检查步骤1检查是否有异常日志步骤2系统启动信息,系统日志信息步骤3检查系统性能情况#top#vmstat510#sar510并把相关结果记录下来2.2业务检查根据业务加固策略要求,检查业务运行状态,详细请参考对应产品的数据库加固项目交付指导书。2024-9-7华为机密,未经许可不得扩散第6页,共19页业务安全DB2安全加固通用操作指导书文档密级2.3备份步骤1对操作系统进行备份步骤2对数据库进行备份根据各业务特点补充要备份的内容和方法。3加固实施1、预计操作时间:60分钟2、操作人员:华为专业安全服务工程师或交付合作方3、操作影响:部分策略实施可能会造成业务中断,在双机系统中,实施时需先实施备机,确保备机没问题后,再实施主机。3.1SEC-DB2-ACCT帐号加固3.1.1SEC-DB2-ACCT-01设置专用维护帐号加固内容:应按照不同的用户分配不同的账号,避免不同用户间共享账号,避免用户账号和设备间通信使用的账号共享。通用策略:建议按维护人员角色新增维护帐号,根据工号创建唯一维护帐号即可。2024-9-7华为机密,未经许可不得扩散第7页,共19页业务安全DB2安全加固通用操作指导书文档密级风险说明:无操作方法:使用以下命令创建帐号:必须以管理员的身份登录创建用户DB_USER,密码为Wapgw5#123#useradd-mDB_USER#passwdDB_USER使用以下命令删除帐号(使用CASCADE参数可先删除所有对象再删除用户):#userdel[-r[-f]]DB_USER以db2inst1登陆,使用以下命令赋予用户权限:根据实际需要为用户分配不同的权限$db2connecttosampleuserdb2inst1usingWap5@db2database$db2grantconnectondatabasetouserDB_USERDB2用户登陆,密码区分大小写。操作验证:使用以下命令查看当前用户的权限:$db2getauthorizationsAdministrativeAuthorizationsforCurrentUserDirectSYSADMauthority=NODirectSYSCTRLauthority=NODirectSYSMAINTauthority=NODirectDBADMauthority=YESDirectCREATETABauthority=YESDirectBINDADDauthority=YESDirectCONNECTauthority=YESDirectCREATE_NOT_FENCauthority=YESDirectIMPLICIT_SCHEMAauthority=YESDirectLOADauthority=YESDirectQUIESCE_CONNECTauthority=YESDirectCREATE_EXTERNAL_ROUTINEauthority=YESIndirectSYSADMauthority=YESIndirectSYSCTRLauthority=NOIndirectSYSMAINTauthority=NOIndirectDBADMauthority=NOIndirectCREATETABauthority=YESIndirectBINDADDauthority=YESIndirectCONNECTauthority=YESIndirectCREATE_NOT_FENCauthority=NOIndirectIMPLICIT_SCHEMAauthority=YESIndirectLOADauthority=NOIndirectQUIESCE_CONNECTauthority=NOIndirectCREATE_EXTERNAL_ROUTINEauthority=NO也可以通过表SYSCAT.DBAUTH查看每个用户的权限。2024-9-7华为机密,未经许可不得扩散第8页,共19页业务安全DB2安全加固通用操作指导书文档密级3.1.2SEC-DB2-ACCT-02锁定/删除无用帐号-------完成加固内容:应删除或锁定与数据库运行、维护等工作无关的帐号。通用策略:业务加固策略中的相关项:说明:需研发确认用户列表,系统用户类,业务用户类,维护用户类。请现场将所有用户列表发回,确认需要锁定的用户列表。可以通过cat/etc/passwd命令获取。风险说明:删除用户需谨慎,建议不要删除内置用户,而使用锁定帐号的方式。操作方法:需要锁定的用户:lpgamesnamedatircmysqlldappostfixpostgreswwwrunmailpopsnortsquidmailmannewsuucp锁定用户:#passwd-lusername说明:只有具备超级用户权限的账号才能使用passwd-lusername锁定账号,解除对帐号的锁定:#passwd-uusername操作验证:使用已经锁定的帐号尝试登陆3.1.3SEC-DB2-ACCT-03禁止在实例用户下安装应用软件---完成加固内容:禁止在实例用户下安装应用软件。2024-9-7华为机密,未经许可不得扩散第9页,共19页业务安全DB2安全加固通用操作指导书文档密级通用策略:实例用户是DB2所特有,实例用户有最高的sysadm权限。不能在该用户下安装应用软件,因为可能权限过大而超成一些安全隐患。风险说明:无操作方法:步骤1进入实例目录cd/opt/ibm/db2/V9.1/instance步骤2以root用户执行$./db2ilist>db2inst1操作验证:应用软件没有安装在db2inst1用户下3.2SEC-DB2-PWD口令加固3.2.1SEC-DB2-PWD-01配置用户口令复杂度----------和系统重复,以系统为准加固内容:对于采用静态口令进行认证的数据库,口令长度至少6位,并包括数字、字母和特殊符号3类。修改密码为不符合要求的密码,将失败。通用策略:维护帐号和系统管理帐号都可以做“口令加固”,业务帐号,不能做“口令加固”。风险说明:无操作方法:设置密码规则:至少各有一个字符来自这些字符集a-z、A-Z、标点符号、0-9。修改/etc/pam.d/passwd,添加如下行:#vi/etc/pam.d/passwdpasswordrequiredpam_cracklib.sodcredit=-1ucredit=-1ocredit=-1lcredit=-1minlen=6passwordrequiredpam_unix.souse_authtoknullokmd52024-9-7华为机密,未经许可不得扩散第10页,共19页业务安全DB2安全加固通用操作指导书文档密级操作验证:创建一个普通账号,为用户配置与用户名相同的口令、只包含字符或数字的简单口令以及长度短于6位的口令,查看系统是否对口令强度要求进行提示;输入带有特殊符号的复杂口令、普通复杂口令,查看系统是否可以成功设置。3.2.2SEC-DB2-PWD-02配置用户口令期限------建议不做加固内容:对于采用静态口令认证技术的数据库,帐号口令的生存期不长于90天,宽限期7天。通用策略:维护帐号和系统管理帐号都可以做“口令加固”,业务帐号,不能做“口令加固”。风险说明:如果在宽限期内没有修改口令,账户就会过期。如业务帐号采用口令期限设置,将导致以后业务连接不了数据库,严重影响业务。操作方法:设置密码最大有效期限为90天,最小有效期限为1天。修改/etc/login.defs,添加或修改如下内容:vi/etc/login.defsPASS_MAX_DAYS90PASS_MIN_DAYS1PASS_WARN_AGE7说明:PASS_MAX_DAYS密码的最大有效期限,默认值是9999PASS_MIN_DAYS密码的最小有效期限,默认值是0操作验证:使用密码过期的帐户尝试登录系统。3.2.3SEC-DB2-PWD-03配置用户口令重复使用次数----系统部分不做加固内容:对于采用静态口令认证技术的数据库,应配置数据库,使用户不能重复使用最近5次(含5次)内已使用的口令。2024-9-7华为机密,未经许可不得扩散第11页,共19页业务安全DB2安全加固通用操作指导书文档密级通用策略:维护帐号和系统管理帐号都可以做“口令加固”,业务帐号,不能做“口令加固”。风险说明:无操作方法:禁止使用最近5次使用的密码修改/etc/pam.d/passwd,添加如下内容vi/etc/pam.d/passwdpasswordrequiredpam_unix.soremember=5use_authtokmd5shadow操作验证:对某一用户设置相同密码3.2.4SEC-DB2-PWD-04配置用户认证失败锁定策略----系统部分不做加固内容:对于采用静态口令认证技术的数据库,应配置当用户连续认证失败次数超过6次(不含6次)。通用策略:维护帐号和系统管理帐号都可以做“口令加固”,业务帐号,不能做“口令加固”。风险说明:无操作方法:设置连续认证失败次数为6次修改/etc/login.defs文件,设置vi/etc/login.defsLOGIN_RETRIES6操作验证:创建一个普通账号,为其配置相应的口令;并用新建的账号通过错误的口令进行系统登录6次以上。2024-9-7华为机密,未经许可不得扩散第12页,共19页业务安全DB2安全加固通用操作指导书文档密级3.3SEC-DB2-AUTH访问控制3.3.1SEC-DB2-AUTH-01从PUBLIC撤销隐式的权限和特权---需确认加固内容:DB2在内部使用一个名为PUBLIC的组,对于PUBLIC,可以为之授予特权,也可以撤销它的特权。PUBLIC实际上不是在外部安全设施中定义的一个组,但利用它可以为通过DB2认证的用户授予特权。当创建一个新数据库时,某些数据库权限和特权就会自动授予PUBLIC,应该撤销这些特权。通用策略:无风险说明:可能会影响业务,实施前需与业务工程师确认。操作方法:以实例用户登陆(一般情况下为db2inst1)$db2CONNECTTOsample;$db2revokeuseoftablespaceuserspace1frompublic$db2revokeselectontablesyscat.colauthfrompublic$db2revokeselectontablesyscat.dbauthfrompublic$db2revokeselectontablesyscat.indexauthfrompublic$db2revokeselectontablesyscat.packageauthfrompublic$db2revokeselectontablesyscat.passthruauthfrompublic$db2revokeselectontablesyscat.routineauthfrompublic$db2revokeselectontablesyscat.schemaauthfrompublic$db2revokeselectontablesyscat.sequenceauthfrompublic$db2revokeselectontablesyscat.tabauthfrompublic$db2revokeselectontablesyscat.tbspaceauthfrompublic操作验证:无3.3.2SEC-DB2-AUTH-02账号权限最小化-----需确认加固内容:在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。通用策略:根据业务需要,配置最小权限,查看已有帐号的权限、角色,移除非必要权限、角色。2024-9-7华为机密,未经许可不得扩散第13页,共19页业务安全DB2安全加固通用操作指导书文档密级风险说明:回收业务帐号相关权限可能会影响业务,实施前需与业务工程师确认。操作方法:确定用户帐户所授予的权限grant(授权)命令,对用户user01授权,命令如下:$db2grantconnectondatabasetouserDB_USER……revoke(撤消)权限,对用户user01撤消授权,命令如下:$db2revokeconnectfromuserDB_USER操作验证:查询用户帐户的DATABASE权限SELECTDISTINCTGRANTEE,GRANTEETYPEFROMSYSCAT.DBAUTHWHEREGRANTEE='USERNAME'查询用户帐户的TABLE权限SELECTDISTINCTGRANTEE,GRANTEETYPEFROMSYSCAT.TABAUTHWHEREGRANTEE='USERNAME'查询用户帐户的PACKAGE权限SELECTDISTINCTGRANTEE,GRANTEETYPEFROMSYSCAT.PACKAGEAUTHWHEREGRANTEE='USERNAME'查询用户帐户的INDEX权限SELECTDISTINCTGRANTEE,GRANTEETYPEFROMSYSCAT.INDEXAUTHWHEREGRANTEE='USERNAME'查询用户帐户的COLUMN权限SELECTDISTINCTGRANTEE,GRANTEETYPEFROMSYSCAT.COLAUTHWHEREGRANTEE='USERNAME'查询用户帐户的SCHEMA权限SELECTDISTINCTGRANTEE,GRANTEETYPEFROMSYSCAT.SCHEMAAUTHWHEREGRANTEE='USERNAME'查询用户帐户的SERVER权限SELECTDISTINCTGRANTEE,GRANTEETYPEFROMSYSCAT.PASSTHRUAUTHWHEREGRANTEE='USERNAME'2024-9-7华为机密,未经许可不得扩散第14页,共19页业务安全DB2安全加固通用操作指导书文档密级3.4SEC-DB2-OTHER其他加固3.4.1SEC-DB2-OTHER-01设置身份验证类型----需确认,如何修改加固内容:DB2安全性是通过组合外部安全性服务与内部DB2授权机制来处理的。外部安全性服务对希望访问DB2服务器的用户进行身份验证,DB2外部的安全性软件负责处理身份验证。该软件可以是操作系统的安全性设施,也可是Kerberos等独立产品。成功校验了用户ID和口令后,内部DB2进程将接管控制,并确保用户有权执行所请求的操作。通用策略:身份验证类型确定在何处验证用户ID/口令对。所支持的身份验证类型有:SERVER(默认)SERVER_ENCRYPTKERBEROSKRB_SERVER_ENCRYPTCLIENT身份验证类型是在服务器和客户机处同时设置的。建议设置为:SERVER_ENCRYPT风险说明:无操作方法:确定用户帐户所授予的权限服务器:$db2updatedbmcfgusingauthenticationserver_encrypt客户机:$db2catalogdatabasedb_nameatnodenode_nameauthenticationserver_encrypt操作验证:$db2getdbmcfg3.4.2SEC-DB2-OTHER-02访问控制(可选)-------不做3.4.2.1hosts.allow和hosts.deny加固内容:对于通过IP协议进行远程维护的设备,设备应支持对允许登陆到该设备的IP地址范围说明:2024-9-7华为机密,未经许可不得扩散第15页,共19页业务安全DB2安全加固通用操作指导书文档密级需研发给出网元访问关系。操作方法:编辑文件/etc/hosts.allow,设置允许访问的范围#vi/etc/hosts.allow增加一行:允许访问的IP举例如下:all:192.168.4.44:allow#允许单个IP;ssh:192.168.1.:allow#允许192.168.1的整个网段编辑文件/etc/hosts.deny,设置拒绝访问的范围#vi/etc/hosts.deny增加一行all:all重启进程,使设置生效:#pkill-HUPinetd操作验证:查看/etc/hosts.allow和/etc/hosts.deny两个文件使用受限制的IP访问预期结果:受限制的IP无法访问3.4.2.2iptables加固内容:对于通过IP协议进行远程维护的设备,设备应支持对允许登陆到该设备的IP地址范围说明:需研发给出网元访问关系。操作方法:假设我们的服务器server1运行apache,sshd(sshd可以不运行在标准端口,配置文件中能修改)eth0网卡接Internet,eth1连接LAN,管理员在家中拨号登陆到server2(其私用网络IP为192.168.0.12),再登陆server1#iptables-AINPUT-ieth1-s192.168.0.12-ptcp--dport22-jACCEPT为防止IPspoofing的可能,还可以绑定server2的网卡地址:2024-9-7华为机密,未经许可不得扩散第16页,共19页业务安全DB2安全加固通用操作指导书文档密级#iptables-AINPUT-ieth1-s192.168.0.12--mac-source01:68:4B:91:CC:B7-ptcp--dport22-jACCEPT不过好像也很少有入侵者能够做到这种地步,而且没什么利用的价值#iptables-AINPUT-ieth0-ptcp--dport80-jACCEPT#iptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT#iptables-AINPUT-jDROP对攻击有所了解的人都知道“端口重定向+反向管道”的美妙结合来穿越防火墙的例子吧这种技巧已经运用太广,而危害很大为了对抗这种难以防御的攻击,我们必须以牺牲一定的易用性为代价#iptables-AOUTPUT-oeth0-ptcp--syn-jDROP以上规则将阻止由内而外的TCP主动连接另外,用tftp或其他客户端反向攫取文件的攻击行为也很普遍,由于tftp以及其他一些工具依赖UDP,所以现在要把它彻底抹煞掉#iptables-AOUTPUT-oeth0-pudp-jDROP在更新系统和调试网络时需要把这两条规则临时去掉因为入侵的本质就是通过文本或图形界面在标准或非标准端口得到目标操作系统的shell,所以,这不仅能阻止反向管道本身,还能免疫很多入侵技巧。iptables的一些攻击对策Syn-floodprotection:#iptables-AFORWARD-ptcp--syn-mlimit--limit1/s-jACCEPTFurtiveportscanner:#iptables-AFORWARD-ptcp--tcp-flagsSYN,ACK,FIN,RSTRST-mlimit--limit1/s-jACCEPTPingofdeath:#iptables-AFORWARD-picmp--icmp-typeecho-request-mlimit--limit1/s-jACCEPT操作验证:从其他机器上访问经iptable设置过的相关端口预期结果:经iptable设置过的相关端口的访问已经得到控制2024-9-7华为机密,未经许可不得扩散第17页,共19页业务安全DB2安全加固通用操作指导书文档密级4实施后验证预计操作时间:30分钟操作人员:操作影响:无影响4.1系统检查步骤1检查是否有报错#more/var/log/message步骤2检查系统性能情况,与实施前性前进行对比#top#vmstat510#sar510并把相关结果记录下来4.2业务检查在做加固之后,做一次巡检检查系统状态是否都正常5风险回退预计操作时间:30分钟操作人员:2024-9-7华为机密,未经许可不得扩散第18页,共19页业务安全DB2安全加固通用操作指导书文档密级操作影响:可能会造成业务中断。当发现相关操作对业务造成运行或性能造成影响时,可按如下步骤恢复相关配置至实施前状态。5.1故障信息收集:步骤1创建故障信息收集文件夹:#mkdir/tmp/config步骤2收集屏幕上的报错信息及涉及到的相关配置文件;1.拷屏或者截图;2.复制相关配置文件;#cp–p相关配置文件/tmp/config步骤3收集加固后的修改过的配置文件;步骤4打包取回以备分析定位。5.2对实施前备份的配置文件进行恢复步骤1从备份目录恢复相关文件#cp–p备份文件系统文件步骤2当备份文件恢复失败等紧急情况时用磁带进行操作系统恢复步骤3恢复后进行业务验证,业务验证方法同上2024-9-7华为机密,未经许可不得扩散第19页,共19页