一、系統服務端口關閉 1、概述 a) 系統環境 SUN fire 280服務器,主要用途:WEB應用服務器+數據庫服務器 b) SOLARIS系統有許多用不著的服務自動的處於使能狀態。它們中可能存在的漏洞將使攻擊者甚至不需要一個賬戶就能控制你的機器。關閉這些不需要的服務來保護系統。 2、實施步驟 a) 安裝nmap掃描軟件 b) 掃描整個系統 c) 確定要關閉的端口(只留telnet、FTP和Xwindows用到的端口) 3、實施過程 a) /etc/inetd.conf下面的端口關閉 只留telnet和ftp別的全部關閉 b) /etc/services下面的端口關閉 :只留telnet和ftp別的全部關閉 (要是覺得注釋麻煩的話,作個備份,別的全部刪除,只留下面倆行) ftp 21/tcp telnet 23/tcp c) /etc/rc3.d下面的服務關閉 S開頭的全部改為x開頭 xS34dhcp xS76snmpdx xS80mipagent xS15nfs.server xS50apache xS77dmi d) /etc/rc2.d下面的服務關閉 # mv S70uUCp xS70uucp # mv S71ldap.client xS71ldap.client # mv S72autoinstall xS72autoinstall # mv S73cachefs.daemon xS73cachefs.daemon # mv S73nfs.client xS73nfs.client # mv S74autofs xS74autofs # mv S74xntpd xS74xntpd # mv S80lp xS80lp # mv S94Wnn6 xS94Wnn6 e) 關閉Xwindows需要停止以下服務(為了便於調試,現在沒有關閉Xwindows端口) # mv S71rpc x S71rpc # mv S99dtlogin xS99dtlogin
二、軟件防火牆安裝: 1、軟件防火牆概述 a) 防火牆版本:tcp_wrappers-7.6 b) 安裝目錄:/usr/local/bin/tcpd c) 軟件說明:在默認情況下,Solaris允許所有的服務請求。用Tcp_Wrappers來保護服務器的安全,使其免受外部的攻擊 2、安裝過程 a) 下載軟件:tcp_wrappers-7.6-sol8-sparc-local b) 安裝命令: 使用root權限:#pkgadd –d tcp_wrappers-7.6-sol8-sparc-local 3、策略制定 a) 策略說明 策略分為兩部分,拒絕所有的telnet和ftp連接,對特定的IP地址和網段打開服務 b) 策略指定 拒絕:所有的連接 容許: IP地址:×××.×××. ×××.120(公司出口公網ip地址) 網段:192.0.0.(公司內網ip) 4、安全策略實施 a) 用root用戶: Vi hosts.deny in.telnetd:ALL:DENY in.ftpd:ALL:DENY vi hosts.allow in.telnetd:×××.×××. ×××.120 192.0.0. in.ftpd: ×××. ×××. ×××.120 192.0.0. 5、安全測試 a) 從內網192.0.0.和×××. ×××. ×××.120可以telnet和ftp 系統。 b) 從外網別的ip地址不可以telnet和ftp系統。 c) 測試結果:防火牆運行正常
三、應用安全防護 1、Oracle數據庫安全防護 a) 密碼策略 b) 數據庫安全加強 2、BEA weblogic8.1安全防護 a) 密碼加強 b) 應用安全加強
四、其他系統安全防護 1、防止堆棧緩沖益出安全策略 入侵者常常使用的一種利用系統漏洞的方式是堆棧溢出,他們在堆棧裡巧妙地插入一段代碼,利用它們的溢出來執行,以獲得對系統的某種權限。要讓你的系統在堆棧緩沖溢出攻擊中更不易受侵害,你可以在/etc/system裡加上如下語句: set noexec_user_stack=1 set noexec_user_stack_log =1 第一句可以防止在堆棧中執行插入的代碼,第二句則是在入侵者想運行eXPloit的時候會做記錄。 2、給系統打補丁 Solaris系統也有它的漏洞,其中的一些從性質上來說是相當嚴重的。SUN公司長期向客戶提供各種版本的最新補丁,放在http://sunsolve.sun.com網站。可用#showrev –p命令檢查系統已打的補丁或到/var/sadm/patch目錄下查已打過的補丁號,用patchadd命令給系統打補丁。 現在系統補丁版本為:Generic_117350-02(最新補丁版本)
五、難點問題: 1、898端口關閉 898是smc服務器用的 ,如果你停了SMC就起不來了。 /etc/init.d/init.wbem這是它的腳本。 #cd /etc/rc2.d #mv S90wbem xS90wbem 2、2201端口關閉 好像是日文字體啟動,要是不使用日文,可以去掉。 #cd /etc/rc2.d # mv S90loc.ja.Cssd xS90loc.ja.cssd
六、ssh安裝 1、軟件防火牆概述 1)Ssh版本:3.2 2)下載網址:http://public.www.planetmirror.com/pub/ssh/ 3)安裝目錄:/usr/local/sbin 3)軟件說明:SSH的英文全稱是Secure SHell。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣“中間人”這種攻擊方式就不可能實現了,而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一個安全的“通道”。 2、安裝過程 1)下載軟件:ssh-3.2.0.tar.gz 2)安裝命令: 使用root權限: gzip -d ssh-3.2.0.tar.gz tar -vxf ssh-3.2.0.tar cd ssh* ./configure;make;make install(確保make、gcc目錄在當前的環境變量中) cd /usr/local/sbin ./sshd2 (啟動進行測試) ps -ef grep sshd (檢查是否啟動成功) 4、自啟動設置: 1)用root用戶: cd /etc/rc2.d cp -p S60* S99sshd(copy一個現成的,省得設置權限之類的東東) vi S99sshd (進入後刪除所有的內容,我們要的只是現成的權限!) #!/sbin/sh if [ -x /usr/local/sbin/sshd ]; then /usr/local/sbin/sshd echo "sshd2 startup.." fi 5、測試 從ssh客戶端連接服務器,測試成功。 6、注意: 編譯ssh-3.2.9報錯,在solaris8上編譯時,保*.so錯誤。
七、系統設置完成狀況 1、調試已經完成: 1)使用ssh作為遠程管理工具,關閉telnet、ftp 2)關閉X windows,關閉rpc和dtlogin 2、現在系統的所開端口狀況,nmap掃描結果: bash-2.03# nmap -P0 127.0.0.1 Starting nmap V. 2.54BETA28 ( www.insecure.org/nmap/ ) Interesting ports on localhost (127.0.0.1): (The 1547 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh Nmap run completed -- 1 IP address (1 host up) scanned in 50 seconds bash-2.03#