HP-UX安全手冊(cè) 一、 基本系統(tǒng)管理 1、常用命令 1. # ioscan -fn 列出各I/O卡及設(shè)備的所有相關(guān)信息:如邏輯單元號(hào),硬件地址及設(shè)備文件名等。 2. # ps -ef 列出正在運(yùn)行的所有進(jìn)程的各種信息:如進(jìn)程號(hào)及進(jìn)程名等。 3. # netstat -rn 列出網(wǎng)卡狀態(tài)及路由信息等。 4. # lanscan 列出網(wǎng)卡狀態(tài)及網(wǎng)絡(luò)配置信息。 5. # bdf 列出已加載的邏輯卷及其大小信息。 6. # mount 列出已加載的邏輯卷及其加載位置。 7. # uname -a 列出系統(tǒng)ID 號(hào),OS版本及用戶權(quán)限等信息。 8. # hostname 列出系統(tǒng)網(wǎng)絡(luò)名稱。 9. # pvdisplay -v /dev/dsk/c*t*d* 顯示磁盤各種信息,如磁盤大小,包含的邏輯卷,設(shè)備名稱等。 10. # vgdisplay -v /dev/vg00 顯示邏輯卷組信息,如包含哪些物理盤及邏輯卷等。 11. # lvdisplay -v /dev/vg00/lvol1 顯示邏輯卷各種信息,如包含哪些盤,是否有鏡像等。 2、網(wǎng)絡(luò)故障診斷 1. 如需修改網(wǎng)絡(luò)地址、主機(jī)名等,一定要用set_parms 命令 # set_parms hostname # set_parms ip_address 2. 查看網(wǎng)卡狀態(tài): lanscan Hardware Station Crd Hardware Net-Interface Path Address In# state nameunit state 8/20/5/1 0x0800097843FB 0 up lan0 up 3. 確認(rèn)網(wǎng)絡(luò)地址: # ifconfig lan0 4. 啟動(dòng)網(wǎng)卡: # ifconfig lan0 up 5. 網(wǎng)絡(luò)不通的診斷過程: lanscan 查看網(wǎng)卡是否啟動(dòng)(up) ping 自己網(wǎng)卡地址(ip 地址) ping其它機(jī)器地址,如不通,在其機(jī)器上用lanscan 命令得知station address,然后linkloop station_address 來(lái)確認(rèn)網(wǎng)線及集成器是否有問題。 在同一網(wǎng)中, subnetmask 應(yīng)一致。 6. 配置網(wǎng)關(guān) 手動(dòng)加網(wǎng)關(guān): /usr/sbin/route add default 20.08.28.98 1 把網(wǎng)關(guān)自動(dòng)加入系統(tǒng)中 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 將執(zhí)行: /usr/sbin/route add default 20.08.28.98 1 命令netstat -rn 查看路由表 另外也可用set_parms addl_netwrk 來(lái)設(shè)缺省路由。 二、安全安裝HP-UX 1、 建議在安裝配置過程中,不要連接到任何不信任的網(wǎng)絡(luò)中。 2、 盡可能選擇最小安裝 3、 盡可能不要安裝NFS, X window, SNMP等組件(視具體需求而定) 4、 安裝完畢,則使用系統(tǒng)命令查看狀態(tài)。 # uname –a (版本信息) # bdf (邏輯卷狀態(tài)) # ps –ef (進(jìn)程狀態(tài)) # netstat -anf inet (端口狀態(tài)) 5、 安裝各種驅(qū)動(dòng)等 6、 安裝最新的補(bǔ)丁。 http://us.itrc.hp.com 安裝補(bǔ)丁時(shí)要注意HP的補(bǔ)丁與硬件類型和系統(tǒng)版本都相關(guān),檢查并安裝所有需要的補(bǔ)丁。確認(rèn)需要swlist -l fileset. 三、系統(tǒng)基本配置 操作系統(tǒng)安裝并打上補(bǔ)丁后,需要做一些措施來(lái)對(duì)系統(tǒng)進(jìn)行一些配置。 刪除保存的補(bǔ)?。蛇x) 缺省情況下,補(bǔ)丁安裝完會(huì)在/var/adm/sw/save/下備份所有的補(bǔ)丁??梢赃x擇刪除這些補(bǔ)丁文件,但一旦刪除就沒法使用swremove卸載補(bǔ)丁了。 # swmodify -x patch_commit=true '*.*' 轉(zhuǎn)換為一個(gè)可信系統(tǒng): # /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. 改變?nèi)痔貦?quán) HP-UX 有一個(gè)特權(quán)組,可以分配給一個(gè)組特權(quán)(參見privgrp(4)). 缺省情況下,CHOWN是分配給所有組的一個(gè)全局特權(quán): $ getprivgrp global privileges: CHOWN /sbin/init.d/set_prvgrp在系統(tǒng)啟動(dòng)時(shí)執(zhí)行/usr/sbin/setprivgrp -f /etc /privgroup. 可以創(chuàng)建一個(gè)配置文件,刪除所有的全局特權(quán) (see setprivgrp(1m)): # getprivgrp global privileges: CHOWN # echo -n >;/etc/privgroup # chmod 400 /etc/privgroup # /sbin/init.d/set_prvgrp start # getprivgrp global privileges: 設(shè)置默認(rèn)umask. 轉(zhuǎn)換到可信系統(tǒng)后,默認(rèn)umask已經(jīng)改為07077 限制root遠(yuǎn)程登錄,只能由console登錄 # echo console >; /etc/securetty # chmod 400 /etc/securetty 打開inetd日志功能 在/etc/rc.config.d/netdaemons中的 INETD_ARGS 環(huán)境變量中增加-l參數(shù): export INETD_ARGS=-l 刪除不需要的系統(tǒng)偽帳戶 # groupdel lp # groupdel nuucp # groupdel daemon # userdel uucp # userdel lp # userdel nuucp # userdel hpdb # userdel www # userdel daemon 對(duì)于一些保留的系統(tǒng)偽帳戶如:bin, sys,adm等, 應(yīng)當(dāng)將需要禁止帳戶的**用NP代替,并不提供登錄shell Example: bin:NP:60002:60002:No Access User:/:/sbin/noshell 將root主目錄從/改為/root. 編輯/etc/passwd: root:*:0:3::/root:/sbin/sh 創(chuàng)建目錄并修改權(quán)限: # mkdir /root # chmod 700 /root # mv /.profile /root # pwconv 四、禁止網(wǎng)絡(luò)服務(wù) 1、禁止inetd 服務(wù) 由internet服務(wù)器過程inetd啟動(dòng)的網(wǎng)絡(luò)服務(wù)是由兩個(gè)配置文件/etc/inet/services和/etc/inet/inetd.conf來(lái)配置的。/etc/inet/services文件指定每個(gè)服務(wù)的端口號(hào)和端口類型,該配置文件的部分示例如下: … ftp 21/tcp telnet 23/tcp smtp 25/tcp mail … /etc/inet/inetd.conf文件指定服務(wù)對(duì)應(yīng)的系統(tǒng)服務(wù)程序,該配置文件部分示例如下: … ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd … 當(dāng)要停止某個(gè)服務(wù),如ftp、telnet等時(shí),只要注釋掉文件/etc/inet/services和/etc/inet/inetd.conf中的相應(yīng)條目,也就是在那一行的開頭加上#字符,然后讓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 –HUP 149 以上第一條命令是為了獲得inetd的進(jìn)程號(hào),示例中輸出的第二列內(nèi)容就是進(jìn)程號(hào)(149),然后將該進(jìn)程號(hào)填入第二條命令的相應(yīng)位置。 可以使用lsof –i來(lái)查看監(jiān)聽進(jìn)程和端口信息: # 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、禁止其他服務(wù) 防止syslogd網(wǎng)絡(luò)監(jiān)聽 安裝PHCO_21023補(bǔ)丁可以給syslogd加上-N參數(shù)防止網(wǎng)絡(luò)監(jiān)聽. 編輯/sbin/init.d/syslogd修改為 /usr/sbin/syslogd -DN. 禁止SNMP服務(wù) 編輯SNMP啟動(dòng)文件: /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進(jìn)程 編輯/etc/rc.config.d/mailservs: export SENDMAIL_SERVER=0 禁止rpcbind進(jìn)程 # rm /sbin/rc1.d/K600nfs.core # rm /sbin/rc2.d/S400nfs.core # mv /usr/sbin/rpcbind /usr/sbin/rpcbind.DISABLE 五、文件系統(tǒng)安全 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位去掉,然后對(duì)一些需要的程序單獨(dú)加上suid位(可根據(jù)情況選擇): # 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 采用這種方法后,普通用戶將無(wú)法使用很多系統(tǒng)命令,如bdf, uptime ,arp等: $ bdf /dev/vg00/lvol3 bdf: /dev/vg00/lvol3: Permission denied 2. 修改重要文件權(quán)限 # chmod 1777 /tmp /var/tmp /var/preserve (加上粘滯位) # chmod 666 /dev/null 六、網(wǎng)絡(luò)參數(shù)調(diào)整 利用ndd命令,可以檢測(cè)或者更改網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的特性。在/etc/rc.config.d/nddconf啟動(dòng)腳本中增加以下各條命令,然后重啟系統(tǒng),可以提高網(wǎng)絡(luò)的安全性。 格式如下: /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 不轉(zhuǎn)發(fā)定向廣播包 /dev/ip ip_forward_src_routed 1 0 不轉(zhuǎn)發(fā)原路由包 /dev/ip ip_forwarding 2 0 禁止包轉(zhuǎn)發(fā) /dev/ip ip_pmtu_strategy 2 1 不采用echo-request PMTU策略 /dev/ip ip_send_redirects 1 0 不發(fā)ICMP重定向包 /dev/ip ip_send_source_quench 1 0 不發(fā)ICMP源結(jié)束包 /dev/tcp tcp_conn_request_max 20 500 增加TCP監(jiān)聽數(shù)最大值,提高性能 /dev/tcp tcp_syn_rcvd_max 500 500 HP SYN flood保護(hù) /dev/ip ip_respond_to_echo_broadcast 1 0 不響應(yīng)ICMP echo請(qǐng)求廣播包 由于ndd調(diào)用前,已經(jīng)啟動(dòng)網(wǎng)卡參數(shù),所以可能不能正確設(shè)置。 可以采用下列方法,建立一個(gè)啟動(dòng)腳本。 # 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 |
聯(lián)系客服