AIX操作系统安全配置手册.docx

上传人:b****7 文档编号:9789248 上传时间:2023-02-06 格式:DOCX 页数:36 大小:33.79KB
下载 相关 举报
AIX操作系统安全配置手册.docx_第1页
第1页 / 共36页
AIX操作系统安全配置手册.docx_第2页
第2页 / 共36页
AIX操作系统安全配置手册.docx_第3页
第3页 / 共36页
AIX操作系统安全配置手册.docx_第4页
第4页 / 共36页
AIX操作系统安全配置手册.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

AIX操作系统安全配置手册.docx

《AIX操作系统安全配置手册.docx》由会员分享,可在线阅读,更多相关《AIX操作系统安全配置手册.docx(36页珍藏版)》请在冰豆网上搜索。

AIX操作系统安全配置手册.docx

AIX操作系统安全配置手册

AIX操作系统安全配置手册

许新新***************.com

2011-6-8版本号:

V1.0

1.引言

AIX作为IBMPower系列开放平台服务器的专用操作系统,属于UNIX操作系统的一个商业版本。

作为企业级服务器的操作平台,安全性是AIX必备的一个重要特性。

由于我们的小型机上往往运行着客户的核心生产业务,因此对于系统的安全设置往往会有着严格的要求。

2.用户管理

AIX是一个多用户操作系统,多个用户要在同一个系统环境中协同工作,用户访问权限的设置、用户作业的相互隔离、用户系统资源的限制,都是AIX操作系统不可或缺的功能。

2.1用户账号安全设置

为了保证整个操作系统的安全,每个用户账号必须满足如下安全设置要求:

(1)每个系统管理员应该设置单独的账号,不允许多个管理员共用一个账号;

(2)root用户不允许直接登录,必须通过其他用户登录后,通过su命令获得root用户权限;

(3)禁用或者删除不使用的系统账号;

(4)设置必要的密码规则。

AIX操作系统在安装成功后,默认就会创建一些用户,用户的基本信息保存在/etc/passwd文件中。

其中root和bin用户是不可以删除的,其他用户都可以安全地删除或者屏蔽掉,以避免这些系统默认用户账号由于存在弱口令等问题,被黑客所攻击。

其中第二列中“!

”表示该用户已经设置了密码,“*”表示该用户还没有设置密码。

#cat/etc/passwd

root:

!

:

0:

0:

:

/:

/usr/bin/ksh

daemon:

!

:

1:

1:

:

/etc:

bin:

!

:

2:

2:

:

/bin:

sys:

!

:

3:

3:

:

/usr/sys:

adm:

!

:

4:

4:

:

/var/adm:

uucp:

!

:

5:

5:

:

/usr/lib/uucp:

guest:

!

:

100:

100:

:

/home/guest:

nobody:

!

:

4294967294:

4294967294:

:

/:

lpd:

!

:

9:

4294967294:

:

/:

lp:

*:

11:

11:

:

/var/spool/lp:

/bin/false

invscout:

*:

6:

12:

:

/var/adm/invscout:

/usr/bin/ksh

snapp:

*:

200:

13:

snapploginuser:

/usr/sbin/snapp:

/usr/sbin/snappd

ipsec:

*:

201:

1:

:

/etc/ipsec:

/usr/bin/ksh

nuucp:

*:

7:

5:

uucploginuser:

/var/spool/uucppublic:

/usr/sbin/uucp/uucico

pconsole:

*:

8:

0:

:

/var/adm/pconsole:

/usr/bin/ksh

esaadmin:

*:

10:

0:

:

/var/esa:

/usr/bin/ksh

#

AIX操作系统在安装的时候,会默认建立一些用户组,用户组的基本信息保存在/etc/group文件中,其中system和bin组是不可以删除的。

#cat/etc/group

system:

!

:

0:

root,pconsole,esaadmin

staff:

!

:

1:

ipsec,esaadmin,sshd,user1,oracle

