Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83618
  • 博文数量: 46
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 240
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-22 14:29
文章分类
文章存档

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服务

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