UNIX 安全構架經驗(轉)

ba發表於2007-08-11
UNIX 安全構架經驗(轉)[@more@]  下面是一些個人的經驗的總結,我相信對於是否受到入侵的UNIX或者UNIX-clone(freebsd,openbsd,netbsd, linux,etc)都是有用的:
  首先大家可以透過下面的系統命令和配置檔案來跟蹤入侵者的來源路徑:
  1.who------(檢視誰登陸到系統中)
  2.w--------(檢視誰登陸到系統中,且在做什麼)
  3.last-----(顯示系統曾經被登陸的使用者和TTYS)
  4.lastcomm-(顯示系統過去被執行的命令)
  5.netstat--(可以檢視現在的網路狀態,如telnet到你機器上來的使用者的IP地址,還有一些其它的網路狀態。)
  6.檢視router的資訊。
  7./var/log/messages檢視外部使用者的登陸狀況
  8.用finger 檢視所有的登陸使用者。
  9.檢視使用者目錄下/home/username下的登陸歷史檔案(.history.rchist,etc).後注:’who’,’w’,’last’,和’lastcomm’這些命令依靠的是/var/log/pacct, /var/log/wtmp,/etc/utmp來報告資訊給你。許多精明的系統管理員對於入侵者都會遮蔽這些日誌資訊(/var/log/*,/var/log/wtmp,etc)建議大家安裝tcp_wrapper非法登陸到你機器的所有連線)

  接下來系統管理員要關閉所有可能的後門,一定要防止入侵者從外部訪問內部網路的可能。(對FREEBSD感興趣的文章,可以看一下我在綠色兵團中安全文獻中的FreeBSD網站的安全構架(1) ).如果入侵者發現系統管理員發現他已經進入系統,他可能會透過rm -rf /*試著隱蔽自己的痕跡.

  第三,我們要保護下面的系統命令和系統配置檔案以防止入侵者替換獲得修改系統的權利。
  1. /bin/login
  2. /usr/etc/in.*檔案(例如:in.telnetd)
  3.inetd超級守護程式(監聽埠,等待請求,派生相應伺服器程式)喚醒的服務.(下列的伺服器程式通常由inetd啟動:
  fingerd(79),ftpd(21),
  rlogind(klogin,eklogin,etc),rshd,talkd,telnetd(23),tftpd. inetd還可以啟動其它內部服務,/etc/ inetd.conf中定義的服務.
  4.不允非常ROOT使用者使用netstat,ps,ifconfig,su

  第四,系統管理員要定期去觀察系統的變化(如:檔案,系統時間,等)
  1. #ls -lac去檢視檔案真正的修改時間。
  2. #cmp file1 file2來比較檔案大小的變化。

  第五,我們一定要防止非法使用者使用suid(set-user-id)程式來得到ROOT 的許可權。
  1.首先我們要發現系統中所有的SUID程式。
   #find / -type f -perm -4000 -ls
  2.然後我們要分析整個系統,以保證系統沒有後門。

  第六,系統管理員要定時的檢查使用者的.rhosts,.forward檔案,
  1.#find / -name .rhosts -ls -o -name .forward -ls
  來檢查.rhosts檔案是否包含’++’,有則使用者可以遠端修改這個檔案而不需要任何口令。
  2.#find / -ctime -2 -ctime +1 -ls
  來檢視不到兩天以內修改的一些檔案,從而判斷是否有非法使用者闖入系統。

  第七,要確認你的系統當中有最新的sendmail守護程式,因為老的sendmail守護程式允許其它UNIX機器遠端執行一些非法的命令。

  第八,系統管理員應當要從你機器,作業系統生產商那裡獲得安全鋪丁程式,如果是自由軟體的話(如Linux平臺,建議大家可以到linux.box.sk來獲得最好的安全程式和安全資料。)

  第九,下面有一些檢查方法來監測機器是否容易受到攻擊。
  1.#rpcinfo -p來檢查你的機器是否執行了一些不必要的程式。
  2.#vi /etc/hosts.equiv檔案來檢查你不值得信任的主機,去掉。
  3.如果沒有遮蔽/etc/inetd.conf中的tftpd,請在你的/etc/inetd.conf加入tftp dgram udp wait nobody /usr/etc/in.tftpd
  in.tftpd -s /tftpboot
  4.建議你備份/etc/rc.conf檔案,寫一個shell script定期比較 cmp rc.conf backup.rc.conf
  5.檢查你的 inetd.conf和/etc/services檔案,確保沒有非法使用者在裡面新增一些服務。
  6.把你的系統的/var/log/*下面的日誌檔案備份到一個安全的地方,以防止入侵者#rm /var/log/*
  7.一定要確保匿名FTP伺服器的配置正確,我的機器用的是proftpd,在proftpd.conf一定要配置正確。
  8.備份好/etc/passwd,然後改變root口令。一定要確保此檔案不能夠入侵者訪問,以防止它猜測。
  9.如果你還不能夠防止入侵者的非法闖入,你可以安裝ident後臺守護程式和TCPD後臺守護程式來發現入侵者使用的帳號!
  10.確保你的控制檯終端是安全的,以防止非法使用者能夠遠端登陸你的網路上來。
  11.檢查hosts.equiv,.rhosts,hosts,lpd都有註釋標識#,如果一個入侵者用它的主機名代替了#,那麼就意味著他不需要任何口令就能夠訪問你的機器.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947152/,如需轉載,請註明出處,否則將追究法律責任。

相關文章