bin:

!

:

2:

root,bin

sys:

!

:

3:

root,bin,sys

adm:

!

:

4:

bin,adm

uucp:

!

:

5:

uucp,nuucp

mail:

!

:

6:

security:

!

:

7:

root

cron:

!

:

8:

root

printq:

!

:

9:

lp

audit:

!

:

10:

root

ecs:

!

:

28:

nobody:

!

:

4294967294:

nobody,lpd

usr:

!

:

100:

guest

perf:

!

:

20:

shutdown:

!

:

21:

lp:

!

:

11:

root,lp

invscout:

!

:

12:

invscout

snapp:

!

:

13:

snapp

ipsec:

!

:

200:

pconsole:

!

:

14:

pconsole

#

2.2删除一个用户账号

要删除或者禁用一个用户账号,可以使用三个办法:

(1)使用rmuser命令删除用户,格式为rmuser–p[user_name]。

这会删除/etc/passwd和/etc/group文件中关于该用户的内容,同时删除

/etc/security/passwd文件中关于该用户的内容。

但是该用户的home目录并不会被删除,需要使用rmdir的命令去删除该用户的home目录。

(2)编辑/etc/passwd文件,在需要删除的用户名前加上“#”注释符。

建议使用第二种方法,因为第二种方法只是注释掉需要删除的用户,此后该用户将无法登录系统,但与该用户相关的信息并不删除,当需要恢复该用户的登录功能时,只需要把/etc/passwd文件中该用户名前的“#”注释符删除即可。

(3)编辑/etc/passwd文件,把需要删除的用户的默认shell设置为/bin/false。

/bin/false是一个系统空文件,并不是有效的shell程序,因此当该用户登录系统后,由于无法打开shell而登录失败。

2.3禁止root用户直接登录

禁止root用户直接登录系统,必须使用普通用户登录后,使用su命令切换到root用户权限

设置方法是编辑/etc/security/user配置文件中的login、rlogin和su属性。

在该文件的头部,详细描述了每一个参数的含义。

其中login属性是设置是否允许用户通过本地console登录,本地console包括显示器或者串口。

rlogin属性是设置是否允许用户远程登录,远程登录方式包括rlogin和telnet,不包括SSH等其他远程登录方式。

su属性是设置是否允许该用户通过su命令获得其他用户的权限。

*loginDefineswhethertheusercanlogin.

*Possiblevalues:

trueorfalse.

*rloginDefineswhethertheuseraccountcanbeaccessedbyremote

*logins.Commandsrloginandtelnetsupportthisattribute.

*Possiblevalues:

trueorfalse.

*suDefineswhetherotheruserscanswitchtothisuseraccount.

*Commandsusupportsthisattribute.

*Possiblevalues:

trueorfalse.

2.4用户登录审计

在/var/adm/wtmp文件中记录了所有用户的登录时间、登录方式、源IP地址信息。

而在/var/adm/sulog文件中,记录了使用su命令切换用户权限的时间点。

wtmp文件不是纯文本文件,需要使用who命令来查看。

sulog文件是纯文本文件,可以使用cat命令直接查看。

结合/var/adm/wtmp文件和/var/adm/sulog文件的输出,就可以确切地判断出在某个时间段是谁获得了root操作权限。

启用EXTENDED_HISTORY=ON环境变量,记录用户的命令行操作。

在每个用户的$HOME目录下都有一个.sh_history的文本文件,记录了该用户的所有命令行操作。

默认情况下,EXTENDED_HISTORY环境变量处于OFF状态。

因此在.sh_history文件中只包含执行的命令,不包含时间点。

#cat.sh_history

whoami

exit

exit

passwd

errpt

ioscan

su-

whoami

sar

sar3

su-

whoami

whereissar

sar3

……….

将环境变量EXTENDED_HISTORY设置为ON后,.sh_history文件中就会包含该用户所执行的命令已经时间点。

