使用Yassp工具包安裝安全的Solaris系統(tǒng) (二)
2024-07-26 00:29:37
供稿:網(wǎng)友
4、在/etc/vfsab文件中對安裝文件系統(tǒng)做限制
在安裝文件系統(tǒng)時,使用一些參數(shù)可以提高文件系統(tǒng)的安全性和魯棒性。使用mount命令檢查哪些
參數(shù)生效,這些參數(shù)包括:nosuid、logging、noatime、size=xxxm、ro。
Mount參數(shù)
OS版本
描 述
用 途
nosuid
2.x
關(guān)閉SUID程序及SUID設(shè)備
不允許存在SUID的/var、 /home或者數(shù)據(jù)磁盤分區(qū)及設(shè)備(建議使用chroot environments).。如
果/tmp分區(qū)
不在磁盤上,此參數(shù)無效。
logging
2.7或者更高版本
為分區(qū)記錄transaction日志。可以大提高文件系統(tǒng)檢查的速度,特別是針對大容量的磁盤。缺點
是需要耗費時間進行寫log的操作。
/usr /opt /home分區(qū)
建議除根區(qū)(如果使用了Veritas的VxVM)和對磁盤寫性能要求非常高的分區(qū)外,都使用此參數(shù)。
noatime
2.7或者更高版本
允許mount的文件系統(tǒng),在每次訪問文件時對文件節(jié)點號不做更新,這樣可以顯著提高某些服務,
如對大量小文件進行頻繁IO操作的web cache或者新聞服務。
/var或者文件頻繁存取的分區(qū) (web緩存或news分區(qū))。
size=100m
2.5.1 or later
允許/tmp分區(qū)只使用100MB的交換空間。這個值通常取交換的30%。
在mount /tmp時使用
ro
2.x
只讀。將文件系統(tǒng)mount成為只讀只能對文件系統(tǒng)做有限制的保護(因為攻擊者一旦取得root權(quán)限
,他可以將文件系統(tǒng)重新mount成讀寫)。
可以縮短系統(tǒng)啟動時,執(zhí)行fsck的時間,提高性能的同時,可以避免管理員無意中的錯誤(如誤
刪除文件等)。
/usr及/opt分區(qū)最好mount成為只讀方式,但是將/usr分區(qū)mount成為只讀方式的情況下,通常需
要將/usr/local建立的另外的分區(qū)上。
在編輯vfstab文件時要特別小心,對/ 及/usr分區(qū)的錯誤改動可能會導致系統(tǒng)不能引導。如果出
現(xiàn)這種情況,使用安裝光盤將以單用戶模式引導后,mount上有錯誤的磁盤,更正vfstab文件后,
reboot使改動生效。
下面是vfstab文件的兩個例子:
一個只有/及/var的服務器,操作系統(tǒng)是Solaris2.8
fd - /dev/fd fd - no -
/PRoc - /proc proc - no -
/dev/dsk/c0t3d0s1 - - swap - no logging
/dev/dsk/c0t3d0s0 /dev/rdsk/c0t3d0s0 / ufs 1 no logging
/dev/dsk/c0t3d0s7 /dev/rdsk/c0t3d0s7 /var ufs 1 no logging,nosuid,noatime
swap - /tmp tmpfs - yes size=100m
有較多分區(qū)的服務器
fd - /dev/fd fd - no -
/proc - /proc proc - no -
swap - /tmp tmpfs - yes size=200m
/dev/dsk/c0t8d0s0 /dev/rdsk/c0t8d0s0 / ufs 1 no logging
/dev/dsk/c0t8d0s1 - - swap - no -
/dev/dsk/c0t8d0s4 /dev/rdsk/c0t8d0s4 /usr ufs 1 no logging
/dev/dsk/c0t8d0s6 /dev/rdsk/c0t8d0s6 /var ufs 1 no nosuid,noatime,logging
/dev/dsk/c0t8d0s5 /dev/rdsk/c0t8d0s5 /opt ufs 2 yes logging
5、在Solaris 8中安裝Sunscreen EFS防火墻
安裝本地防火墻對系統(tǒng)進行保護。
1. 在Solaris 8系統(tǒng)的iplanet CD#2光盤上,帶有Sunscreen EFS的限制版。也可以從Sun的主頁
下載此版本。
2. 對于老版本的Solaris系統(tǒng),可以使用Ipfilter作為本機防火墻。
Sunscreen EFS可以保護網(wǎng)絡(luò)通信,下面使用命令行對防火墻規(guī)則的設(shè)置作簡單介紹。
* 防火墻的安裝:在最終用戶模式安裝Solaris8系統(tǒng),安裝防火墻時,如果提示沒有安裝
SUNWsprot,需要用Solaris2號光盤先行安裝:
pkgadd -d /cdrom/sol_8_sparc_2/Solaris_8/Product SUNWsprot
再使用iPlanet CD#2光盤,啟動Sunscreen安裝工具:
/cdrom/cdrom0/SunScreen/screenInstaller
除了Naming services=DNS(不使用NIS)外,其它選項都使用缺省設(shè)置。
配置:設(shè)置簡單的防火墻規(guī)則,找到正在運行的防火墻規(guī)則,顯示缺省規(guī)則并對其進行編輯。
#cd /opt/SUNWicg/SunScreen/bin;
#./ssadm active
Active configuration:www default Initial.2
#./ssadm edit Initial
edit>list rule
1 "common""*""*"ALLOW
edit>list address
"*"RANGE 0.0.0.0 255.255.255.255
"le0.net"RANGE 176.17.17.0 176.17.17.255
"localhost"HOST
"smtp-server"HOST 1.1.1.1
"www_le0"GROUP{}{}
edit>list service common
"commom"GROUP"tcp all""udp all""syslog""dns""rpc all""nfs prog""icmp
all""rip""ftp""real audio""pmap udp all""pmap tcp all""rpc tcp
all""nis""archie""traceroute""ping"
可以看出,缺省的規(guī)則讓很少的服務通過。
我們假設(shè)在設(shè)置一臺HTTPD服務器(在80端囗),并使用SSH進行管理。允許使用ping和
traceroute命令進行初步的錯誤檢查。我們需要如下設(shè)置防火墻的規(guī)則:
#./ssadm edit Initial
edit>add service ssh SINGLE FORWARD "tcp" PORT 22
edit>add service myhttp GROUP ping traceroute ssh www
edit>replace rule 1 ALLOW myhttp"*""*"
edit>list rule
1 "myhttp""*""*"ALLOW
edit>save
edit>verify
Configuration verified successfully(not activated)
edit>quit
www#./ssadm activate Initial
Configuration activated successfully on www
* 在一臺管理機上,允許使用ssh和smtp(用來email報警),可以對外使用ping/traceroute,進行
檢查,為降低風險,只響應其它管理主機的ping/traceroute請求。允許通過HTTPS及使用dns查詢
。
# cd /opt/SUNWicg/SunScreen/bin;
# ./ssadm edit Initial
edit> add address mgt_net RANGE 176.17.17.0 176.17.17.255
edit> add service mgt GROUP ping traceroute ssh
edit> add service https SINGLE FORWARD"tcp" PORT 443
edit> add service outgoing GROUP ping traceroute dns
edit>
edit> replace rule 1 ALLOW www "*" localhost
edit> replace rule 2 ALLOW https "*" localhost
edit> replace rule 3 ALLOW mgt mgt_net localhost
edit> replace rule 4 ALLOW outgoing localhost "*"
edit> replace rule 5 ALLOW smtp localhost mgt_net
edit>
edit> save
edit> verify
Configuration verified successfully (not activated).
# ./ssadm activate Initial
Configuration activated successfully on www.
檢查網(wǎng)絡(luò)連接,確定改動的規(guī)則已經(jīng)生效。如果要恢復初始設(shè)置,將所有的規(guī)則刪除后,加入下
面一行:
replace rule 1 ALLOW "common""*""*"
最后,關(guān)閉防火墻的遠程圖形管理功能,只使用"ssadm"命令行工具進行管理。
注釋掉/etc/rc2.d/S63sunscreen文件中的下面一行:
$SS_LIBDIR/run_httpd start efshttpd
在/opt/SUNWicg/SunScreen/lib/ss_boot中,注釋掉:
$SS_LIBDIR/ssadmserver star>/dev/console 2>&1
6、進一步增強系統(tǒng)的可靠性:路由、郵件、 解析及工具的設(shè)置
到此,系統(tǒng)已經(jīng)進行了初步的加固,以root方式登錄。
* 設(shè)置路由
* 對于缺省路由,將網(wǎng)關(guān)的IP地址添加到/etc/defaultrouter文件中。
* 對于靜態(tài)路由,使用route命令創(chuàng)建/etc/init.d/static_routes文件及
/etc/rc2.d/S99static_routes符號連接
* 清空路由表,為特定網(wǎng)絡(luò)指定路由,如:
route -f add net 129.97 `cat /etc/defaultrouter`
* 如果需要運行路由守護進程(不建議使用),要清楚其工作原理,否則它可能會導致你網(wǎng)絡(luò)通信
的不正常。使用'-q'參數(shù)的“安靜”模式(quiet mode),或者在使用ifconfig命令配置網(wǎng)絡(luò)接囗
設(shè)備時,使用'private'參數(shù),告訴網(wǎng)絡(luò)接囗設(shè)備不要對外廣播路由信息。運行“安靜”模式,要
在/etc/yassp.conf文件中設(shè)置SUNSTARTUP=YES并確定沒有設(shè)置缺省路由。
* 配置/etc/hosts文件,添加不想通過DNS解晰的服務器名。
* DNS客戶端:(對于關(guān)鍵任務的主機不要設(shè)置)在/etc/resolv.conf文件中添加域名及DNS服務器
名,在/etc/nsswitch.conf文件中hosts行添加DNS條目。
* 環(huán)境的設(shè)置:在/.cshrc /.profile:設(shè)置aliases和變量(如VISUAL,EDITOR和PATH,路徑的環(huán)境
變量中不要包括當前路徑".")。
* 使用useradd工具在系統(tǒng)中添加新的用戶。首次運行后,會產(chǎn)生/etc/sadm/defadduser缺省新加
用戶設(shè)置。可以編輯此文件,對新增用戶做缺省的設(shè)置。
* 郵件客戶端的設(shè)置:如果不對外網(wǎng)外送郵件,則不需要配置mailhost alias(在/etc/hosts文
件中),如果不需要任何形式的郵件服務,刪除/etc/lib/sendmail程序。否則:
* 編輯/etc/mail/aliases文件,至少將mailer-daemon、根及其它系統(tǒng)帳戶指向其真實地址。
* 在/etc/hosts文件中加入帶有IP地址的郵件服務器條目,alias用mailhost。
* 將完整的域名添加到/etc/hosts中,設(shè)置hostname.YOURDOMAIN.COM的alias。
* 在/etc/mail/sendmail.cf文件中作如下設(shè)置,確保所有的外發(fā)郵件通過郵件主機發(fā)送(前面兩
行在Solaris8中無需設(shè)置):
Dj$w.YOURDOMAIN.COM.
DSmailhost
DRmailhost
Dhmailhost
O FallbackMXhost=mailhost
* 在root的cron中加入如下條目,將緩存的郵件在工作時間內(nèi)每小時發(fā)送一次
0 6-22 * * 1-5 /usr/lib/sendmail -q
* 發(fā)送一封測試郵件,對配置進行檢查
mailx -v -s test_email root * Email服務器:設(shè)置Email服務器(運行SMTP服務),在這里不做詳細介紹。
Reboot,查錯
安裝相應的工具及腳本,確保程序已經(jīng)在其它主機上編輯測試通過。
* 將安全工具安裝在/secure目錄中,如下面會用到的:rotate_cron,rotate_log,wtrim.pl,
rdistd,Saveit,Weekly。然后將/secure目錄模式設(shè)置為:
chmod 700 /secure;chown -R root /resure
* 在Solaris8系統(tǒng)的附件光盤上,如Software Companion光盤帶有許多常用的工具,如PPP、
samba、wu-ftp(出于安全性考慮,避免使用)、Development/Libraries、Development/Tools、
X11應用、vim/emacs、Windows管理器等。使用圖形化的安裝工具或者通過SSH和X11隧道登錄到服
務器上,進入相應的目錄,使用pkgadd命令進行安裝。
* 安裝其它的常用工具,如traceroute、top或者lsof(不要設(shè)置SUID位)。
* 安裝perl,并建立/bin/perl符號鏈接(ln -s /usr/local/bin/perl /bin/perl)。
Solaris8系統(tǒng)已經(jīng)內(nèi)置了一個版本的perl,但最好刪除它(pkgrm SUNWpl5u SUNWpl5p SUNWpl5m
),從Sunfreeware.com下載最新的版本進行安裝(pkgadd -d perl-5.6.0-sol8.sparc-local)。