久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

TCP_Wrappers

 cjwid 2011-12-01

TCP_Wrappers
 TCP_Wrappers
事實(shí)上,除了使用 xinetd 的設(shè)定檔來設(shè)定安全機(jī)制之外, 我們還可以利用額外的機(jī)制來抵擋某些不受歡迎的資料來源喔,! 那就是 /etc/hosts.allow 以及 /etc/hosts.deny 這兩個(gè)檔案的功能啦! 這兩個(gè)檔案可以藉由分析:

    * 啟動(dòng)的服務(wù)名稱 (daemon 執(zhí)行檔檔名),;
    * 用戶端的 IP 來源或網(wǎng)段來源,。

來進(jìn)行用戶端使用者是否能夠登入的判斷呢!不過,,雖然這兩個(gè)檔案已經(jīng)被整合到 xinetd 里面去了,, 不過,要獲得更多的功能,,還是得要安裝 tcp_wrappers 這個(gè)套件才行,! 因?yàn)椋@兩個(gè)檔案本身就是 tcp_wrappers ( 其實(shí)是 /usr/sbin/tcpd 那個(gè)檔案而已啦,! ) 的設(shè)定檔?。?而他也可以整合到整個(gè)系統(tǒng)的服務(wù)里頭去,,可以算是最最基礎(chǔ)的一個(gè)防火墻架構(gòu)啦,! ^_^

其實(shí), /etc/hosts.allow 與 /etc/hosts.deny 是 /usr/sbin/tcpd 的設(shè)定檔,, 而這個(gè) /usr/bin/tcpd 則是用來分析進(jìn)入系統(tǒng)的 TCP 封包的一個(gè)軟體,,他是由 TCP Wrappers 所提供的。 那為什么叫做 TCP_Wrappers 呢,?那么 wrappers 有包裹的意思,,所以說,,這個(gè)套件本身的功能就是在分析 TCP 網(wǎng)路資料封包啦!那么剛剛我們稍微提到我們網(wǎng)路的封包資料主要是以 TCP 封包為主,,這個(gè) TCP 封包的檔頭至少記錄了來源與目主機(jī)的 IP 與 port ,,因此,若藉由分析 TCP 封包,,就可以比對(duì)看我要不要讓這個(gè)資料進(jìn)入到主機(jī)里面來啰,!所以啦,我們要使用 TCP_Wrappers 來控管的,,就是:

   1. 來源 IP
   2. port (就是服務(wù)啦)

TCP_Wrappers 設(shè)定 TCP 封包是否可以進(jìn)入的設(shè)定檔在 /etc/hosts.allow 與 /etc/hosts.deny 當(dāng)中,。因此,基本上,,如果一個(gè)服務(wù)是受到 xinetd 或 TCP_Wrappers 的控制時(shí),,那么該服務(wù)就會(huì)受限于 hosts.allow 與 hosts.deny 的管理了!而如果你自己安裝的套件當(dāng)中( 亦即使用 Tarball 安裝的方式之套件 ),,除非有自行定義支援 TCP_Wrappers 的功能 ,,否則就無法使用這個(gè)玩意啰!嘿嘿,!

那么這兩個(gè)檔案是干嘛用的,?剛剛不是提過哪!他主要是用來規(guī)范 TCP 封包的規(guī)則的,,所以呢,, 里面記錄的當(dāng)然就是:‘某些 IP 在特定服務(wù)中是否能夠進(jìn)入主機(jī)’!那么要怎么寫,? 這兩個(gè)檔案的內(nèi)容基本的語法是:

<service(program_name)> : <IP, domain, hostname> : <action>

所以我們要先找出來那個(gè) service_name 才行,,例如以我們剛剛的 telnet 為例,那個(gè) service_name 是什么呢,?其實(shí)指的就是在 xinetd.conf 設(shè)定檔中的 server 這個(gè)設(shè)定后面接的程式名稱啦,!所以, telnet 在 FC4 底下的名稱為 in.telnetd 因此,,如果你不想讓 140.116.44.202 這個(gè)位址及 140.116.32.0/255.255.255.0 這個(gè) C class 的網(wǎng)域進(jìn)入你的主機(jī)的話,,那么可以這樣在 /etc/hosts.deny 里面設(shè)定: ( 關(guān)于 IP, 網(wǎng)域, 網(wǎng)段, 還有相關(guān)的網(wǎng)路知識(shí),在這個(gè)基礎(chǔ)篇當(dāng)中我們不會(huì)談到,, 詳細(xì)的資料請(qǐng)先自行參考伺服器架設(shè)篇的內(nèi)容,! )

[root@linux ~]# vi /etc/hosts.deny
in.telnetd : 140.116.44.202 140.116.32.0/255.255.255.0 : deny

當(dāng)然也可以寫成兩行,亦即是:

[root@linux ~]# vi /etc/hosts.deny
in.telnetd : 140.116.44.202             : deny
in.telnetd : 140.116.32.0/255.255.255.0 : deny

這樣一來,,對(duì)方就無法以 telnet 進(jìn)入你的主機(jī)啦,!方便吧!不過,既然如此,,為什么要設(shè)定成 /etc/hosts.allow 及 /etc/hosts.deny 兩個(gè)檔案呢,?其實(shí)只要有一個(gè)檔案存在就夠了, 不過,,為了設(shè)定方便起見,,我們存在兩個(gè)檔案,其中需要注意的是:

    * 寫在 hosts.allow 當(dāng)中的 IP 與網(wǎng)段,,為預(yù)設(shè)‘可通行’的意思,,亦即最后一個(gè)欄位 allow 可以不用寫;
    * 而寫在 hosts.deny 當(dāng)中的 IP 與網(wǎng)段則預(yù)設(shè)為 deny ,,第三欄的 deny 亦可省略,;
    * 這兩個(gè)檔案的判斷依據(jù)是: (1) 以 /etc/hosts.allow 為優(yōu)先,而 (2) 若分析到的 IP 或網(wǎng)段并沒有紀(jì)錄在 /etc/hosts.allow ,,則以 /etc/hosts.deny 來判斷,。