使用命令fc–t-1000可以查看本用户最近1000条执行的命令。

#fc-t-1000

212011/04/0914:

45:

07:

:

vintp.conf

222011/04/0914:

46:

21:

:

catntp.conf

232011/04/0914:

46:

35:

:

startsrc-sxntpd

242011/04/0914:

46:

46:

:

lssrc-a|grepntp

252011/04/0914:

46:

58:

:

lssrc-lsxntpd

262011/04/0914:

47:

21:

:

set-ovi

272011/04/0914:

47:

24:

:

lssrc-lsxntpd

282011/04/0914:

47:

26:

:

lssrc-lsxntpd

292011/04/0914:

47:

27:

:

lssrc-lsxntpd

302011/04/0914:

47:

29:

:

lssrc-lsxntpd

312011/04/0914:

47:

30:

:

lssrc-lsxntpd

322011/04/0914:

47:

32:

:

lssrc-lsxntpd

332011/04/0914:

47:

34:

:

lssrc-lsxntpd

342011/04/0914:

47:

35:

:

lssrc-lsxntpd

352011/04/0914:

47:

36:

:

lssrc-lsxntpd

362011/04/0915:

28:

53:

:

lssrc-lsxntpd

372011/04/0915:

29:

02:

:

lssrc-lsxntpd

382011/04/0915:

31:

05:

:

vintp.conf

……..

每个用户的$HOME目录下还有一个smit.log文件,这个文件记录了该用户通过smit菜单所做的所有操作。

这是一个文本文件,通过VI文本编辑器可以直接查看和修改。

2.5密码规则设置

AIX支持对密码的复杂度、重复次数、生命期等进行限制,以提高密码被破解或者盗取的难度。

AIX最多支持8位密码,多于8位之后的内容将被自动忽略。

在/etc/security/user文件存在设置密码规则的参数。

logintimes:

定义一个用户在某一时间段内允许登录

pwdwarntime:

定义在密码到期前多少天提醒用户密码即将到期

account_locked:

定义一个用户是否被锁定

loginretries:

定义连续多少次输入错误密码后锁定该用户账号

histexpire:

定义相同密码在多少周内不允许重复使用

histsize:

定义相同密码在多少次内不允许重复使用

minage:

定义密码的最少生命期,单位为周,即限制用户频繁更改密码。

maxage:

定义密码的最大生命期,单位为周,即强迫用户定期修改密码。

maxexpired:

定义密码超过最大生命期后,多少周内允许用户修改密码。

如果在此期间用户没有修改密码,则该用户账号被锁定。

minalpha:

定义密码中最少包含多少个数字和字母(0-9,a-z,A-Z)。

minother:

定义密码中最少包含多少个特殊字符。

minlen:

定义密码的最小长度。

mindiff:

定义新密码与旧密码间至少有多少个字符是不同的。

maxrepeats:

定义同一个字符在密码中可以最多重复出现多少次。

dictionlist:

定义密码字典,密码字典为一个文本文件,需要用户来编辑该密码字典,出现在密码字典中的条目将不允许作为密码使用。

pwdchecks:

定义外部的密码限制方式。

建议的密码规则参数如下:

minlen=6

minalpha=1

mindiff=1

minother=1

pwdwarntime=5

maxage=13

histsize=5

loginretries=6

2.6文件和目录的默认访问权限

当用户创建一个文件或者创建一个目录时,AIX会自动给该文件或者目录赋予默认的访问权限,为了提高系统安全,建议设置文件的默认访问权限为600,目录的默认访问权限为700,即只允许属主用户读、写和执行,对于其他用户默认禁止所有权限。

这需要修改/etc/security/user文件的umask参数。

默认umask参数值为022,

umask是使用八进制数据代码设置的,。

目录的默认访问权限等于八进制代码777减去umask值;文件的默认权限等于八进制代码666减去umaks值。

