一、 基本系統管理
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
把網關自動加入系統中
:
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 –a (版本信息)
# bdf (邏輯卷狀態)
# ps –ef (進程狀態)
# netstat -anf inet (端口狀態)
5、 安裝各種驅動等
6、 安裝最新的補丁。
安裝補丁時要注意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日志功能
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 服務
…
ftp 21/tcp
telnet 23/tcp
smtp 25/tcp mail
…
…
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd
telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
…
# 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 –HUP 149
以上第一條命令是為了獲得inetd的進程號,示例中輸出的第二列內容就是進程號(149),然後將該進程號填入第二條命令的相應位置。
可以使用lsof –i來查看監聽進程和端口信息:
# 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啟動文件:
Set SNMP_HPUNIX_START to 0: SNMP_HPUNIX_START=0
Set SNMP_MASTER_START to 0: SNMP_MASTER_START=0
Set SNMP_MIB2_START to 0: SNMP_MIB2_START=0
Set SNMP_TRAPDEST_START to 0: SNMP_TRAPDEST_START=0
禁止sendmail進程
export SENDMAIL_SERVER=0
禁止rpcbind進程
# 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
六、網絡參數調整
格式如下:
/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/sectune /sbin/init.d
# chmod 555 /sbin/init.d/sectune
# ln -s /sbin/init.d/sectune /sbin/rc2.d/S009sectune