日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

FreeBSD下也有“看門人”--淺談tcpwrapper的基本使用方法

曾幾何時 , 不知道你是否與筆者小神一樣 , 有在FreeBSD下實現(xiàn)與WIN2000中的IPSec安全策略實現(xiàn)訪問控制的一樣功能的想法呢?也許這對剛剛接觸FreeBSD的朋友來說是一種奢望 , 不僅是因為FreeBSD與Windows系統(tǒng)的配置方式截然不同(特別是像小神這種喜歡跑shell的人) 。不過不用失望 , 只要閣下用幾分鐘的時間專心看完下面的這篇文章的話 , 相信會有意外的收獲的:) 。

首先我要為大家講解一下什么是tcpwrapper 。tcpwrapper是傳統(tǒng)Unix系統(tǒng)的主要安全組件之一 , 通過使用它我們能夠監(jiān)控大多數(shù)的網(wǎng)絡(luò)服務(wù)進程 , 從而達到網(wǎng)絡(luò)服務(wù)訪問控制(形象點說它的功能就像一個看門人 , 當有請求進入時 , 它就會將請求內(nèi)容分解 , 并與相應(yīng)的設(shè)置規(guī)則進行配對 , 一旦找到相應(yīng)的規(guī)則時就會自動調(diào)入相應(yīng)的操作了) 。在現(xiàn)在主流的FreeBSD4.x中它已經(jīng)成為了內(nèi)核中的基本“設(shè)施” , 且使用的方法也有了一定的改變 。今天我們就以telnetd為實驗對象來完成一次網(wǎng)絡(luò)服務(wù)訪問控制操作吧 。

實驗環(huán)境:
一臺普通的586 , 跑FreeBSD4.7 , 使用PPPoE并做成ADSL網(wǎng)關(guān) , 開了telnetd服務(wù)進行客戶端管理(外網(wǎng)內(nèi)網(wǎng)都可以訪問) 。

實驗?zāi)康?
使用tcpwrapper監(jiān)控telnetd服務(wù) , 使外網(wǎng)無法登陸telnetd 。

操作基本過程:

首先需要配置一下tcpwrapper的訪問控制規(guī)則文件hosts.allow(需要注意 , 以前的傳統(tǒng)的tcpwrapper都是用兩個配置文件的 , hosts.allow與hosts.deny , 通過使用它們進行交配式的規(guī)則管理 。這樣非常煩瑣也不夠直觀 , 在FREEBSD3.2以后這個問題得到了新的改良 , 現(xiàn)在系統(tǒng)默認只需要使用hosts.allow一個文件就可以了 , 當然 , hosts.deny你也可以自行建立 , 這是很自由的) 。打開hosts.allow的配置來看看吧:
alex# cat /etc/hosts.allow
看出規(guī)則的基本配置語法了嗎?最基本的語法就是: 服務(wù)對象 : 客戶端對象地址 : 行為
當然 , 除此之外還有多種的語法演變方式 , 大家可以在默認存在的/etc/hosts.allow的注釋文本中找到相關(guān)的資料 。

現(xiàn)在我們要做的就是編寫自己的規(guī)則 。在修改規(guī)則文件前還是先備份原來的規(guī)則文件吧 。
alex# cp hosts.allow hosts.allow.bak
用ee打開hosts.allow:
alex# ee /etc/hosts.allow
在文檔的開始部分找到ALL : ALL : allow這句規(guī)則(這句規(guī)則是允許所有的服務(wù)與客戶端地址的) , 在它的前面加上#符號 , 也就是改成:
#ALL : ALL : allow

在hosts.allow中默認是沒有針對telnetd服務(wù)的配對規(guī)則的 , 所以這里我們需要自行加上 。找到下面的語句段:
# The rest of the daemons are protected.
ALL : ALL
: severity auth.info
: twist /bin/echo "You are not welcome to use %d from %h."
這個是整個規(guī)則群中最后的“保險”規(guī)則(當tcpwrapper在規(guī)則群中找不到相關(guān)的配對規(guī)則時就會根據(jù)這個規(guī)則進行處理了) 。
---------------------------------------------------------------------------------------------
小提示:
也許有人會問:如果我把這個“保險”規(guī)則給停了(刪除了該規(guī)則語句或在前面加“#”號) , 而tcpwrapper又找不到相應(yīng)的規(guī)則 , 那tcpwrapper會如何處理呢?這樣的話inetd(超級網(wǎng)絡(luò)服務(wù)進程)會跳過tcpwrapper功能而直接把執(zhí)行權(quán)交給相應(yīng)的網(wǎng)絡(luò)服務(wù)進程的 。
---------------------------------------------------------------------------------------------

在這個規(guī)則的上方加上下列的規(guī)則語句:
telnetd : 192.168.1.0/255.255.255.0 : allow #192.168.1.0/255.255.255.0是小神家中其他機器所
#使用的IP段
telnetd : ALL : deny #禁止其他所有的客戶端地址訪問本機的telnetd服務(wù)

有一點是需要注意的:hosts.allow中的規(guī)則群使用的方法與我們通常所使用的防火墻規(guī)則群的原理都是一樣的 , 都是上下之分 , 越處于上方的規(guī)則它的優(yōu)先執(zhí)行權(quán)就越高 。所以這里我們必須把:

推薦閱讀