HP-UX安全手册

日期: 2008-02-21 来源:TechTarget中国

  一、 基本系统管理

  1、常用命令

  1. # ioscan -fn

  列出各I/O卡及设备的所有相关信息:如逻辑单元号,硬件地址及设备文件名等。

  2. # ps -ef

  列出正在运行的所有进程的各种信息:如进程号及进程名等。

  3. # netstat -rn

  列出网卡状态及路由信息等。

  4. # lanscan

  列出网卡状态及网络配置信息。

  5. # bdf

  列出已加载的逻辑卷及其大小信息。

  6. # mount

  列出已加载的逻辑卷及其加载位置。

  7. # uname -a

  列出系统ID 号,OS版本及用户权限等信息。

  8. # hostname

  列出系统网络名称。

  9. # pvdisplay -v /dev/dsk/c*t*d*

  显示磁盘各种信息,如磁盘大小,包含的逻辑卷,设备名称等。

  10. # vgdisplay -v /dev/vg00

  显示逻辑卷组信息,如包含哪些物理盘及逻辑卷等。

  11. # lvdisplay -v /dev/vg00/lvol1

  显示逻辑卷各种信息,如包含哪些盘,是否有镜像等。

  2、网络故障诊断

  1. 如需修改网络地址、主机名等,一定要用set_parms 命令

  # set_parms hostname
  # set_parms ip_address

  2. 查看网卡状态: lanscan

  Hardware Station Crd Hardware Net-Interface
  Path Address In# state nameunit state
  8/20/5/1 0x0800097843FB 0 up lan0 up

  3. 确认网络地址:

  # ifconfig lan0

  4. 启动网卡:

  # ifconfig lan0 up

  5. 网络不通的诊断过程:

  lanscan 查看网卡是否启动(up)

  ping 自己网卡地址(ip 地址)

  ping其它机器地址,如不通,在其机器上用lanscan 命令得知station address,然后linkloop station_address 来确认网线及集成器是否有问题。

  在同一网中, subnetmask 应一致。

  6. 配置网关

  手动加网关:

  /usr/sbin/route add default 20.08.28.98 1

  把网关自动加入系统中

  vi /etc/rc.config.d / netconf
  :
  ROUTE_DESTINATION [0]=default
  ROUTE_GATEWAY [0]=20.08.28.98
  ROUTE_COUNT [0]=1
  :
  /sbin/init.d/net 将执行:
  /usr/sbin/route add default 20.08.28.98 1

  命令netstat -rn 查看路由表

  另外也可用set_parms addl_netwrk 来设缺省路由。

  二、安全安装HP-UX

  1、 建议在安装配置过程中,不要连接到任何不信任的网络中。

  2、 尽可能选择最小安装

  3、 尽可能不要安装NFS, X window, SNMP等组件(视具体需求而定)

  4、 安装完毕,则使用系统命令查看状态。

  # uname ?Ca (版本信息)

  # bdf (逻辑卷状态)

  # ps ?Cef (进程状态)

  # netstat -anf inet (端口状态)

  5、 安装各种驱动等

  6、 安装最新的补丁。

  http://us.itrc.hp.com

  安装补丁时要注意HP的补丁与硬件类型和系统版本都相关,检查并安装所有需要的补丁。确认需要swlist -l fileset.

  三、系统基本配置

  操作系统安装并打上补丁后,需要做一些措施来对系统进行一些配置。

  删除保存的补丁(可选)

  缺省情况下,补丁安装完会在/var/adm/sw/save/下备份所有的补丁。可以选择删除这些补丁文件,但一旦删除就没法使用swremove卸载补丁了。

  # swmodify -x patch_commit=true ‘*.*’

  转换为一个可信系统:

  # /usr/lbin/tsconvert
  Creating secure password database…
  Directories created.
  Making default files.
  System default file created…
  Terminal default file created…
  Device assignment file created…
  Moving passwords…
  secure password database installed.
  Converting at and crontab jobs…
  At and crontab files converted.

  改变全局特权

  HP-UX 有一个特权组,可以分配给一个组特权(参见privgrp(4)). 缺省情况下,CHOWN是分配给所有组的一个全局特权:

  $ getprivgrp
  global privileges: CHOWN

  /sbin/init.d/set_prvgrp在系统启动时执行/usr/sbin/setprivgrp -f /etc /privgroup. 可以创建一个配置文件,删除所有的全局特权 (see setprivgrp(1m)):

  # getprivgrp
  global privileges: CHOWN
  # echo -n >/etc/privgroup
  # chmod 400 /etc/privgroup
  # /sbin/init.d/set_prvgrp start
  # getprivgrp
  global privileges:

  设置默认umask.

  转换到可信系统后,默认umask已经改为07077

  限制root远程登录,只能由console登录

  # echo console > /etc/securetty
  # chmod 400 /etc/securetty

  打开inetd日志功能

  在/etc/rc.config.d/netdaemons中的 INETD_ARGS 环境变量中增加-l参数:

  export INETD_ARGS=-l

  删除不需要的系统伪帐户

  # groupdel lp
  # groupdel nuucp
  # groupdel daemon
  # userdel uucp
  # userdel lp
  # userdel nuucp
  # userdel hpdb
  # userdel www
  # userdel daemon

  对于一些保留的系统伪帐户如:bin, sys,adm等, 应当将需要禁止帐户的**用NP代替,并不提供登录shell

  Example: bin:NP:60002:60002:No Access User:/:/sbin/noshell

  将root主目录从/改为/root.

  编辑/etc/passwd:

  root:*:0:3::/root:/sbin/sh

  创建目录并修改权限:

  # mkdir /root
  # chmod 700 /root
  # mv /.profile /root
  # pwconv

  四、禁止网络服务

  1、禁止inetd 服务

  由internet服务器过程inetd启动的网络服务是由两个配置文件/etc/inet/services和 /etc/inet/inetd.conf来配置的。/etc/inet/services文件指定每个服务的端口号和端口类型,该配置文件的部分示例如下:

  …
  ftp 21/tcp
  telnet 23/tcp
  smtp 25/tcp mail
  …

  /etc/inet/inetd.conf文件指定服务对应的系统服务程序,该配置文件部分示例如下:

  …
  ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd
  telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
  …

  当要停止某个服务,如ftp、telnet等时,只要注释掉文件/etc/inet/services和/etc/inet/inetd.conf中的相应条目,也就是在那一行的开头加上#字符,然后让inetd重新读配置文件,过程示例如下:

  # ps -ef |grep inetd
  root 149 1 0 Jan 18 ? 0:00 /usr/sbin/inetd -s
  root 24621 24605 0 15:53:01 pts/1 0:00 grep inetd
  # kill ?CHUP 149

  以上第一条命令是为了获得inetd的进程号,示例中输出的第二列内容就是进程号(149),然后将该进程号填入第二条命令的相应位置。

  可以使用lsof ?Ci来查看监听进程和端口信息:

  # lsof -i
  COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  syslogd 261 root 5u inet 0x10191e868 0t0 UDP *:syslog (Idle)
  rpcbind 345 root 4u inet 72,0×73 0t0 UDP *:portmap (Idle)
  rpcbind 345 root 6u inet 72,0×73 0t0 UDP *:49158 (Idle)
  rpcbind 345 root 7u inet 72,0×72 0t0 TCP *:portmap (LISTEN)
  sendmail: 397 root 5u inet 0x10222b668 0t0 TCP *:smtp (LISTEN)
  snmpdm 402 root 3u inet 0x10221a268 0t0 TCP *:7161 (LISTEN)
  snmpdm 402 root 5u inet 0x10222a268 0t0 UDP *:snmp (Idle)
  snmpdm 402 root 6u inet 0x10221f868 0t0 UDP *:* (Unbound)

  mib2agt 421 root 0u inet 0x10223e868 0t0 UDP *:* (Unbound)
  swagentd 453 root 6u inet 0x1019d3268 0t0 UDP *:2121 (Idle)

  2、禁止其他服务

  防止syslogd网络监听

  安装PHCO_21023补丁可以给syslogd加上-N参数防止网络监听. 编辑/sbin/init.d/syslogd修改为 /usr/sbin/syslogd -DN.

  禁止SNMP服务

  编辑SNMP启动文件:

  /etc/rc.config.d/SnmpHpunix
  Set SNMP_HPUNIX_START to 0: SNMP_HPUNIX_START=0
  /etc/rc.config.d/SnmpMaster
  Set SNMP_MASTER_START to 0: SNMP_MASTER_START=0
  /etc/rc.config.d/SnmpMib2
  Set SNMP_MIB2_START to 0: SNMP_MIB2_START=0
  /etc/rc.config.d/SnmpTrpDst
  Set SNMP_TRAPDEST_START to 0: SNMP_TRAPDEST_START=0

  禁止sendmail进程

  编辑/etc/rc.config.d/mailservs:

  export SENDMAIL_SERVER=0

  禁止rpcbind进程

  # rm /sbin/rc1.d/K600nfs.core
  # rm /sbin/rc2.d/S400nfs.core
  # mv /usr/sbin/rpcbind /usr/sbin/rpcbind.DISABLE

  五、文件系统安全

  1、检查Set-id程序

  # find / ( -perm -4000 -o -perm -2000 ) -type f -exec ls -ld {} ;
  # chmod u-s /usr/sbin/swinstall
  # chmod u-s /usr/sbin/vgcreate
  # chmod u-s /sbin/vgcreate

  可以采用下列方法,将所有文件的set-id位去掉,然后对一些需要的程序单独加上suid位(可根据情况选择):

  # find / -perm -4000 -type f -exec chmod u-s {} ;
  # find / -perm -2000 -type f -exec chmod g-s {} ;
  # chmod u+s /usr/bin/su
  # chmod u+s /usr/bin/passwd

  采用这种方法后,普通用户将无法使用很多系统命令,如bdf, uptime ,arp等:

  $ bdf /dev/vg00/lvol3
  bdf: /dev/vg00/lvol3: Permission denied

  2. 修改重要文件权限

  # chmod 1777 /tmp /var/tmp /var/preserve (加上粘滞位)
  # chmod 666 /dev/null

  六、网络参数调整

  利用ndd命令,可以检测或者更改网络设备驱动程序的特性。在/etc/rc.config.d/nddconf启动脚本中增加以下各条命令,然后重启系统,可以提高网络的安全性。

  格式如下:

  /usr/sbin/ndd -set /dev/ip ip_forward_directed_broadcasts 0
  Network device
  Parameter
  Default value
  Suggested value
  Comment
  /dev/ip
  ip_forward_directed_broadcasts
  1
  0

  不转发定向广播包

  /dev/ip
  ip_forward_src_routed
  1
  0

  不转发原路由包

  /dev/ip
  ip_forwarding
  2
  0

  禁止包转发

  /dev/ip
  ip_pmtu_strategy
  2
  1

  不采用echo-request PMTU策略

  /dev/ip
  ip_send_redirects
  1
  0

  不发ICMP重定向包

  /dev/ip
  ip_send_source_quench
  1
  0

  不发ICMP源结束包

  /dev/tcp
  tcp_conn_request_max
  20
  500

  增加TCP监听数最大值,提高性能

  /dev/tcp
  tcp_syn_rcvd_max
  500
  500
  HP SYN flood保护
  /dev/ip
  ip_respond_to_echo_broadcast
  1
  0

  不响应ICMP echo请求广播包

  由于ndd调用前,已经启动网卡参数,所以可能不能正确设置。

  可以采用下列方法,建立一个启动脚本。

  # cp /tmp/secconf /etc/rc.config.d
  # chmod 444 /etc/rc.config.d/secconf
  # cp /tmp/sectune /sbin/init.d
  # chmod 555 /sbin/init.d/sectune
  #ln -s /sbin/init.d/sectune /sbin/rc2.d/S009sectune

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