2012年(46)
分类:
2012-02-22 16:07:16
原文地址:aix 安全检查 作者:kennychang05
AIX Security Checklist 第1章 系统基本信息 uname -a 显示系统信息(硬件编号,系统名称,主机名,操作系统的version和release) oslevel 显示系统版本 who -r 系统当前的runlevel 第2章 系统网卡信息 ifconfig –a 显示系统内所有网卡信息 第3章 系统路由信息 netstat –nr 显示系统路由信息 第4章 网络连接信息 netstat –na 显示系统当前所有网络连接的状态 第5章 操作系统进程信息 ps –ef 显示系统内所有的进程 第6章 文件系统基本权限信息 检查基本的目录权限: CODE: / /etc /usr /var /tmp /dev /sbin /home /usr/bin /usr/lib /usr/sbin /var/adm /var/spool 检查主要的配置文件权限: CODE: /etc/passwd /etc/security/passwd /etc/security/user /etc/security/login.cfg /etc/inittab 使用find命令查找所有setuid,setgid和全局可写的文件和目录. find / -perm -4000 -ls 查找所有setuid的文件 find / -perm -2000 -ls 查找所有setgid的文件 find / -perm -0004 -ls 查找所有全局可写的文件和目录 第7章系统是否允许root远程登录 7.1.检查 AIX系统中没有对root远程登录进行单独的限制,和其他用户一样,对root用户远程登录的限制可以在文件/etc/security/user中指定.该操作可以通过以下三种方式进行: 1.使用vi直接查看及更改/etc/security/user文件; 2.使用lsuser和chuser命令; 3.通过smit查看及更改(smit lsuser,smit chuser). lsuser -a rlogin root 查看root的rlogin属性(默认为true,允许远程登录,telnet或rlogin) chuser rlogin=false root 禁止root远程登录 lsuser -a ttys root 查看root的ttys属性(root用户允许登录的端口) chuser ttys=lft0 root 只允许root从lft0端口登录(本机) 7.2.加固 设置root的用户属性rlogin=false,ttys=lft0 第8章 rc?.d中的服务的启动情况 8.1.检查 AIX 系统中的服务主要在/etc/inittab文件和/etc/rc.*(包括rc.tcpip,rc.nfs)等文件中启动,事实上,/etc/rc.* 系列文件主要也是由/etc/inittab启动.同时,AIX中所有启动的服务(至少是我们感兴趣的)都可以同过SRC(System Resource Manager)进行管理.可以有三种方式查看系统服务的启动情况: 1.使用vi查看/etc/inittab,/etc/rc.tcpip和/etc/rc.nfs等文件(比较麻烦); 2.使用lssrc和lsitab命令; 3.通过smit查看和更改. 注:SRC本身通过/etc/inittab文件启动. lssrc -a 列出所有SRC管理的服务的状态 lsitab -a 列出所有由/etc/inittab启动的信息,和cat /etc/inittab基本相同,除了没有注释. 8.2.加固 检查以下服务,如果不需要,关闭掉;否则,对服务做适当配置. 第9章 /etc/inetd.conf中服务的启动情况 9.1.检查 由INETD启动的服务在文件/etc/inetd.conf定义(inetd本身在/etc/rc.tcpip中由SRC启动),因此查看INETD启动的服务的情况有两种方法: 1.使用vi查看/etc/inetd.conf中没有注释的行; 2.使用lssrc命令. lssrc -l -s inetd 查看inetd的状态以及由INETD启动的服务的状态 refresh -s inetd 更改/etc/inetd.conf文件后重启inetd. 9.2.加固 建议关闭由inetd启动的所有服务;如果有管理上的需要,可以打开telnetd,ftpd,rlogind,rshd等服务. 启动或停止inetd启动的服务(例如ftpd): 1、使用vi编辑/etc/inetd.conf,去掉注释(启动)或注释掉(停止)ftpd所在的行; 2、重启inetd:refresh -s inetd. 第10章是否允许系统用户使用ftp登录? 10.1.检查 和其他UNIX系统一样,AIX系统中使用/etc/ftpusers文件保存不允许通过ftp登录的用户的名称,因此可以直接查看该文件以确定是否允许某用户登录(默认该文件不存在). 10.2.加固 使用vi编辑/etc/ftpusers文件,将所有的系统用户和其他希望被禁止ftp登录的用户添加到该文件中(每行一个用户名). 第11章 系统中无用的用户是否删除或禁用 11.1.检查 询问系统管理员. passwd -l user1锁定user1用户 11.2.加固 建议锁定除了root以外所有的系统用户(默认是无法登录的). 第12章口令策略的设置情况 12.1.检查 AIX系统的用户,口令设置的相关文件有: /etc/passwd 用户文件(不含加密的口令) /etc/security/passwd 用户的口令文件(类似于/etc/shadow文件,但格式不同) /etc/security/user 用户的扩展属性配置文件(锁定,登录,口令策略等) /etc/security/login.cfg 登录的配置文件(登录策略等) 因此,对口令策略的修改主要是在/etc/security/user文件中进行,有以下三种方式: 1.使用vi直接查看和修改/etc/security/user文件; 2.使用lsuser/chuser命令; 3.通过smit查看和修改口令策略(smit chuser). lsuser user1 列出用户user1的属性 chuser maxage=26 user1 设置用户user1密码的最长有效期为26周 12.2.加固 对用户的以下属性进行配置: maxage=8 口令最长有效期为8周 minage=0 口令最短有效期为0 maxexpired=4 口令过期后4周内用户可以更改 maxrepeats=3 口令中某一字符最多只能重复3次 minlen=8 口令最短为8个字符 minalpha=4 口令中最少包含4个字母字符 minother=1 口令中最少包含一个非字母数字字符 mindiff=4 新口令中最少有4个字符和旧口令不同 loginretries=5 连续5次登录失败后锁定用户 histexpire=26 同一口令在26周内不能重复使用 histsize=0 同一口令与前0个口令不能重复 第13章登录策略的设置情况 13.1.检查 登录策略主要在/etc/security/login.cfg中定义,可以通过以下三种方式调整: 1.使用vi直接查看和修改/etc/security/login.cfg文件; 2.使用chsec命令; 3.通过smit查看和更改登录策略(smit chsec). lssec -f /etc/security/login.cfg -s default 列出默认的端口登录策略 chsec -f /etc/security/login.cfg -s /dev/lft0 -a logindisable=3 三次连续失败登录后锁定端口 13.2.加固 对以下登录策略进行设置: logindelay=2 失败登录后延迟2秒显示提示符 logindisable=3 3次失败登录后锁定端口 logininterval=60 在60秒内3次失败登录才锁定端口 loginreenable=15 端口锁定15分钟后解锁 第14章系统是否启用信任主机方式(.rhost、hosts.equiv),配置文件是否配置妥当 14.1.检查 检查rlogin,rsh,rexec服务是否启动.如果启动,查看配置文件/etc/hosts.equiv(全局配置文件)和~/.rhosts(单独用户的配置文件)文件,检查文件是否配置妥当. 14.2.加固 建议关闭R系列服务(rlogin,rsh,rexec);如果不能关闭(例如HACMP需要rsh的打开),则需要检查配置文件,确保没有失当的配置(例如单行的"+"或"+ +"). 第15章 是否以安全模式加载文件系统(如ro,nosuid) 与其他UNIX系统不同,AIX文件系统的配置文件是/etc/filesystems(BSD/Linux是/etc/fstab,Solaris是/etc/vfstab).使用mount命令可以查看当前加载的文件系统及加载选项. mount 查看当前加载的文件系统属性 第16章 root的环境变量设置 16.1.检查 用户的环境变量主要在以下文件中设置: /etc/profile 全局的用户登录配置文件,其中可以设置环境变量 ~/.profile 单独用户的登录配置文件,其中可以设置环境变量 /etc/environment 全局的环境变量设置文件 /etc/security/environ 可以在其中对单独用户设置环境变量 因此,对root的环境变量进行设置可以通过/etc/security/environ文件进行: 1.使用vi直接查看和修改/etc/security/environ文件; 2.使用chsec命令; 3.使用smit chsec. printenv 查看当前的环境变量设置 chsec -f /etc/security/environ -s root -a TERM=vt100 设置root的TERM环境变量为vt100 16.2.加固 检查环境变量PATH,确保其中不包含本地目录(.). 第17章通用用户的环境变量设置 参看18(root的环境变量设置).通用用户的环境变量主要可以通过/etc/environment文件进行修改. 第18章syslog日志的配置情况(例如:记录何种信息,是否本地存放) 和其他的UNIX系统一样,syslog的配置主要通过/etc/syslog.conf配置.日志信息可以记录在本地的文件当中(如/var/adm/messages)或远程的主机上(@hostname). startsrc -s syslogd 启动syslog服务 stopsrc-s syslogd 停止syslog服务 第19章系统内核参数的配置情况(主要考虑安全相关的网络参数) 19.1.检查 AIX系统网络参数可以通过no命令进行配置,比较重要的网络参数有: icmpaddressmask=0 忽略ICMP地址掩码请求 ipforwarding=0 不进行IP包转发 ipignoreredirects=1 忽略ICMP重定向包 ipsendredirects=0 不发送ICMP重定向包 ipsrcrouteforward=0 不转发源路由包 ipsrcrouterecv=0 不接收源路由包 ipsrcroutesend=0 不发送源路由包 no -a 显示当前配置的网络参数 no -o icmpaddressmask=0 忽略ICMP地址掩码请求 19.2.加固 在/etc/rc.net文件重添加以下命令: /usr/sbin/no -o icmpaddressmask=0 /usr/sbin/no -o ipforwarding=0 /usr/sbin/no -o ipignoreredirects=1 /usr/sbin/no -o ipsendredirects=0 /usr/sbin/no -o ipsrcrouteforward=0 /usr/sbin/no -o ipsrcrouterecv=0 /usr/sbin/no -o ipsrcroutesend=0 第20章是否修改系统的banner信息,防止系统泄漏信息 通过login登录系统时的banner信息可以在/etc/security/login.cfg中使用属性herald设置,通过直接修改文件或使用chsec命令都可以进行. chsec -f /etc/security/login.cfg -s default -a herald="hello" 设置默认的banner为hello 第21章 是否对网络连接设置访问控制 除了在信任主机模式(R命令)中可以按照主机地址进行访问控制外,AIX在默认安装时没有提供其他的主机访问控制方式(如防火墙.tcpwrapper等). 第22章 CDE是否限定任意用户XDMCP登录连接 XDMCP的访问控制可以在文件/usr/dt/config/Xaccess文件中设置,通过注释所有的行可以方便的禁止远程主机的访问. 第23章 Cron/At的使用情况 Cron/At的相关文件主要有以下几个: /var/spool/cron/crontabs 存放cron任务的目录 /var/spool/cron/cron.allow 允许使用crontab命令的用户 /var/spool/cron/cron.deny 不允许使用crontab命令的用户 /var/spool/cron/atjobs 存放at任务的目录 /var/spool/cron/at.allow 允许使用at的用户 /var/spool/cron/at.deny 不允许使用at的用户 使用crontab和at命令可以分别对cron和at任务进行控制. crontab -l 查看当前的cron任务 at -l 查看当前的at任务 第24章NFS的配置情况 NFS系统的组成情况: nfsd NFS服务进程,运行在服务器端,处理客户的读写请求 mountd 加载文件系统服务进程,运行在服务器端,处理客户加载nfs文件系统的请求 biod 客户端服务进程,运行在客户端,处理客户对服务器的请求 /etc/exports 定义服务器对外输出的NFS文件系统 /etc/filesystems 定义客户端加载的NFS文件系统 如果系统不需要NFS服务,可以使用rmnfs关闭NFS服务;如果不能关闭,使用showmount -e或直接查看/etc/exports文件检查输出的文件系统是否必要,以及属性是否妥当(readonly等). lssrc -l -s nfs 显示NFS服务的运行状态 mknfs 启动NFS服务,并在启动文件中(/etc/inittab)添加NFS的启动项 rmnfs 停止NFS服务,并从启动文件中(/etc/inittab)删除NFS的启动项 showmount -e 显示本机输出的NFS文件系统 mount 显示本机加载的文件系统(包括NFS文件系统) 第25章 SNMP的配置情况 如果系统不需要SNMP服务,可以关闭该服务(使用stopsrc -s snmpd停止服务并在/etc/rc.tcpip中注释掉);如果不能关闭,需要在/etc/snmpd.conf中指定不同的community name. lssrc -l -s snmpd 显示SNMP服务的运行状态 startsrc -s snmpd 启动SNMP服务 stopsrc -s snmpd 停止SNMP服务 第26章 Sendmail的配置情况 如果系统不需要Sendmail服务,可以关闭该服务(stopsrc -s sendmail停止服务并在/etc/rc.tcpip中注释掉);如果不能关闭,将sendmail服务升级到最新,并在其配置文件/etc /sendmail.cf中指定不同banner(参见示例). lssrc -l -s sendmail 显示Sendmail的运行状态 startsrc -s sendmail 启动Sendmail stopsrc -s sendmail 停止Sendmail DNS(Bind)的配置情况 如果系统不需要DNS服务,可以关闭该服务(stopsrc -s named停止服务并在/etc/rc.tcpip中注释掉);如果不能关闭,将DNS服务升级到最新,并在其配置文件修改版本号(参见示例). lssrc -l -s named 显示DNS服务的运行状态 startsrc -s named 启动DNS服务 stopsrc -s named 停止DNS服务 |