linux小白學習之路 Tcp wrappers

2021-10-02 21:48:59 字數 2336 閱讀 2458

配置檔案:

檔案理解意義

/etc/hosts.allow

可以理解為**的白名單,只要在名單上的都可以通過

/etc/hosts.deny

可以理解為**的黑名單,只要在名單上的都拒絕服務

2.2 配置規則說明

語法規則

daemon_list : client_list [

: shell_command ]

daemon_list

單個應用程式的二進位制檔名,而不是服務名,如果有多個,用逗號或空格分隔。

如:sshd

可以繫結服務位址,如,[email protected]:all

支援萬用字元

client_list

客戶端列表

 基於主機名:www.hunk.tech .hunk.tech較少用

 基於網路/掩碼:192.168.0.0/255.255.255.0

 基於net/prefixlen: 192.168.1.0/24(僅centos7)

 基於網路組(nis 域):@mynetwork

 內建acl:

all 所有(程序或者主機)

local 名稱中不帶點的主機

known 可以解析的主機名

unknown 無法解析的主機名

paranoid 正、反向查詢不匹配或無法解析

支援萬用字元

shell_command

執行指令

如:sshd:all:spawn echo

"`date +%%f-%%t`

from %a pid=%p to %s"

except是排除的意思,一行規則裡可以有多個,後面的是對前面的結果集進行排除。

vsftpd:172.16. except 172.16.100.0/24 except 172.16.100.1

匹配整個172.16網段,但是把172.16.100的網段排除,在排除172.16.100網段中又把172.16.100.1的ip給排除。

spawn 啟動乙個外部程式完成執行的操作,可以支援內建變數。內建變數請man ,找%的選項

%a (%a) 客戶端ip

%c 客戶端資訊,可以是ip或主機名(如果能解析)

%p 伺服器程序資訊 (pid)

%s 連線的服務端的資訊

%% 當規則中包含%時,使用雙%轉義

twist 特殊擴充套件

以指定的命令執行,執行後立即結束該連線。需在spawn之後使用。

2.3 實驗使用

2.2.1 實驗環境搭建

三颱測試機需要可以互相聯網通訊。

配置:在伺服器192.168.1.105中使用vim開啟檔案/etc/hosts.allow檔案。加入如下**

[email protected]:all:spawn echo

"`date +%%ff %%t`

from %a to %s"

實驗二:僅僅允許192.168.1.109登陸,禁止其他裝置登陸,並給禁用使用者發出提示「禁止連線」

三、生產場景中的應用

在實際生產中,通常都是不允許直接連線伺服器,伺服器通常會指定乙個或乙個網段的裝置可以登陸。通常指定的是同一區域網中的裝置。如下圖

伺服器(伺服器1、伺服器2)是不會接受外部網路的ssh服務的,它們只會接受內部網路的訪問(堡壘機或跳板機)。其中堡壘機會接受遠端的ssh訪問。運維人員通常都是先登陸堡壘機,然後通過堡壘機登陸伺服器,對伺服器進行管理。

這樣做的原因

我們當前的網路環境,網上安全問題越來越嚴峻,很有可能你的伺服器就正在被其他人在暴力破解,因為需要遠端連線伺服器,所以最有可能收到的就是ssh暴力破解。

我們可以使用命令lastb

lastb的作用是:列出登陸系統失敗的全部使用者資訊。它會呼叫/var/log/btmp檔案,該檔案中記錄了所有登陸失敗的使用者資訊,如下圖

當該命令顯示出的一系列的錯誤時,很有可能您的伺服器正在被不斷的攻擊中。

我們需要做的就是

1)更改sshd的埠

2)禁用所有對外的sshd服務,使用內網訪問,

3)使用shell指令碼,解析btmp日誌,把同一ip多次登陸失敗(notty)的。把它的ip位址寫入/etc/hosts.deny中拒絕對它的服務。然後把指令碼加入定時任務中,做不間斷的檢查。

後面會學到

通訊小白學習之路

分層小區的無線資源管理 因為使用者和業務分布的不均勻我們在熱點地區架設微基站,在乙個巨集基站的範圍內可以分布多個微基站,巨集蜂窩用來維持基本的通訊需求但可能資料傳輸的速率不高但可以支援較快的移動速率,這就使得在使用微基站來滿足熱點地區較快的資料速率的同時減小切換的頻率,能夠保證穩定的通訊質量。簡單來...

Android小白學習之路

剛實習的安卓小白乙隻。以這樣的方式記錄下每天的收穫,努力前行。今天是學習安卓的第五天。這幾天主要看了android的四大元件中的兩個service和activity。activity代表了乙個螢幕,當使用者選擇了另乙個activity的時候,當前的就會被放入到 棧中 遵循先進後出。每建立乙個acti...

Python小白學習之路

類與物件 python的成員函式在,預設有乙個self引數,這是類的成員函式與普通函式的主要區別,self,位於引數列表的開頭,self也代表類的例項 物件 自身,可以使用self引用類中的屬性和成員函式。在類的成員函式中訪問例項屬性需要以self為字首。建構函式 init 類例項化就自動呼叫此建構...