也就是說, /etc/hosts.allow 的設(shè)定優(yōu)先于 /etc/hosts.deny 啰,!瞭解了嗎,?基本上,只要 hosts.allow 也就夠了,,因?yàn)槲覀兛梢詫?allow 與 deny 都寫在同一個(gè)檔案內(nèi),, 只是這樣一來似乎顯得有點(diǎn)雜亂無章,因此,,通常我們都是:

   1. 允許進(jìn)入的寫在 /etc/hosts.allow 當(dāng)中;
   2. 不許進(jìn)入的則寫在 /etc/hosts.deny 當(dāng)中,。

此外,,我們還可以使用一些特殊參數(shù)在第一及第二個(gè)欄位喔!內(nèi)容有:

    * ALL:代表全部的 program_name 或者是 IP 都接受的意思,,例如 ALL: ALL: deny
    * LOCAL:代表來自本機(jī)的意思,,例如: ALL: LOCAL: allow
    * UNKNOWN:代表不知道的 IP 或者是 domain 或者是服務(wù)時(shí);
    * KNOWN:代表為可解析的 IP, domain 等等資訊時(shí),;

再強(qiáng)調(diào)一次,,那個(gè) service_name 其實(shí)是啟動(dòng)該服務(wù)的程式,舉例來說,, /etc/init.d/ssh 這個(gè) script 里面,, 實(shí)際上啟動(dòng) ssh 服務(wù)的是 sshd 這個(gè)程式,所以,,你的 service_name 自然就是 sshd 啰,! 而 /etc/xinetd.d/telnet 內(nèi)有個(gè) server 的設(shè)定項(xiàng)目, 那個(gè)項(xiàng)目指到 in.telnetd 這個(gè)程式來啟動(dòng)的喔,!要注意的很,!(請(qǐng)分別使用 vi 進(jìn)這兩支 scripts 查閱) 好了,,我們還是以 telnet 為例子來說明好了,現(xiàn)在假設(shè)一個(gè)比較安全的流程來設(shè)定,,就是:

   1. 只允許 140.116.44.0/255.255.255.0 與 140.116.79.0/255.255.255.0 這兩個(gè)網(wǎng)域,,及 140.116.141.99 這個(gè)主機(jī)可以進(jìn)入我們的 telnet 伺服器;
   2. 此外,,其他的 IP 全部都擋掉,!

這樣的話,我可以這樣設(shè)定:

[root@linux ~]# vi /etc/hosts.allow
in.telnetd:  140.116.44.0/255.255.255.0
in.telnetd:  140.116.79.0/255.255.255.0
in.telnetd:  140.116.141.99
in.telnetd:  LOCAL

[root@linux ~]# vi /etc/hosts.deny
in.telnetd: ALL

那么有沒有更安全的設(shè)定,,例如,,當(dāng)當(dāng)有其他人掃瞄我的 telnet port 時(shí),我就將他的 IP 記??!以做為未來的查詢與認(rèn)證之用! 是有的,!只是,,那就得要有額外的動(dòng)作參數(shù)加在第三欄了。主要的動(dòng)作有:

    * spawn (action)
      可以利用后續(xù)接的 shell 來進(jìn)行額外的工作,,且具有變數(shù)功能,,主要的變數(shù)內(nèi)容為: %h (hostname), %a (address), %d (daemon)等等;

    * twist (action)
      立刻以后續(xù)的指令進(jìn)行,,且執(zhí)行完后終止該次連線的要求 (DENY)

我們知道 finger 可以反向追蹤網(wǎng)路封包的來源,,所以,我希望這樣:

   1. 利用 safe_finger 去追蹤出對(duì)方主機(jī)的資訊,;
   2. 將該追蹤到的結(jié)果以 email 的方式寄給 root ,;
   3. 在對(duì)方螢?zāi)簧厦骘@示不可登入的訊息

此時(shí)可以利用 spwan (action1) | (action2) : twist (action3) 來進(jìn)行, 也就是說,,其實(shí)在 /etc/hosts.deny 的第三個(gè)欄位可以繼續(xù)延伸下去的,!整個(gè)資訊有如這樣:

[root@linux ~]# vi /etc/hosts.deny
in.telnetd: ALL: spawn (echo "security notice from host `/bin/hostname`" ;\
    echo; /usr/sbin/safe_finger @%h ) | \
    /bin/mail -s "%d-%h security" root & \
    : twist ( /bin/echo -e "\n\nWARNING connection not allowed.\n\n" )

在上面的例子中,第三行的 root 那個(gè)賬號(hào),,可以寫成你的個(gè)人賬號(hào)或者其他 e-mail ,,以免很少以 root 身份登入 Linux 主機(jī)時(shí),容易造成不知道的情況,,另外,,最后幾行,亦即 :twist 之后的那幾行為同一行,。如此一來,,當(dāng)未經(jīng)允許的電腦嘗試登入你的主機(jī)時(shí), 對(duì)方的螢?zāi)簧暇蜁?huì)顯示上面的最后一行,并且將他的 IP 寄到 root ( 或者是你自己的信箱 )那里去,! 另外請(qǐng)注意,,那個(gè) /usr/sbin/safe_finger 是由 tcp_wrappers 套件所提供的, 所以您必須要安裝該套件才行喔,! ^_^ 

文章出處:飛諾網(wǎng)(www.):http://www./course/6_system/linux/Linuxjs/20090307/159060.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多