要使默认访问权限为700,则需要修改/etc/security/user文件的umask值为077.

2.7用户错误登录次数过多导致账号被锁定

当设置了用户密码规则loginretries,当用户的连续错误登录次数累计到该值后,该用户就会被自动锁定,必须由root用户来解锁。

用户的错误登录信息保存在文件/etc/security/lastlog文件中,

time_last_login:

该用户上次成功登录时间

tty_last_login:

该用户上次成功登录的端口

host_last_login:

该用户上次成功登录的源地址

unsuccessful_login_count:

该用户连续失败的登录次数,当用户登录成功后该值即清0

time_last_unsuccessful_login:

该用户上次失败的登录时间

tty_last_unsuccessful_login:

该用户上次失败的登录端口

host_last_unsuccessful_login:

该用户上次失败登录的源地址

root:

time_last_login=1307599235

tty_last_login=ftp

host_last_login=:

:

ffff:

9.125.1.251

unsuccessful_login_count=0

time_last_unsuccessful_login=1307599199

tty_last_unsuccessful_login=ftp

host_last_unsuccessful_login=:

:

ffff:

9.125.1.251

如果一个用户已经因为连续失败登录次数过多被锁定,那么可以使用root用户直接修改/etc/security/lastlog文件,将unsuccessful_login_count修改为0即可。

2.8查看密码的上次修改时间

在系统文件/etc/security/passwd中记录有每个用户登陆密码的加密形式,以及上次修改密码的时间,我们以root为例:

root:

password=hVvR/QGnSNKlE

flags=

lastupdate=1200982154

此处,lastupdate为上次密码修改时间,以epochtime表示。

Epochtime是从Epoch(新纪元时间,传说中的标志Unix时代开端的那个拂晓)开始计算起,单位为秒,Epoch则是指定为1970年一月一日凌晨零点零分零秒,格林威治时间。

我们可以通过下面的命令来转换epochtime:

#perl-le'printscalarlocaltime1200982154'

TueJan2206:

09:

142008

所以,root用户上次修改密码是在2008年1月22日上午06:

09:

14。

使用命令date+"%s",就可以将当前日期转换为从1970年1月1日0:

00开始的秒数。

注意:

AIX5.3版本才有此参数

$date+"%s"

1290988961

$date

MonNov2908:

02:

46BEIST2010

$perl-le'printscalarlocaltime1290988961'

MonNov2908:

02:

412010

$

也可以使用chsec命令手动修改用户的上次密码修改时间戳,而无需更改密码。

命令格式如下:

chsec-f/etc/security/passwd-sroot-alastupdate=1307665547

即修改/etc/security/passwd文件中root用户段的lastupdate属性,设置值为1307665547。

2.9chpasswd和pwdadmin命令的使用

使用passwd命令来修改用户密码,进入的是交互模式。

对于希望使用脚本来批量修改或定时修改密码的操作,使用chpasswd命令会更加快捷,因为这个命令不要交互操作,也不需要重复输入两次相同密码

使用chpasswd命令修改用户密码的命令格式为:

echo"

new_password"|chpasswd

例如#echo"ftp:

passw0rd"|chpasswd,就是给用户ftp设置密码为passw0rd。

pwdadmin命令用来查看和设置某个用户的密码属性。

例如要查看一个用户的密码属性,可以使用命令pwdadmin–q

#pwdadm-qftp

ftp:

lastupdate=1307634431

flags=ADMCHG

#

可以看到ftp用户的密码修改时间为1307634431;同时flags=ADMCHG说明该用户密码为root管理员所设置,当该ftp用户第一次登录系统时,会强制用户修改密码。

AIXVersion5

CopyrightIBMCorporation,1982,2007.

login:

ftp

ftp'sPassword:

[compat]:

3004-610Youarerequiredtochangeyourpassword.

Pleasechooseanewone.

ftp'sNewpassword:

