溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何讓在Linux 下使用TCP封裝器來加強網(wǎng)絡服務安全

發(fā)布時間:2022-01-25 09:25:18 來源:億速云 閱讀:137 作者:kk 欄目:開發(fā)技術

今天就跟大家聊聊有關如何讓在Linux 下使用TCP封裝器來加強網(wǎng)絡服務安全,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

下面和大家分析一下什么是 TCP 封裝器TCP wrappers以及如何在一臺 Linux 服務器上配置他們來限制網(wǎng)絡服務的權限。在開始之前,我們必須澄清 TCP 封裝器并不能消除對于正確配置防火墻的需要。

就這一點而言,你可以把這個工具看作是一個基于主機的訪問控制列表,而且并不能作為你的系統(tǒng)的終極安全措施。通過使用一個防火墻和 TCP 封裝器,而不是只偏愛其中的一個,你將會確保你的服務不會被出現(xiàn)單點故障。

正確理解 hosts.allow 和 hosts.deny 文件

當一個網(wǎng)絡請求到達你的主機的時候,TCP 封裝器會使用 hosts.allow 和 hosts.deny (按照這樣的順序)來決定客戶端是否應該被允許使用一個提供的服務。.

在默認情況下,這些文件內(nèi)容是空的,或者被注釋掉,或者根本不存在。所以,任何請求都會被允許通過 TCP 過濾器而且你的系統(tǒng)被置于依靠防火墻來提供所有的保護。因為這并不是我們想要的。由于在一開始我們就介紹過的原因,清確保下面兩個文件都存在:

  1. # ls -/etc/hosts.allow /etc/hosts.deny

兩個文件的編寫語法規(guī)則是一樣的:

  1.  :  [:  :  : ...]

在文件中,

  1. services 指當前規(guī)則對應的服務,是一個逗號分割的列表。

  2. clients 指被規(guī)則影響的主機名或者 IP 地址,逗號分割的。下面的通配符也可以接受:

    1. ALL 表示所有事物,應用于clients和services。

    2. LOCAL 表示匹配在正式域名中沒有完全限定主機名(FQDN)的機器,例如 localhost。

    3. KNOWN 表示主機名,主機地址,或者用戶是已知的(即可以通過 DNS 或其它服務解析到)。

    4. UNKNOWN 和 KNOWN 相反。

    5. PARANOID 如果進行反向 DNS 查找彼此返回了不同的地址,那么連接就會被斷開(首先根據(jù) IP 去解析主機名,然后根據(jù)主機名去獲得 IP 地址)。

  3. 最后,一個冒號分割的動作列表表示了當一個規(guī)則被觸發(fā)的時候會采取什么操作。

你應該記住 /etc/hosts.allow 文件中允許一個服務接入的規(guī)則要優(yōu)先于 /etc/hosts.deny 中的規(guī)則。另外還有,如果兩個規(guī)則應用于同一個服務,只有第一個規(guī)則會被納入考慮。

不幸的是,不是所有的網(wǎng)絡服務都支持 TCP 過濾器,為了查看一個給定的服務是否支持他們,可以執(zhí)行以下命令:

  1. # ldd /path/to/binary | grep libwrap

如果以上命令執(zhí)行以后得到了以下結果,那么它就可以支持 TCP 過濾器,sshd 和 vsftpd 作為例子,輸出如下所示。

如何讓在Linux 下使用TCP封裝器來加強網(wǎng)絡服務安全

查找 TCP 過濾器支持的服務

如何使用 TCP 過濾器來限制服務的權限

當你編輯 /etc/hosts.allow 和 /etc/hosts.deny 的時候,確保你在最后一個非空行后面通過回車鍵來添加一個新的行。

為了使得 SSH 和 FTP 服務只允許 localhost 和 192.168.0.102 并且拒絕所有其他用戶,在 /etc/hosts.deny 添加如下內(nèi)容:

  1. sshd,vsftpd : ALL

  2. ALL : ALL

而且在 /etc/hosts.allow 文件中添加如下內(nèi)容:

  1. sshd,vsftpd : 192.168.0.102,LOCAL

這些更改會立刻生效并且不需要重新啟動。

在下圖中你會看到,在最后一行中刪掉 LOCAL 后,F(xiàn)TP 服務器會對于 localhost 不可用。在我們添加了通配符以后,服務又變得可用了。

如何讓在Linux 下使用TCP封裝器來加強網(wǎng)絡服務安全

確認 FTP 權限

為了允許所有服務對于主機名中含有 example.com 都可用,在 hosts.allow 中添加如下一行:

  1. ALL : .example.com

而為了禁止 10.0.1.0/24 的機器訪問 vsftpd 服務,在 hosts.deny 文件中添加如下一行:

  1. vsftpd : 10.0.1.

在最后的兩個例子中,注意到客戶端列表每行開頭和結尾的。這是用來表示 “所有名字或者 IP 中含有那個字符串的主機或客戶端”。

Linux有哪些版本

Linux的版本有:Deepin、UbuntuKylin、Manjaro、LinuxMint、Ubuntu等版本。其中Deepin是國內(nèi)發(fā)展最好的Linux發(fā)行版之一;UbuntuKylin是基于Ubuntu的衍生發(fā)行版;Manjaro是基于Arch的Linux發(fā)行版;LinuxMint默認的Cinnamon桌面類似Windows XP簡單易用;Ubuntu則是以桌面應用為主的Linux操作系統(tǒng)。

看完上述內(nèi)容,你們對如何讓在Linux 下使用TCP封裝器來加強網(wǎng)絡服務安全有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI