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

教你配置各種安全的操作系統

  隨著網絡技術的發展,以及網絡應用的普遍化,網絡安全已經成為急待解決的一個重要問題,如何走好網絡安全之路,第一步就是對操作系統多下點功夫。    操作系統的選擇,這是關鍵的一步,根據用戶的要求不同,選擇也有所不同,整體上可以分為3種類型。第一類是選用Win98,Me。第二類是選用WindowsNT,2000,XP甚至是2003的用戶,第三類是使用Unix操作系統的。    從安全的角度上說,各種操作系統都是存在漏洞的,或多或少,有的漏洞可能還沒有被發現。這些沒發現的漏洞嚴重的威脅著大家的安全,但是這些漏洞都是可以通過自己修改系統來減小危害的。    下面筆者說一下怎樣對各種操作系統進行安全的配置:    一、Win98/Me系統  對於這兩種操作系統所受的網絡攻擊是比較少的,原因是其主要面對的是家庭用戶,網絡功能很弱,一般的服務器是不會選擇這兩種操作系統的,但是漏洞還是存在的,    比如說Win98的一個很著名的共享導致藍屏的漏洞,當你共享一個分區比如說c盤的話,只要在運行裡輸入\\ip\c\con\con或者\\機器名\c\con\con就會導致藍屏。原因是由於硬件沖突造成的,也是Win98的一個bug,黑客也經常利用這些漏洞攻擊電腦。解決的辦法就是不共享,安裝補丁。目前來看,Win98/Me等操作系統的安全防范主要就是針對那些草鳥級別的黑客,只要注意安裝網絡防火牆,小心木馬之類的軟件就可以了。安裝的時候盡量選用正版軟件。    二、WinNT/2000/XP/2003系統  對於大多數網絡服務器,選擇的都是基於Win NT/2000等操作系統。XP的安全性比較高,2003剛剛發表到現在看還沒有發現什麼漏洞。下面詳細的討論一下NT/2000的系統安裝和配置問題。    版本的選擇    WinNT/2000都有各種語言的版本,對於國內用戶來說主要見到的都是簡體中文版和英文版本的,這也是一個老生常談的問題,本人強烈建議選擇使用英文版的操作系統,當然有語言障礙除外。原因我想大家也都明白,因為Windows操作系統是基於英文開發的,所以中文版的bug肯定要多於英文版,而且因為各種補丁是先發表英文版的,而中文版的往往要延遲一段時間,那麼這延遲的這段時間就相當的凶險了。    正確的安裝系統    選擇安裝途徑,盡量不采用網絡安裝,另外強烈建議不要采用升級安裝,而是進行全新的安裝,這樣可以避免升級後帶來的種種問題。    硬盤的分區問題,有的網管圖省事,硬盤只有一個分區,直接安裝系統,這樣做的風險是很大的,例如:iis緩沖溢出會影響整個系統的安全,建議分3個以上分區。第一個來安裝系統和日志,第二個放IIS;第三個放FTP,這樣無論IIS或FTP出了安全問題都不會影響到這個系統。IIS和ftp分開主要是為了防止黑客入侵時上傳程序並且從IIS運行。另外不論是NT/2000 硬盤分區最好選擇為NTFS格式,因為NTFS格式的安全性能要遠高於fat/fat32。NTFS比fat分區多了安全控制的功能,可以對不同的文件夾設置不同的訪問權限,可以啟用EFS(Encrypt File System)對文件進行加密,安全性增強。最好在安裝過程中根據系統的提示一步到位的格式化為NTFS格式,不要先格式化為fat32然後再轉換到NTFS格式。    2000的問題,何時接入網絡,Win2000在安裝的時候有一個漏洞,當你輸入administrator的密碼後,系統自動建立admin$的共享,但是沒有使用剛才建立的密碼來保護該共享。這種情況下任何人都可以進入你的系統。同時安裝後,各種服務自動運行,此時的機器是漏洞滿身,非常危險,所以建議一定要在安裝完畢,並且安裝好各種補丁後才接入網絡。    修改默認的安裝路徑    我們都知道,比如Win2000的默認路徑為c:,這也存在安全的隱患,我們可以修改一下,比如d:!@#。這也能在一定的程度上保護系統。    補丁的安裝,無論是那種操作系統安裝系統後,一定注意要先裝上補丁把系統給修補好,如Win2000現階段就要使用最新個sp4補丁。但是補丁的安裝一定要在所有需要安裝的程序安裝完畢後,才進行安裝,否則會導致某些不定不能正常的發揮作用。    系統的配置    1.端口,這可以說是計算機的第一道屏障,端口配置是否合理直接影響到計算機的安全,一般來說,打開需要的端口就可以了,配置方法是在網卡的屬性中--tcp/ip--高級--選項--tcp/ip 篩選。根據自己的需要配置。    2.IIS配置,IIS是眾多組件中公認的漏洞最多的一個,而微軟的IIS默認安裝實在不敢恭維,所以IIS配置是我們必須的一步。首先,刪除系統盤符中的inetpub目錄,然後再第二個盤中建一個Inetpub,或者干脆換個名字,然後在IIS管理器中將主目錄指向新的文件地址。其次,刪掉IIS默認安裝時的scripts等目錄。根據自己的需要建立,最後備份IIS。    3.徹底刪掉缺省共享    在Win 2000中,默認有如下共享:c$,D$……,還有admin$,ipc$等,我們可以在“計算機管理”--“共享”中刪除,但是這樣做還不能從根本上解決問題,因為如果重新啟動,你就發現這些共享就又都出現了。如何完全解決這個問題呢?可以采用以下方法:    打開記事本並輸入:    net share C$ /delete    net share D$ /delete    (根據自己的盤符輸入,如果只有c,d兩個盤符上述就可以了,然後繼續下面的輸入)    net share ipc$ /delete    net share admin$ /delete    然後保存為*.bat文件,可以隨便命名,保證後綴為bat即可,然後把該文件添加到啟動選項,至於如何添加方法比較多,最簡單的就是拖入開始--啟動文件夾裡就行了。    4.賬號策略    (1) 首先系統開的賬號要盡可能的少,因為每多一個賬號,就是增加了一分被暴力攻破的概率,嚴格控制賬號的權限。    (2) 重命名administrator,改為一個不容易猜到的用戶名,避免暴力破解    (3) 禁用guest 賬號,並且重命名為一個復雜的名字,設置一個復雜的口令,並且從guest 組刪除,防止黑客利用工具將guest提升到管理員組    (4) 建立健壯的口令,不要使用若口令如:zhangsan,iloveyou等等。    (5) 經常改變口令,檢查賬號。    5.安全日志    可以在2000的本地安全策略--審核策略中打開相應的審核,推薦如下:    賬戶管理 成功 失敗  登陸事件 成功 失敗  對象訪問 失敗  策略更改 成功 失敗  特權使用 成功 失敗  系統時間 成功 失敗  目錄服務訪問 失敗  賬戶登陸事件 成功 失敗    在賬戶策略->密碼策略中設定:    密碼復雜性要求 啟用  密碼長度最小值 8位  強制密碼歷史 3次  最長存留期 30天  在賬戶策略->賬戶鎖定策略中設定:  賬戶鎖定 3次錯誤登錄    鎖定時間 15分鐘  復位鎖定計數 30分鐘    作為一個管理員,要學會定期的查看日志,並且善於發現入侵者的痕跡。    6.目錄文件權限    為了控制好服務器上用戶的權限,同時也為了預防以後可能的入侵和溢出,我們必須設置目錄和文件的訪問權限。Windows NT的訪問權限分為讀取,寫入,執行,修改列目錄,完全控制。設置的時候注意以下原則:    1>權限是累計的:如果一個用戶同時屬於兩個組,那麼他就有了這兩個組所允許的所有權限;    2>拒絕的權限要比允許的權限高(拒絕策略會先執行)如果一個用戶屬於一個被拒絕訪問某個資源的組,那麼不管其他的權限設置給他開放了多少權限,他也一定不能訪問這個資源,所以請非常小心的設置,任何一個不當的拒絕都可能導致系統無法正常運行。    3>文件權限比文件夾權限高。    4>利用用戶組來進行權限控制是一個成熟的系統管理員必須具有的優良習慣之一;    5>僅給用戶真正需要的權限,權限的最小化原則是安全的重要保障;    7.停掉所有不必要的服務    可以參考該方面的文章,根據自己的需要進行修改,本人僅列舉兩個危險服務:    task schulder和lanmanserver 這兩個都比較危險,除非有特殊需要,否則停了他們。    三,Unix類系統的安裝和配置  Unix在網絡服務器中具有很重要的意義,一般的菜鳥級的黑客的攻擊對於這類系統是沒有太大的危害的,因為Unix畢竟不為大多數人掌握。    下面主要以Linux為例說明    安裝,首先隔離網絡進行系統安裝,選擇custom方式,安裝你的軟件包。    硬盤分區,如果用root分區記錄數據,如log文件和email就可能因為拒絕服務產生大量的日志和垃圾郵件,導致系統崩潰,所以建議為/var單獨的建立分區,用來存放日志和email,避免root分區溢出。同時例如/hoMe之類的文件也建議單獨分區。以下是分區建議:    / root    /var log    /swap swap    /hoMe    當安裝好後,及時打上安全補丁。防止因自己的疏忽給系統留下安全隱患。    關閉服務    默認的linux就是一個強大的系統,運行了很多的服務。但,有許多服務是不需要的,很容易引起安全風險。第一個文件是/etc/inetd.conf,它制定了/usr/sbin/inetd將要監聽的服務,你可能只需要其中的兩個:telnet和ftp,其他的許多如popd,imapd和rsh都是有可能引發安全問題的。用下面的命令顯示沒有被注釋掉的服務:    suneagle# grep -v "#" /etc/inetd.conf  ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a  telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd  shell stream tcp nowait root /usr/sbin/tcpd in.rshd  login stream tcp nowait root /usr/sbin/tcpd in.rlogind  talk dgram udp wait nobody.tty /usr/sbin/tcpd in.talkd  NTalk dgram udp wait nobody.tty /usr/sbin/tcpd in.NTalkd  pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d  imap stream tcp nowait root /usr/sbin/tcpd imapd  finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd  linuxconf stream tcp wait root /bin/linuxconf linuxconf --http  exec stream tcp nowait root /bin/sh sh -i    哈哈,大家看最後一行,不就被綁了個rootshell麼?呵呵,有什麼後果?呵呵看看,在遠程的一台Win2000機器上用如下命令:    E:>nc 192.0.0.88 512  bash# id  id  uid=0(root) gid=0(root) groups=0(root)  bash#    知道了吧?嘿嘿,大家注意哦!    下個要啟動的是.rc腳本,它們決定了init進程要啟動哪些服務。redhat系統下,這些腳本在/etc/rc.d/rc3.d(如果你的系統以x為默認啟動的話,就是/etc/rc.d/rc5.d)。要在啟動時禁止某個服務,只需要把大寫的S替換為小寫的s,同時,redhat也提供一個工具來幫助你關閉服務,輸入/usr/sbin/setup,然後選擇"system services",就可以定制系統啟動時跑哪些服務。另外一個選擇是chkconfig命令,很多linux版本的系統都自帶這個工具。腳本名字中的數字是啟動的順序,以大寫的K開頭的是殺死進程用的。    以下是一些主要的服務:    S05apmd 筆記本需要  S10xNTpd 網絡時間協議  S11portmap 運行rpc服務必需  S15sound 聲卡相關  S15netfs nfs客戶端  S20rstatd 避免運行r服務,遠程用戶可以從中獲取很多信息  S20rusersd  S20rwhod  S20rwalld  S20bootparamd 無盤工作站  S25squid 代理服務  S34yppasswdd NIS服務器,此服務漏洞很多  S35ypserv NIS服務器,此服務漏洞很多  S35dhcpd dhcp服務  S40atd 和cron很相似的定時運行程序的服務  S45pcmcia pcmcia卡,筆記本  S50snmpd SNMP,遠程用戶能從中獲得許多系統信息  S55naMed DNS服務  S55routed RIP,沒有必要就別運行它  S60lpd 打印服務  S60mars-nwe Netware的文件和打印服務  S60nfs NFS服務器,漏洞極多  S72amd automouNT,mouNT遠程用的  S75gated 另外一種路由服務,例如OSPF  S80sendmail 郵件服務,如關閉,仍然可以發信,只是不能收信和作中繼  S85httpd web服務器  S87ypbind NIS客戶端  S90xfs X foNT服務器  S95innd News服務器  Slinuxconf 這個都熟悉吧,呵呵,通過浏覽器遠程管理系統用的    用這個命令察看在關閉啟動腳本之前有多少服務在運行:    suneagle# ps -eafwc -l    取消root命令歷史記錄    在linux下,系統會自動記錄用戶輸入過的命令,而root用戶發出的命令往往具有敏感的信息,為了保證安全性,一般應該不記錄或者少記錄root的命令歷史記錄。為了設置系統不記錄每個人執行過的命令,我們可以在linux的命令行下,首先用cd命令進入到/etc命令,然後用編輯命令來打開該目錄下面的profile文件,並在其中輸入如下內容:    HISTFILESIZE=0    HISTSIZE=0    當然,我們也可以直接在命令行中輸入如下命令:ln -s /dev/null ~/.bash_history    嚴格管理好口令    黑客一旦獲取具有根權限的帳號時,就可以對系統進行任意的破壞和攻擊,因此我們必須保護好系統的操作口令。通常用戶的口令是保存在文件/etc/passwd文件中的,盡管/etc/passwd是一個經過加密的文件,但黑客們可以通過許多專用的搜索方法來查找口令,如果我們的口令選擇不當,就很容易被黑客搜索到。因此,我們一定要選擇一個確保不容易被搜索的.    禁用telent    典型的終端通信有telnet和rlogin,他們采用名文通信,風險很大,容易被sniff, 我們可以用ssh替換這兩個服務,ssh可以完全替代telent.    修改/etc/inetd.conf,就可以達到目的。    改變sshd的端口,同樣是修改/etc/ssh/sshd_config.修改port 22一行,將22換掉。    禁止root通過ssh直接登陸    在linux下,默認sshd是允許root直接登陸的(freebsd默認是禁止的),修改後救算管理員進行系統維護也得先用普通賬號登陸,然後變為root,這樣的好處可以避免有人直接猜解賬號登陸系統,不言而喻是多了一重保障。修改:    /etc/ssh/sshd_config    PermitRootLogin yes >PermitRootLogin no    這樣就可以了。    以上是一些關於系統安裝配置的一些問題,雖說可以為黑客的入侵增加點難度,但是如果使用者本人的安全意識不夠,還是不行的。




 

 



Copyright © Linux教程網 All Rights Reserved