免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2052 | 回复: 0
打印 上一主题 下一主题

HP-UX安全加固使用手册 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-20 07:51 |只看该作者 |倒序浏览
一、 基本系统管理
    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,0x73 0t0 UDP *:portmap (Idle)
    rpcbind 345 root 6u inet 72,0x73 0t0 UDP *:49158 (Idle)
    rpcbind 345 root 7u inet 72,0x72 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


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/39440/showart_1134444.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP