Linux系統(tǒng) 改善FTP服務(wù)器的安全性
2024-09-09 20:59:03
供稿:網(wǎng)友
如何防止攻擊者通過非法手段竊取FTP服務(wù)器中的重要信息;如何防止攻擊者利用FTP服務(wù)器來傳播木馬與病毒等等。這些都是系統(tǒng)管理員所需要關(guān)注的問題。這次我就已Linux操作系統(tǒng)平臺(tái)上使用的最廣泛的VSFTP為例,談?wù)勅绾蝸硖岣逨TP服務(wù)器的安全性。
一、禁止系統(tǒng)級(jí)別用戶來登錄FTP服務(wù)器。
為了提高FTP服務(wù)器的安全,系統(tǒng)管理員最好能夠?yàn)閱T工設(shè)置單獨(dú)的FTP帳號(hào),而不要把系統(tǒng)級(jí)別的用戶給普通用戶來使用,這會(huì)帶來很大的安全隱患。在VSFTP服務(wù)器中,可以通過配置文件vsftpd.ftpusers來管理登陸帳戶。不過這個(gè)帳戶是一個(gè)黑名單,列入這個(gè)帳戶的人員將無法利用其帳戶來登錄FTP服務(wù)器。部署好VSFTP服務(wù)器后,我們可以利用vi命令來查看這個(gè)配置文件,發(fā)現(xiàn)其已經(jīng)有了許多默認(rèn)的帳戶。其中,系統(tǒng)的超級(jí)用戶root也在其中。可見出于安全的考慮,VSFTP服務(wù)器默認(rèn)情況下就是禁止root帳戶登陸FTP服務(wù)器的。如果系統(tǒng)管理員想讓root等系統(tǒng)帳戶登陸到FTP服務(wù)器,則知需要在這個(gè)配置文件中將root等相關(guān)的用戶名刪除即可。不過允許系統(tǒng)帳戶登錄FTP服務(wù)器,會(huì)對(duì)其安全造成負(fù)面的影響,為此我不建議系統(tǒng)管理員這么做。對(duì)于這個(gè)文件中相關(guān)的系統(tǒng)帳戶管理員最好一個(gè)都不要改,保留這些帳號(hào)的設(shè)置。
如果出于其他的原因,需要把另外一些帳戶也禁用掉,則可以把帳戶名字加入到這個(gè)文件中即可。如在服務(wù)器上可能同時(shí)部署了FTP服務(wù)器與數(shù)據(jù)庫服務(wù)器。那么為了安全起見,把數(shù)據(jù)庫管理員的帳戶列入到這個(gè)黑名單,是一個(gè)不錯(cuò)的做法。
二、加強(qiáng)對(duì)匿名用戶的控制。
匿名用戶是指那些在FTP服務(wù)器中沒有定義相關(guān)的帳戶,而FTP系統(tǒng)管理員為了便于管理,仍然需要他們進(jìn)行登陸。但是他們畢竟沒有取得服務(wù)器的授權(quán),為了提高服務(wù)器的安全性,必須要對(duì)他們的權(quán)限進(jìn)行限制。在VSFTP服務(wù)器上也有很多參數(shù)可以用來控制匿名用戶的權(quán)限。系統(tǒng)管理員需要根據(jù)FTP服務(wù)器的安全級(jí)別,來做好相關(guān)的配置工作。需要說明的是,匿名用戶的權(quán)限控制的越嚴(yán)格,F(xiàn)TP服務(wù)器的安全性越高,但是同時(shí)用戶訪問的便利性也會(huì)降低。故最終系統(tǒng)管理員還是需要在服務(wù)器安全性與便利性上取得一個(gè)均衡。
下面是我推薦的幾個(gè)針對(duì)匿名用戶的配置,大家若不清楚該如何配置的話,可以參考這些配置。這些配置兼顧了服務(wù)器的安全與用戶的使用便利。
一是參數(shù)anon_world_readable_only。這個(gè)參數(shù)主要用來控制匿名用戶是否可以從FTP服務(wù)器上下載可閱讀的文件。如果FTP服務(wù)器部署在企業(yè)內(nèi)部,主要供企業(yè)內(nèi)部員工使用的話,則最好把這個(gè)參數(shù)設(shè)置為YES。然后把一些企業(yè)常用表格等等可以公開的文件放置在上面,讓員工在匿名的情況下也可以下載這些文件。這即不會(huì)影響到FTP服務(wù)器的安全,而且也有利于其他員工操作的便利性上。
二是參數(shù)anon_upload_enable。這個(gè)參數(shù)表示匿名用戶能否在匿名訪問的情況下向FTP服務(wù)器上傳文件。通常情況下,應(yīng)該把這個(gè)參數(shù)設(shè)置為No。即在匿名訪問時(shí)不允許用戶上傳文件。否則的話,隨便哪個(gè)人都可以上傳文件的話,那對(duì)方若上傳一個(gè)病毒文件,那企業(yè)不是要遭殃了。故應(yīng)該禁止匿名用戶上傳文件。但是這也有例外。如有些企業(yè)通過FTP協(xié)議來備份文件。此時(shí)如果企業(yè)網(wǎng)絡(luò)的安全性有所保障的話,可以把這個(gè)參數(shù)設(shè)置為YES,即允許操作系統(tǒng)調(diào)用FTP命令往FTP服務(wù)器上備份文件。在這種情況下,為了簡(jiǎn)化備份程序的部署,往往采用匿名訪問。故需要在FTP服務(wù)器上允許匿名用戶上傳文件。
三是參數(shù)anon_other_write_enable與參數(shù)anon_mkdir_write_enable。這兩個(gè)參數(shù)主要涉及到匿名用戶的一些比較高級(jí)的權(quán)限。如第一個(gè)參數(shù)表示匿名用戶具有上傳和建立子目錄之外的權(quán)限,如可以更改FTP服務(wù)器上文件的名字等等。而第二個(gè)參數(shù)則表示匿名用戶可以在特定的情況下建立子目錄。這些功能都會(huì)影響到FTP服務(wù)器的安全與文件的安全。為此除非有特別需要的原因,否則的話都應(yīng)該把這些權(quán)限禁用掉。即把這些參數(shù)的值設(shè)置為NO。我認(rèn)為,除非FTP服務(wù)器是系統(tǒng)管理員拿來玩玩的,可以開啟這些參數(shù)。否則的話,還是把這些參數(shù)設(shè)置為NO為好,以提高FTP服務(wù)器的安全。
總的來說,對(duì)于匿名用戶的控制要遵循權(quán)限最小原則。因?yàn)槟涿脩羰荈TP服務(wù)器沒有授權(quán)的用戶,故無法進(jìn)行深級(jí)別的權(quán)限訪問控制。為此只有通過這些基本參數(shù)來實(shí)現(xiàn)對(duì)其的控制。
三、做好目錄的控制。
通常情況下,系統(tǒng)管理員需要為每個(gè)不同的用戶設(shè)置不同的根目錄。而為安全起見,不讓不同用戶之間進(jìn)行相互的干擾,則系統(tǒng)管理員需要設(shè)置不讓用戶可以訪問其他用戶的根目錄。如有些企業(yè)為每個(gè)部門設(shè)置了一個(gè)FTP帳戶,以利于他們交流文件。那么銷售部門Sales有一個(gè)根目錄sales;倉(cāng)庫部門有一個(gè)根目錄Ware。作為銷售員工來說,他們可以訪問自己根目錄下的任何子目錄,但是無法訪問倉(cāng)庫用戶的根目錄Ware。如此的話,銷售部門員工也就無法訪問倉(cāng)庫用戶的文件了。可見,通過限制用戶訪問根目錄以外的目錄,可以防止不同用戶之間相互干擾,以提高FTP服務(wù)器上文件的安全。為了實(shí)現(xiàn)這個(gè)目的,可以把參數(shù)chroot_local_user設(shè)置為NO。如此設(shè)置后,所有在本地登陸的用戶都不可以進(jìn)入根目錄之外的其他目錄。不過在進(jìn)行這個(gè)控制的時(shí)候,最好能夠設(shè)置一個(gè)大家都可以訪問的目錄,以存放一些公共的文件。我們既要保障服務(wù)器的安全,也不能夠因此影響到文件的正常共享交流。
四、進(jìn)行傳輸速率的限制。
有時(shí)候?yàn)榱吮U螰TP服務(wù)器的穩(wěn)定運(yùn)行,需要對(duì)其文件上傳下載的速率進(jìn)行限制。如在同一臺(tái)服務(wù)器上,分別部署了FTP服務(wù)器、郵件服務(wù)器等等。為了這些應(yīng)用服務(wù)能夠和平共處,就需要對(duì)其的最大傳輸速率進(jìn)行控制。因?yàn)橥慌_(tái)服務(wù)器的帶寬是有最大限制的。若某個(gè)應(yīng)用服務(wù)占用比較大的帶寬時(shí),就會(huì)對(duì)其他應(yīng)用服務(wù)產(chǎn)生不利的影響,甚至為導(dǎo)致其他應(yīng)用服務(wù)無法正常相應(yīng)用戶的需求。再如有時(shí)候FTP用途的不同,也需要設(shè)置最大速率的限制。如FTP同時(shí)作為文件備份與文件上傳下載等用途,那么為了提高文件備份的效率,縮短備份時(shí)間就需要對(duì)文件上傳下載的速率進(jìn)行最大值的限制。
為了實(shí)現(xiàn)傳輸速率的限制,系統(tǒng)管理員可以設(shè)置local_max_rate參數(shù)。默認(rèn)情況下,這個(gè)參數(shù)是不啟用的,即沒有最大速率的限制。不過基于以上這些原因,我還是建議各位系統(tǒng)管理員在把FTP服務(wù)器投入生產(chǎn)運(yùn)營(yíng)之前能夠先對(duì)這個(gè)參數(shù)進(jìn)行設(shè)置。防止因?yàn)樯蟼飨螺d耗用了過多的帶寬而對(duì)其他應(yīng)用服務(wù)產(chǎn)生負(fù)面的影響。系統(tǒng)管理員需要在各個(gè)應(yīng)用服務(wù)之間取得一個(gè)均衡,合理的分配帶寬。至少要保證各個(gè)應(yīng)用服務(wù)能夠正常響應(yīng)客戶的請(qǐng)求。另外在有可能的情況下,需要執(zhí)行錯(cuò)峰運(yùn)行。如在一臺(tái)主機(jī)上同時(shí)部署有郵件服務(wù)器與FTP服務(wù)器。而FTP服務(wù)器主要用來進(jìn)行文件備份。那么為了防止文件備份對(duì)郵件收發(fā)產(chǎn)生不利影響(因?yàn)槲募浞菪枰容^大的帶寬會(huì)在很大程度上降低郵件收發(fā)的速度),最好能夠把文件備份與郵件收發(fā)的高峰時(shí)期分開來。如一般情況下早上上班時(shí)是郵件收發(fā)的高峰時(shí)期,那就不要利用FTP服務(wù)來進(jìn)行文件備份。而中午休息的時(shí)候一般收發(fā)郵件就比較少了。此時(shí)就可以利用FTP來進(jìn)行文件備份。所以把FTP服務(wù)器與其他應(yīng)用服務(wù)錯(cuò)峰運(yùn)行,那么就可以把這個(gè)速率設(shè)置的大一點(diǎn),以提高FTP服務(wù)的運(yùn)行效率。當(dāng)然,這對(duì)系統(tǒng)管理員提出了比較高的要求。因?yàn)橄到y(tǒng)管理員需要分析各種應(yīng)用,然后再結(jié)合服務(wù)器的部署,來進(jìn)行綜合的規(guī)劃。除非有更高的措施與更好的條件,否則的話對(duì)FTP服務(wù)器進(jìn)行最大速率傳輸是必須的。否則的話,會(huì)對(duì)企業(yè)中部署的其他信息化服務(wù)帶來非常大的不利影響,會(huì)造成企業(yè)網(wǎng)絡(luò)的阻塞。