下面是一些個人的經驗的總結,相信對於是否受到入侵的UNIX或者UNIX-clonefreebsd,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非法登陸到你機器的所有連接)
接下來系統管理員要關閉所有可能的後門,一定要防止入侵者從外部訪問內部網絡的可能。如果入侵者發現系統管理員發現他已經進入系統,他可能會通過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都有注釋標識#,如果一個入侵者用它的主機名代替了#,那麼就意味著他不需要任何口令就能夠訪問你的機器。