歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

solaris安全手冊

  1,Preparation   2,Initial OS installation   3,Stripping/configuring OS: 1st pass   4,Connect to test network   5,Installing tools & sysadmin software   6,Stripping/configuring OS: 2nd pass   7,Create Tripwire image, backup, test   8,Install, test, harden applications.   9,Install on live network, test     1. Preparation   最小限度保證安全的方法是只在主機上運行一個或兩個服務。使用一個機器比只使用   一個擁有所有權利的機器安全的多,因為這樣可以隔離,方便查找問題所在。總之:   在你的機器上運行你一些最必要的服務。考慮拆除鍵盤,屏幕,這樣可以避免使用X1   1和知道命令行所示,在一個隔離的信任的網絡段中進行測試。明確你的系統和硬件配   置能產生什麼樣的結果,如在安裝SUN的Disksuite時要考慮   你是否需要RPC服務,因為DISKSUITE必須使用RPC服務。明確各種應用程序是怎樣工作   的如:使用什麼端口和文件.   2,初始化安裝操作系統。   連接串口控制台,開機,當出現OK提示時發送Stop-A信息(~#,~%b,或者F5,主要取決   於你使用tip,cu或者vt100終端),然後開始安裝過程-"boot cdrom - install"   使用最小安裝 end user bundle(除非你要額外的server/developer工具),設置主機   名,終端,IP參數,時區等等,不要激活NIS或者NFS及不要激活電源管理。選擇手工   劃分分區:把/usr和/opt和ROOT分離開來以便這些分區可以以只讀方式掛(mount)起來   。考慮把大的/var文件系統和擁有較多的數據量如(web,FTP)劃分為獨立的分區。   如果硬盤是2GB建議200MB / (+var), 200MB swap, 600MB /usr及 1GB 給 /opt   如果硬盤是2GB建議300MB / (+var+opt), 200MB swap, 500MB /usr   給ROOT設置一個7到8字符大小寫結合等比較強壯的密碼,再重啟動。   接著安全由SUN的安全補丁。一般的在CD上就包含這些安全補丁包。重啟動及作為ROO   T重啟動後,你可以使用showrev -p查看補丁列表。   3,配置操作系統   磁盤共享(mount):為了減少木馬和不授權的修改,在/etc/vfstab,在mount /時請使用   "remount,nosuid"選項;在/var上請帶上"nosuid"選項;在/tmp後加上   "size=100m,nosuid"選項(允許/tmp只能使用100M空間及不允許執行SUID程序);   如果軟盤不需要的話再把"/dev/fd"行注釋掉。   (下面的命令假定你使用的是c-shell)   使NFS無效:   rm /etc/rc2.d/{S73nfs.client,K28nfs.server} /etc/rc3.d/S15nfs.server /etc/   dfs/dfstab使Sendmail守護程序無效,雖然sendmail不是作為一個守護程序來運行的   ,但兩進制程序是依然存在的,EMAIL還可以通過它了發送(但不能接受)。設定只要一   個主機來接受EMAIL,另必須使用smap或其他等同命令來把sendmail危險程度降低到最   底。   rm /etc/rc2.d/S88sendmail   再在cron行中增加處理郵件隊列的命令:   0 * * * * /usr/lib/sendmail -q   在關閉一些其他的服務:   rm /etc/rc2.d/{S74autofs,S30sysid.net,S71sysid.sys,S72autoinstall}   rm /etc/rc2.d/{S93cacheos.finish,S73cachefs.daemon,S80PRESERVE}   rm /etc/rc2.d/{S85power,K07dmi}   rm /etc/rc3.d/S77dmi   If you have server/developer packages:   rm /etc/rc2.d/{S47ASPpp,S89bdconfig,S70uUCp}   使RPC無效:這一般來說是建議關閉此功能的,但一些程序如DISKSUITE會開啟RPC服務   ,所以一般建議不使用DISKSUITE工具。如果你不想使RPC無效,則一定要使用信息包   過濾器。   rm /etc/rc2.d/S71rpc   使打印服務無效(除非有一個本地打印機存在):   rm /etc/rc2.d/{S80lp,S80spc}   使naming Services Caching Daemon(名字服務緩沖守護程序)服務無效:   mv /etc/rc2.d/S76nscd /etc/rc2.d/.S76nscd   使CDE程序無效(除非你堅持要使用圖形控制台):   rm /etc/rc2.d/S99dtlogin   使NTP-NETWORK TIME PROTOCOL無效(NTP會增加帶寬和不安全的因素,建議使用   rdate到一台使用NTP的機器來獲得精確時間):   rm /etc/rc2.d/S74xntpd   使SNMP無效:   rm /etc/rc2.d/K07snmpdx /etc/rc3.d/S76snmpdx   在Inetinit中是IP forwarding和sourec routing(源路)由無效(假如有超過一個網絡   接口的話)。在/etc/init.d/inetinit中增加下面所示設置:   ndd -set /dev/ip ip_forward_directed_broadcasts 0   ndd -set /dev/ip ip_forward_src_routed 0   ndd -set /dev/ip ip_forwarding 0   根據RFC1948建議在/etc/default/inetinit中增加如下的生成初始化序列號設置來防   止TCP序列號預測攻擊(ip欺騙):   TCP_STRONG_ISS=2   在/etc/system中增加如下設置來防止某些緩沖溢出攻擊。這些保護是那些需在堆棧中   執行的攻擊方式。但需要硬件的支持(只在sun4u/sun4d/sun4m系統中有效):   set noexec_user_stack=1   set noexec_user_stack_log=1   使用默認路由:在/etc/defaultrouter中增加IP地址,或使用"route"在/etc/rc2.d/   S99static_routes中建立啟動文件。為了使動態路由無效:   touch /etc/notrouter   為了使多路廣播(multicasting)無效請在/etc/init.d/inetsvc中注解掉   "route add 224.0.0.0"周圍的幾行。   為了記錄INETD連接的所有信息,在inetd低端的啟動行中增加"-t"參數,   即:: /usr/sbin/inetd -s -t   在/etc/hosts中配置一些你想取捨的主機(一些你不想通過DNS解析的)。   /etc/inetd.conf:   先使所有服務無效;   配置你真正需要的服務,但必須使用FWTK netacl或tcp wrappers來允許最小限度的I   P地址訪問和各種記錄   4,連接並測試網絡   系統通過上面的安全剝離和篩選,你必須肯定系統能正常工作,把它連接到一個安全   隔離的網絡。重起並以ROOT身份登錄控制台,檢查控制台啟動時的錯誤信息並根據需   要進行修改。   5,安裝系統管理工具軟件   這部分將安裝標准的工具和實用程序。最重要的是SSH,這些工具必須在其他機器上編   譯和精心測試過的。   環境:   DNS客戶端:在/etc/resolv.conf中增加域名和DNS服務;在/etc/nsswitch.conf中增   加DNS入口的主機。   EMAIL:如果主機不需要在子網外發送EMAIL,就不需要使用mailhost的別名。否則的   話必須編輯/etc/mail/aliases,在/etc/hosts中設置mailhost,在/etc/mail/sendm   ail.cf取消Dj行的注釋並把它設置為Dj$w.YOURDOMAIN.COM.   如果DNS沒有配置,就在 /etc/hosts中增加這太機器的別名hostname.YOURDOMAIN.CO   M。   現在發送一封測試EMAIL:mailx -v -s test_email root 在/.cshrc/.profile中設置別名,變量如:VISUAL, EDITOR和PATH,但不要包含'.'號   。     為LOGIN登錄進程安裝SSH。配置SSH守護程序(/etc/sshd_config)以便訪問限制在帶有   known public keys的主機(/etc/ssh_known_hosts)並使rhosts認證無效。如果遠程管   理確實需要的話,使用.shosts要比.rhosts好的多。檢查Inetd中的telnetd/ftpd是否   仍然激活,如果是的話請在/etc/inetd.conf中注釋掉,在進行SSH測試。     安裝一些其他的一些必須工具如:gzip;traceroute;top(不帶SUID);lsof.     安裝和建立Perl5到/bin/perl.     在/secure中安裝安全腳本如:rotate_cron, rotate_log, wtrim.pl, rdistd   並改變屬性來保護/secure:chmod -R 700 /secure; chown -R root /secure   6,在次配置和篩選系統安全:   許多在CD中OS的補丁是不夠及時的,因此從sunsolve.sun.ch中獲取patchdiag   工具來查看安全補丁並下載安裝這些補丁。     配置登錄記錄   在/etc/default/su中使SU記錄有效。   使用以下方法使嘗試登錄失敗記錄有效:   touch /var/log/loginlog;   chmod 600 /var/log/loginlog;   chgrp sys /var/log/loginlog     SYSLOG記錄:根據syslog.conf例子來分散LOG分析記錄,即把多項服務的記錄   分散到各個獨立的LOG文件,有條件的話在(/etc/hosts)中指定一台機器作為loGhost     syslog "loghost"   需要一個大的磁盤作為LOG記錄的存儲介質。   建立空的LOGS文件並設立相應的權限:     cd /var/log; touch daemonlog authlog kernlog userlog maillog lprlog   cronlog newslog locallog alertlog;     chmod 600 daemonlog authlog kernlog userlog maillog lprlog cronlog   newslog locallog alertlog;     kill -1 `pgrep syslogd`     使用rotate_log來修剪和壓縮LOGS文件,在root cron中增加如下條目:   ## Prune syslog logs weekly, keeping the last 6 months or so:   55 23 * * 6 /secure/rotate_log -L /var/log -c -m 600 -M 400 -c -s -n 40 al   ertlog   55 23 * * 6 /secure/rotate_log -L /var/log -c -m 600 -M 400 -c -s -n 40 au   thlog   55 23 * * 6 /secure/rotate_log -L /var/log -c -m 600 -M 400 -c -s -n 20 cr   onlog   5




Copyright © Linux教程網 All Rights Reserved