熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

教你如何配置安全的SOLARIS系統

2013-11-23 19:52:04  來源: Java高級技術 

  帳號和口令安全策略
  更改口令文件影像文件組文件的權限
  /etc/passwd 必須所有用戶都可讀root用戶可寫 –rwr—r—
  /etc/shadow 只有root可讀 –r
  /etc/group 必須所有用戶都可讀root用戶可寫 –rwr—r—
  
  修改不必要的系統帳號
  移去或者鎖定那些系統帳號比如sysuucpnuucplistenlpadm等等簡單的辦法是在/etc/shadow的password域中放上NP字符還可以考慮將/etc/passwd文件中的shell域設置成/bin/false
  
  修改口令策略
  修改/etc/default/passwd文件
  MAXWEEKS= 口令至少每隔星期更改一次
  MINWEEKS= 口令至多每隔星期更改一次
  WARNWEEKS= 修改口令後第三個星期會收到快要修改口令的信息 PASSLENGTH= 用戶口令長度不少於個字符
  
  用戶授權安全策略
  移去組及其它用戶對/etc的寫權限
  執行命令#chmod R gow /etc
  
  禁止root遠程登錄
  在/etc/default/login中設置
  CONSOLE=/dev/concle
  
  setuid和setgid特殊權限
  Setuid是指設置程序的有效執行用戶身份(uid)為該文件的屬主而不是調用該程序進程的用戶身份Setgid與之類似Setuid和setgid用s 顯示出來為s權限存在於主人和屬組的執行權限的位置上系統設置特殊權限使用戶執行某些命令時具有root的執行權限 命令執行完成 root身份也隨之消失因此特殊權限關系系統的安全可執行命令#find / perm print 尋找系統中具有setuid權限的文件存為列表文件定時檢查有沒有這之外的文件被設置了setuid權限
  
  審計並日志所有以root身份的登陸情況
  添加或編輯/etc/default/login文件如下
  SYSLOG= YES
  syslog記錄root的登陸失敗成功的情況
  
  設置遠程登陸會話超時時間
  添加或編輯/etc/default/login文件如下
  TIMEOUT=
  
  確定登陸需要密碼驗證
  添加或編輯/etc/default/login文件如下
  PASSREQ= YES
  
   UMASK設置
  umask命令設置用戶文件和目錄的文件創建缺省屏蔽值若將此命令放入profile文件就可控制該用戶後續所建文件的存取許可umask命令與chmod命令的作用正好相反它告訴系統在創建文件時不給予什麼存取許可
  安裝配置完操作系統之後確認root的umask設置是或者執行
  /usr/bin/umask [S] 確認
  
  
  增加或修改/etc/default/login文件中如下行
  UMASK=
  
  並增加上行到如下的文件中
  /etc/login /etc/profile /etc/skel/localcshre
  /etc/skel/locallogin /etc/skel/localprofile
  
  用戶環境配置文件的PATH或者LD_LIBRARY_PATH中移去
  從如下的文件中移走確認root的PATH環境變量設置是安全的應該只包含/usr/bin:/sbin:/usr/sbin
  避免當前工作目錄出現在PATH環境變量中這有助於對抗特洛伊木馬
  #echo $PATH | grep : 確認
  
  /login /etc/login     /etc/default/login  
  /cshrc /etc/skel/localprofile /etc/skel/localcshrc
  /profile /etc/skel/locallogin /etc/profile
  
  網絡與服務安全策略
  關閉不用的服務
  在nf中關閉不用的服務
  首先復制/etc/inet/nf #cp /etc/inet/nf /etc/inet/nfbackup
  然後用vi編輯器編輯nf文件
  對於需要注釋掉的服務在相應行開頭標記#字符即可
  
  在Services中關閉不用的服務
  首先復制/etc/inet/services #cp /etc/inet/services /etc/inet/servicesbackup
  然後用vi編輯器編輯Services文件對於需要注釋掉的服務在相應行開頭標記#字符即可
  在nfservices中進行修改後找到inetd進程的ID號用kill向其發送HUP信號進行刷新舉例如下
  #ps ef | grep inetd
  #kill HUP 進程號 或/usr/sbin/inetd –s –t
  增加t選項以加強網絡訪問控制
  
  根據需要關閉不用的服務
  可關閉如下服務tftpypupdate(NIS程序) dtspcd(郵
  件收發程序) rquotadnameuucp(網絡實用系統)
  snmp(簡單網絡管理協議)等
  
  關閉系統的自啟動服務
  在系統/etc/rc*d的目錄下根據需要停用以下服務:
  sendmail 把/etc/rcd/Ssendmai更名為tc/rcd/Xsendmail
  DNS 將/etc/rcd/Sinetsv注釋掉innamed一項
  lp 把/etc/rcd/Slp更名為 /etc/rcd/Xlp
  uucp 把/etc/rcd/Suucp更名為/etc/rcd/xuucp
  snmp 把/etc/rcd/Ssnmpdx和 /etc/rcd/Sdmi 更名 為/etc/rcd/ssnmpdx和/etc/rcd/sdmi
  autoinstall 把/etc/rcd/Sautoinstallg更名為/etc/rcd/sautoinstall
  
  加強FTP服務安全
  禁止系統用戶的FTP服務
  把所有的系統賬戶加入到/etc/ftpusers(solaris 的該文件現更改為/etc/ftpd/ftpusers)文件
  root daemonsysbinadmlpuucpnuucplistennobody
  
  禁止FTP&服務暴露系統敏感信息
  編輯/etc/default/ftpd文件假如文件不存在就新建一個在文件中的加進入下一項BANNER=XXXX(XXXX可以任意改變為任何一個版本信息)將該系統版本信息屏蔽
  
  ftp服務會話日志記錄
  /etc/inet/nf中的ftpd為(記錄)
  ftp stream tcp nowait root /usr/sbin/inftpd inftpd –dl
  
  加強Telnet服務安全
  禁止Telnet服務暴露系統敏感信息
  防止telnetd banner洩露信息 修改/etc/default/telnetd文件 加入以下一項BANNER=XXXX(XXXX可以任意改變為任何一個版本信息)將該系統版本信息屏蔽
  
  更改Telnet服務端口號
  修改文件/etc/services的Telnet一項將端口號改為非使用Telnet服務時需注明端口號
  
  加強NFS服務安全
  檢查/etc/dfs/dfstab文件share語句缺省時共享目錄為
  可讀可寫加入o選項增加安全o rw可讀可寫
  o ro只讀可授權某系統和某用戶
  
  防止TCP序列號預測攻擊(ip欺騙)
  在/etc/default/inetinit中增加設置來防止TCP序列號預測攻擊(ip欺騙)TCP_STRONG_ISS=
  
  系統路由安全
  如果Solaris機器有超過一塊的網卡的話它將會在不同網卡間轉發數據包這一行為可以在/etc/initd/inetinit中得到控制要在Solaris 或者更低版本機器下關閉它可以將ndd set /dev/ip ip_forwarding 添加於在inetinit文件未尾在Solaris 以上只要touch /etc/notrouter網絡系統用靜態路由比較安全
  
  調整網絡參數加強網絡安全
  使IP forwarding和sourec routing(源路)由無效
  在Inetinit中使IP forwarding和sourec routing(源路)由無效(假如有超過一個網絡接口的話)在/etc/initd/inetinit中增加下面所示設置:
  禁止系統轉發定向廣播包
  #ndd set /dev/ip ip_forward_directed_broadcasts
  關閉原路由尋址 #ndd set /dev/ip ip_forward_src_routed
  禁止系統轉發IP包#ndd set /dev/ip ip_forwarding
  縮短ARP的cache保存時間: (default is min)
  #ndd set /dev/arp arp_cleanup_interval min
  關閉echo廣播來防止ping攻擊( # default is
  #ndd set /dev/ip ip_respond_to_echo_broadcast
  
  防止堆棧緩沖益出安全策略
  入侵者常常使用的一種利用系統漏洞的方式是堆棧溢出他們在堆棧裡巧妙地插入一段代碼利用它們的溢出來執行以獲得對系統的某種權限要讓你的系統在堆棧緩沖溢出攻擊中更不易受侵害你可以在/etc/system裡加上如下語句set noexec_user_stack=
  set noexec_user_stack_log =
  第一句可以防止在堆棧中執行插入的代碼第二句則是在入侵者想運行exploit的時候會做記錄
  
  日志系統安全策略
  定時檢查系統日志文件
  Solaris系統通過syslogd進程運行日志系統配置文件/etc/nf可編輯此文件讓日志系統記錄更多信息需重啟/usr/sbin/syslogd進程重讀取配置文件通常日志系統的文件分別存放在兩個位置/var/adm保存本地系統日志/var/log保存登錄其它系統時日志
  
  設置utmpx和wtmpx文件權限確保日志系統安全
  文件/var/adm/utmpx記錄了所有當前登錄到系統中的用戶文件/var/adm/wtmpx記錄了系統所有的登錄和注銷這兩個文件是以數據庫的格式存在的設置權限#chmod /var/adm/utmpx
  #chmod /var/adm/wtmpx
  
  其它系統安全設置
  crontab命令
  不要使用crontab –e命令因為它會在/tmp下建立所有用戶都可讀的crontab副本訪問cron系統用如下的方法
  編輯文件mycronfile
  crontab  
  6.1.2在/etc/default/cron文件中增加如下行: CRONLOG=YES 記錄所有的crontab行
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27594.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.