加強Linux用戶網絡訪問權限的安全控制能力_第1頁
加強Linux用戶網絡訪問權限的安全控制能力_第2頁
加強Linux用戶網絡訪問權限的安全控制能力_第3頁
加強Linux用戶網絡訪問權限的安全控制能力_第4頁
加強Linux用戶網絡訪問權限的安全控制能力_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

MLinux全控制能力設置NFS和SAMBA理解:NFS和SAMBA基本概念。掌握:NFS與SAMBA安全配置。ANFS一個組成部分,可實現在異構網絡上共享和裝配遠程文件系統。NFS簡介RFC1813)。其最大功能是可以通過網絡讓不同操作系統的計算機可以共享數據,所以也可以將其看做是一臺文件服務器,如圖1-1所示。NFS提供了除Samba之外,WindowsLinuxUNIXLinux之間通信的方法。客戶端PC可以掛載NFS服務器所提供的目錄并且掛載之后這個目錄看起來有屬于自己的協議與使用的端口號,但是在傳送資料或者其他相關信息時候,NFS服務器使用一個稱為"遠程過程調用"(RemoteProcedureCall,RPC)的協議來協助NFS服務器本身的運行。NFS的目標是使計算機共享資源,在其發展過程中(即20世紀80年代),計算機工業飛速發展,廉價CPU及客戶端/服務器技術促進了分布式計算環境的發展。用某種機制在充分發揮單個處理器性能的同時使計算機可共享存儲資源和數據,于是NFS應運而生。NFS協議輸的FTP協議。FTP會產生文件一個完整的副本;NFS只訪問一個進程引用文件部客戶端程序不需要做任何修改,就應該能夠訪問一個NFS文件。NFS是一個使用SunRPC構造的客戶端/服務器應用程序,其客戶端通過向一進程來實現,即NFS客戶端可以是一個用戶進程,對服務器進行顯式調用,而服務文件必須對客戶端透明,因此NFS的客戶端調用是由客戶端操作系統代表用戶進程服務器是一個用戶進程,每個客戶端請求和服務器應答(包括讀和寫的數據)將不得布。 (1)訪問一個本地文件還是一個NFS文件對于客戶端來說是透明的,當文件"的框中。 (2)NFS客戶端通過其TCP/IP模塊向NFS服務器發送RPC請求,NFS主要P (3)NFS服務器在端口2049接收作為UDP數據包的客戶端請求,盡管NFSUDP9。 (4)當NFS服務器收到一個客戶端請求時,它將這個請求傳遞給本地文件訪問例程,然后訪問服務器主機上的一個本地的磁盤文件。 (5)NFS服務器需要花一定的時間來處理一個客戶端的請求,訪問本地文件既然大多數UNIX內核不是多線程的,一個共同的技術就是啟動一個用戶進程(常被稱為"nfsd")的多個實例。這個實例執行一個系統調用,使其作為一個內核進程保留在操作系統的內核中。 (6)在客戶端主機上,NFS客戶端需要花一定的時間來處理一個用戶進程的NFS客戶端向服務器主機發出一個RPC調用,然后等待服務器的應答。為了給使用NFS的客戶端主機上的用戶進程提供更多的并發性,在客戶端內核中一般運行著多個NFS客戶端,同樣具體實現也依賴于操作系統。NFS服務器面臨的安全隱患norootsquash文件系統上的任何文件,把設置了特洛伊木馬的程序留給其他用戶,在無意中執行。NFS服務器安全策略 (1)使用TCP_Wrappersportmap和rpc.nfsd結合起來,使NFS服務器上的文件即使沒有任何權限也能來限制使用范圍。 (2)注意配置文件語法錯誤NFS服務器通過/etc/exports文件來決定要導出哪些文件系統,以及把這些目錄導出到哪些主機上。編輯這個文件的時候要特別小心,不要添加額外的空格。tsbobexamplecomtmpnfs錄。tmp/nfs/(rw)但是/etc/exports文件中這一行的情況卻不同。它共享同一目錄,讓主機擁有只讀權限,卻給全局以讀寫權限。這全是由主機后面的一個空格造成的。/tmp/nfs/(rw)使用showmount命令來校驗哪些目錄被共享,從而檢查NFS共享配置是一個 (3)使用iptables防火墻因為NFS在網絡上明文傳輸所有信息,所以讓NFS服務器在防火墻后、在一個分段的安全網絡上運行就很重要。無論何時在不安全的網絡上傳遞NFS信息都有制RCP服務訪問的辦法一般是使用防火墻,除了TCP-Wrapper還有ipchians和iptalbes的防火墻。在全面使用Linux2.4或更高版本內核的今天,了解iptables這種端口,可以通過iptables來限制對該端口的訪問:iptablestfilterAINPUTpudp-d--dport111-jDROPiptablestfilterAINPUTpudp-d--dport2049-jDROPiptablestfilterAINPUT-pudp-strusted_client-dthis_server_ip--dport\2049–jACCEPTiptables-tfilter-AINPUT-pudp-snot_trusted_client-dthis_server_ip–dportjDROP (4)把開放目錄限制為只讀權限的任何目錄或文件系統設置為只讀訪問:行只讀訪問。 (5)禁止對某些目錄的訪問者一個目錄時,缺省情況下它的子目錄會自動開放訪問權限。如果希望限制對其子目錄的訪問可以使用noaccess訪問選項,例如希望開放/pub目錄權限但是禁止訪問/pub/staff-only子目錄:/pubweblab-??.(ro)pub/staff-onlyweblab-??.(noaccess) (6)rootsquashing訪問問題按照默認設置,root用戶的用戶ID和組群ID都是0。root權限壓縮(Rootsquashing)把用戶ID0和組群ID0映射為匿名的用戶和組群ID,因此客戶上的根用戶就不會在NFS服務器上具備根特權。如果這個選項被選,root用戶就不會被映射為匿名用戶,客戶上的root用戶就會對導出的目錄擁有根特權。選擇這個選項會大tcexportswww(rw,root_squash)這樣如果客戶端的UID0(root)用戶想要訪問(讀、寫、刪除)一個NFS文件改和訪問服務器端root用戶才能訪問和修改的文件。 (7)使用nosuid和noexec選項SUID(SetUserID)或SGID(SetGroupID)程序可以讓普通用戶以超過自己SUID/SGID程序會被一些惡意的本地用戶利用,獲取本不應有的權限。運行以下命令可以找到所有具有這一屬性的程序:find(-perm-4000-o-perm-2000\)SUID/SGID屬性的文件,刪除或對其屬性進行更改。使用nosuid選項禁止set-UID程序在NFS服務器上運行,可以修改文件/etc/exports加入一行:www(rw,root_squash,nosuid)的用戶可以讀取/www中的文件和目錄,但是不能運行set-UID程序。www(rw,root_squash,noexec)ccomwwwniteccom用戶可以讀取/www中的文件和目錄,但是禁止所登錄文件系統中文件的執行。onsetUID和nonexecutable文件設置可以提高NFS服務器的安全。Samba(SMB是其縮寫)是一個網絡服務器,用于Linux和Windows共享文件之用;Samba即可以用于Windows和Linux之間的共享文件,也一樣用于Linux大家知道在Windows網絡中的每臺機器即可以是文件共享的服務器,也可以同是客戶機;Samba也一樣能行,比如一臺Linux的機器,如果架了SambaServer后,它能充當共享服務器,同時也能做為客戶機來訪問其它網絡中的Windows共享LinuxSabmba務器;夾當做本地硬盤來使用。在Linux的中,就是通過Samba的向網絡中的機器提供共說和FTP是不一樣的。SambanetbiosSamba,uxLinuxSamba應該范圍主要是Windows和Linux系統共存的網絡中使用;如果一個那Samba能為我們提供點什么服務呢?主要是共享文件和共享打印機;在配置SAMBA時,先備份其配置文件。創建文件夾首先創建三個文件夾,如下所示:homekdirnewfilemkdirnewfilemkdirnewfile給文件夾分配權限:omechmodnewfilehomechmodnewfilehomechmodnewfile查看文件夾權限:ell總用量48wxtoot6wxtoot61512:56newfile1drwxrwxrwx2rootroot61512:56newfile2drwxuseruser1414:49user1drwxuseruser1415:35user2drwxuseruser1419:26user3Linux系統系統默認安裝了NFS組件,可以使用命令rpm來驗證是否安裝,如下所示:[root@LAB3~]#rpm-qa|grepnfss示:vicenfsstartNFS確定]關掉NFS配額:[確定]啟動NFS守護進程:[確定]啟動NFSmountd:[確定]使用命令來驗證服務是否啟動,如下所示:vicenfsstatusrpc.mountd(pid3445)正在運行...nfsdpid34413440343934383437343634353434)正在運行...rpc.rquotad(pid3425)正在運行...erviceportmapstatusportmap(pid1894)正在運行...第三步:配置/etc/exports文件修改/etc/exports配置文件,在文件中加入如下內容,如下所示:etcexportsid配置完成后,需要重新啟動nfs服務,如下所示:vicenfsrestart關閉NFSmountd:[確定]關閉NFS守護進程:[確定]關閉NFSquotas:[確定]NFS確定]NFS確定]關掉NFS配額:[確定]啟動NFS守護進程:[確定]啟動NFSmountd:[確定]使用防火墻保證安全NFSrpcnfsdclientpc,Rpc.mountd是用來管理NFS的文件系統,portmap進行端口映射,所以需要在防火TCPUDP下所示:[root@LAB3~]#iptables-AINPUT-pudp-s10.1.1.0/24--dport111-d-jCEPTptablesAOUTPUTpudpssportdrootLABiptablesAINPUTpudpsdportd-jCEPT[root@LAB3~]#iptables-AOUTPUT-pudp-s--sport111-d10.1.1.0/24[root@LAB3~]#iptables-AINPUT-ptcp-s10.1.1.0/24--dport111-d-jCEPT[root@LAB3~]#iptables-AOUTPUT-ptcp-s--sport2049-d10.1.1.0/24[root@LAB3~]#iptables-AINPUT-ptcp-s10.1.1.0/24--dport2049-d-jCEPTssportdjCEPT:修改/etc/hosts.allow和/etc/hosts.deny文件,限制客戶端ietchostsallow#stsallow###ThisfiledescribesthenamesofthehostswhichareallowedtousethelocalINETservicesasdecidedbythe'/usr/sbin/tcpd'server.ow在/etc/hosts.deny中加入portmap:ALL:deny如下所示:vietchostsdeny#hostsdeny###Thisfiledescribesthenamesofthehostswhichare*not*allowedtousethelocalINETservices,asdecidedbythe'/usr/sbin/tcpd'server.Theportmaplineisredundant,butitislefttoremindyouthatthenewsecureportmapuseshosts.denyandhosts.allow.InparticularyoushouldknowthatNFSusesportmap!portmap:ALL:deny驗證測試在clientA上掛載文件系統,如下所示:[root@LAB2~]#dfFilesystem1K-塊已用可用已用%掛載點/dev/sda158032362530228297822046%/none12802001280200%/dev/shmdrootbchtest2531264297718446%/root/a2531264297718446%/root/b在clientB上掛載文件系統,如下所示:[root@LAB1~]#dfFilesystem1K-塊已用可用已用%掛載點/dev/sda158032362528556297989246%/none12802001280200%/dev/shm2531296297718446%/root/b2531296297718446%/root/c在clientA上測試讀寫權限,如下所示:chtesttouch:cannottouch‘test1’:權限不夠rootbchtesttouch:cannottouch‘test2’:權限不夠在clientB上測試讀寫權限,如下所示:touch:cannottouch‘test1’:權限不夠rootcchtest總用量28rwrr1nfsnobodyrwrr1rootsnobodyoot0共享文件系統上的任何文件,從而可以使設置了特洛伊木馬的程序被執行。注意在編輯/etc/exports文件時,在和(ro,all_squash)之間是沒有空格的,如有空格,則給全局以讀權限。防火的配置如下所示:ablesLnINPUTpolicyDROPrgetCEPTCEPTCEPTCEPTCEPTprotoptsourcetcp--anywherenFORWARDpolicyDROPtargetprotoptsourcenOUTPUTpolicyDROPtargetprotoptsourceACCEPTtcp--anywhereACCEPTtcp--ACCEPTtcp--ionionioncpdptsshtcpdptsunrpctcpdptnfsudpdpt:sunrpcudpdpt:nfscpsptsshcpsptsunrpctcpspt:nfsACCEPTudp--ACCEPTudp--udpspt:nfsudpspt:sunrpc創建用戶和組paddtechpaddmarkettLABuseraddgtechseeksbinfalsetLABuseraddgtechlensbinfalsetLABuseraddgtechgaosbinfalsetLABuseraddgmarketjakesbinfalsetLABuseraddgmarketjoesbinfalseABsmbpasswdaseekNewSMBpassword:etypenewSMBpasswordstartsmbfilepwent_internal:file/etc/samba/smbpasswddidnotexist.Filesuccessfullycreated.Addeduserseek.BsmbpasswdalenNewSMBpassword:etypenewSMBpasswordAddeduserlen.smbpasswdagaoNewSMBpassword:etypenewSMBpasswordAddedusergao.bpasswdajakeNewSMBpassword:etypenewSMBpasswordAddeduserjake.bpasswdajoeNewSMBpassword:etypenewSMBpasswordAddeduserjoe.addceoaddfinanceBsmbpasswdaceoNewSMBpassword:etypenewSMBpasswordAddeduserceo.bpasswdafinanceNewSMBpassword:etypenewSMBpasswordAddeduserfinance.建立共享目錄BmkdirhometechhomemarketLABlsldhometechhomemarketdrwxrxrxrootroot9/home/marketdrwxrxrxrootroot9/home/techhgrptechhometechchgrpmarkethomemarkettLABchmodhometechtLABchmodhomemarketLABlsldhometechhomemarketdrwxrwsTrootmarket9/home/marketdrwxrwsTroottech22:59/home/techirsoftwareirtmpuploadABchmodtmpuploadchmodattmpuploadlsldtmpuploaddrwxrwxrwtrootroot/tmpupload/添加共享目錄在/etc/samba/smb.conf文件,在文件最后面加入共享文件夾目錄,如下所示:ommenttechsfilespath=/home/techpublic=novalidusers=@techwritelist=@techcreatemask0entmarketsfilespath=/home/marketpublic=novalidusers=@marketwirtelist=@marketcreatemask0mentsharesoftwarepath=/softwarepublic=yesreadonly=yesnttempfilespath=/tmpuploadpublic=yeswritableyes安全設置修改/etc/samba/smb.conf文件,將修改如下幾個項目,如下所示:將;hostsallow=192.168.1.192.168.2.127hostsallow=10.1.1.127.將安全級別為默認選項,如下所示:userencryptpasswordsyesptpasswordsyes注意:在有防火墻的情況下,如需要打開如下幾個端口:etbiosnsetbiosnsetbiosdgmetbiosdgmnetbios-ssnnetbios-ssn驗證測試這是會提示輸入用戶名和口令。用戶seek會打開文件夾,tech文件允許寫入,而market不允許訪問,software在文件夾temp中,使用用戶seek創建seek.bmp文件,使用用戶len創建len.bmp文件。使用用戶去刪除seek.bmp文件。件這是會彈出錯誤提示,無法刪除文件。息1.保護NIS的安全NIS代表網絡信息服務(NetworkInformationService)。它是叫做ypserv的RPC服務,和portmap以及其它相關服務一起使用,被用來為屬于NIS域內的計算機間分發關于用戶名、口令、以及其它保密信息的映射表。NIS服務器包括幾個應用程序。它們是:/usr/sbin/rpc.yppasswdd—又稱yppasswdd服務,該守護進程允許用戶改變他們的NIS/usr/sbin/rpc.ypxfrd—又稱ypxfrd服務,該守護進程負責在網絡上傳輸NIS映射表。/usr/sbin/yppush—該應用程序把NIS數據庫的改變傳播給多個NIS服務器。/usr/sbin/ypserv—這是NIS服務器守護進程。按照今天的標準來看,NIS不太安全。它沒有主機驗證機制,在網絡上明文傳輸所有的信息,包括口令散列。結果是,在設置使用NIS的網絡時你必須格外謹慎。更糟糕的是,默認的NIS配置就有其固有的不安全性。推薦任何打算實現NIS服務器的用戶首先按照第5.2節的步驟來保護portmap服務的安全,然后再解決下面的問題,如網絡規劃。 (1)謹慎制定網絡計劃因為NIS在網絡上明文傳輸保密信息,所以令服務器在防火墻背后的一個安全的網絡段上運行就很重要。無論何時在不安全的網絡上傳遞NIS信息都有被截取的危險。從這個角度講,謹慎制定網絡計劃就有助于防御嚴重的安全破壞。 (2)使用像口令一樣的NIS域名和主機名NIS域內的任何機器都不經驗證就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論