歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 誰可以訪問由Unix系統說了算

誰可以訪問由Unix系統說了算

日期:2017/2/28 16:48:03   编辑:Linux教程

在Unix系統中,可以利用兩個文件來統一管理客戶端的連接。誰可以訪問Unix服務器,都有這兩個文件說了算。也就是說,這Hosts.allow與Hosts.deny兩個文件就好像是Unix服務器的“看門狗”,它決定了哪些客戶端可以訪問Unix服務器,哪些則不行。

  如果Unix系統工程師允許某些計算機可以訪問這台服務器則可以在Hosts.allow文件中定義允許訪問的計算機。反之,如果系統工程師不希望特定的計算機可以訪問服務器,則應該在hosts.deny文件中定義拒絕訪問服務器的計算機。當系統的進程在接受來自客戶端的服務請求後,Unix系統會先檢查Hosts.allow文件,看看是否允許此客戶端的訪問,如果允許訪問的話則會將這個請求轉送到特定的服務程序。如果在hosts.allow文件中沒有這個客戶端允許的紀錄,則會檢查hosts.deny文件的內容。如果這個客戶端的IP地址等信息出現在這個文件中,則客戶端的這個請求將會被拒絕。如果沒有出現的話,則這個客戶端的請求仍然會被轉送到特定的服務器應用程序中。這個兩個文件的具體工作流程圖如下所示:

  這兩個文件看起來比較簡單,其功用卻不少。其就好像是Unix服務器的大門,直接跟Unix服務器的安全有關。為此系統工程師應該對這個文件引起重視。具體的說,系統工程師管理這個文件的時候,需要注意以下幾點。

  1、 兩個文件的優先性問題。

  在Unix系統眼中這兩個文件的地位是不同的。這是系統工程師需要明確的第一個內容。Unix系統會先檢查Hosts.allow文件的內容。如果在這裡有符合的紀錄,則會馬上轉發這個客戶端的請求,而不會去考慮Hosts.deny中的內容。如果系統工程師以前有Cisco網絡產品管理的經驗,對於這一點就很好理解。因為其工作原理跟思科路由器的訪問控制列表工作原理類似。只要在前面的紀錄中找到符合要求的項目,則會忽略後續的內容。如現在有一個客戶端,其IP地址為192.168.0.4。在以上兩個文件中,都有這個客戶端的信息。即在前面一個文件中允許這個客戶端連接到Unix服務器中,而在後面一個文件中卻又禁止其連接。那麼這個互相矛盾的設置,哪一個設置更有效力呢?由於Unix服務器是先檢查Hosts.allow文件,故最終Unix系統允許用戶連接到服務器。

  系統管理員不要認為這是Unix系統中的漏洞。其實Unix系統是故意這麼設計的。這個特性在實際應用中非常的有效。如某個財務管理軟件的服務器,就只允許財務部門的四個員工以及系統管理員可以連接上去。此時就可以把這五個用戶的信息放入到hosts.allow文件中,然後在hosts.deny文件中填入ALL內容即可(表示全部計算機都不能夠連接Unix服務器)。因為hosts.allow文件優先,故最終Unix系統只允許特定的五個用戶可以連接到財務管理軟件服務器中,從而提高財務管理軟件的安全性。可見這個特性在實際工作中,具有很大的用途。

Copyright © Linux教程網 All Rights Reserved