在用chpasswd命令设置用户密码时,可以加上-c参数,这样就会去掉flags=ADMCHG参数,当该用户第一次登录系统时就不会强制修改密码了。

#echo"ftp:

abcd1234"|chpasswd-c

#pwdadm-qftp

ftp:

lastupdate=1307635016

#

3.网络安全

3.1安装SSH文件集并设置

在AIX的缺省安装情况下,只安装了telnet服务,用于对系统的远程管理。

如果需要使用更加安全的SSH服务,则需要另外安装openssl和openssh软件包。

openssl文件位于《AIXToolboxforLinuxApplications》安装光盘中,也可以从AIXWebDownloadPackPrograms页面下载,下载地址:

openssh文件位于《AIX5LV5.3ExpansionPack》安装光盘中,也可以从sorceforge开源软件网站下载:

默认情况下,ssh软件包安装之后会自动随AIX操作系统启动。

即AIX重启后,自动启动ssh服务。

使用命令lssrc–gssh来查看sshd后台守护进程是否启动。

默认情况下,AIX使用SSH2协议。

安装ssh成功后,不需要进行额外的配置,其他主机就可以通过SSH2协议访问22端口来远程登录。

要实现禁止root用户通过SSH直接登录,需要编辑SSH配置文件/etc/ssh/sshd_config,找到“#PermitRootLoginyes”行,去掉该行前面的注释符“#”,并将yes修改为no。

需要重新启动sshd服务,才能使新的配置文件生效

#stopsrc-ssshd

#startsrc-ssshd

此时root用户将不能直接SSH登录,必须首先使用普通用户登录,然后“su-”转为root用户权限。

此外,我们还可以编辑/etc/ssh/sshd_config文件的下列参数,实现安全配置。

Protocol2:

使用ssh2版本

X11Forwardingyes:

允许窗口图形传输使用ssh加密

IgnoreRhostsyes:

完全禁止SSHD使用.rhosts文件

RhostsAuthenticationno:

不设置使用基于rhosts的安全验证

RhostsRSAAuthenticationno:

不设置使用RSA算法的基于rhosts的安全验证

HostbasedAuthenticationno:

不允许基于主机白名单方式认证

PermitRootLoginno:

不允许root登录

PermitEmptyPasswordsno:

不允许空密码

Banner/etc/motd:

设置ssh登录时显示的banner

3.2TELNET和SSH的安全性比较

TELNET协议使用明文(ASCII码)来传递数据,因此只要使用TCPIP嗅探工具就可以从telnet的数据包中找到用户名和密码。

AIX中自带的iptrace工具就可以实现这个功能。

iptrace使用比较简单,可以针对特定的网络接口、特定的源地址、目的地址、端口进行数据包的抓取。

使用命令:

iptrace-a-s10.60.28.47-b-ptelnettelnet.trace1

参数的含义是:

忽略arp数据包,只抓取与10.60.28.47相关的数据包(抓包在IP为10.60.28.45的机器,telnet客户端来自10.60.28.47),-p参数指定了只监听telnet服务的端口,当然这里也可以直接用端口号23代替telnet,最后把生成的日志文件保存为telnet.trace1。

接下来,我们去10.60.28.47上运行telnet客户端连接10.60.28.45

几秒钟后,停掉iptrace进程,命令为“kill-15#iptrace进程号”。

然后把生成的日志文件转换为文本文件,命令为:

ipreport-sntelnet.trace1>telnet.report1

PacketNumber86

ETH:

====(70bytestransmittedoninterfaceen0)====13:

18:

40.399148726

ETH:

[00:

14:

5e:

5f:

66:

82->00:

14:

5e:

d1:

4a:

36]type800(IP)

IP:

(AIX33_bt1)

IP:

IP:

ip_v=4,ip_hl=20,ip_tos=0,ip_len=56,ip_id=1814,ip_off=0DF

IP:

ip_ttl=60,ip_sum=dc04,ip_p=6(TCP)

TCP:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1