国产精品黄色网址_欧美性爱视频日韩国产_在线成人一级亚洲_伊人久久大香线蕉综合直播_美女午夜写真福利视频_中文字幕在线免费观看网址_一级黄片中文字幕无码专区_视频一区精品自拍_亚洲亚洲日本免费_黄色日本网站免费

證券簡稱:天融信 證券代碼:002212
全天候7x24小時(shí)服務(wù): 400-777-0777

安全運(yùn)營—檢測與防護(hù)能力—通過Port Knocking隱藏SSH服務(wù)器

在網(wǎng)絡(luò)安全演練、攻擊案例中,攻擊方通過信息收集獲取目標(biāo)可用的信息,將各攻擊點(diǎn)連接匯成攻擊面,攻擊面越廣意味著發(fā)現(xiàn)潛在漏洞的可能性越大,攻擊成功的概率也就越高。因此,通過安全方案最小化暴露面可以有效減少信息系統(tǒng)遭受入侵的概率。

安全運(yùn)營—檢測與防護(hù)能力—通過Port Knocking隱藏SSH服務(wù)器

發(fā)布時(shí)間:2022-10-28
瀏覽次數(shù):3078
分享:

01 簡介

在網(wǎng)絡(luò)安全演練、攻擊案例中,攻擊方通過信息收集獲取目標(biāo)可用的信息,將各攻擊點(diǎn)連接匯成攻擊面,攻擊面越廣意味著發(fā)現(xiàn)潛在漏洞的可能性越大,攻擊成功的概率也就越高。因此,通過安全方案最小化暴露面可以有效減少信息系統(tǒng)遭受入侵的概率。本文主要探討攻擊面收斂中通過Port Knocking手段隱藏SSH服務(wù)器的方法,使公共網(wǎng)絡(luò)上的攻擊者更難發(fā)現(xiàn)該服務(wù)器,達(dá)到收斂暴露面,降低安全風(fēng)險(xiǎn)的目的。

02 更改默認(rèn) SSH 端口

隱藏 SSH 服務(wù)器的第一步是更改默認(rèn) SSH 端口。在本文演示案例中SHH端口號設(shè)置為60636,實(shí)際操作中可以使用任意自定義端口號。打開終端并使用以下命令通過 SSH 連接到服務(wù)器:

$ ssh -i path-to-identity-file username@SERVER_IP

在服務(wù)器上使用vi終端中的命令或任何文本編輯器打開 SSH 配置文件:

$ vi /etc/ssh/sshd_config

現(xiàn)在將默認(rèn)端口22更新為60636。

操作完成后重新啟動(dòng) SSH 服務(wù)器守護(hù)程序,以便將更新應(yīng)用于新的傳入的所有SSH連接。

$ systemctl restart sshd.service

SSH服務(wù)器現(xiàn)在將接受并連接端口60636,操作命令如下:

$ ssh -i path-to-identity-file username@SERVER_IP -p 60636

需要注意的是,如果該服務(wù)器上配置了防火墻,還應(yīng)該同步更新防火墻規(guī)則,允許端口上的 SSH 60636連接,阻止SSH 22連接。

03 使用knockd實(shí)現(xiàn)端口碰撞

端口碰撞是一種在一組預(yù)先指定的關(guān)閉端口上產(chǎn)生連接請求,從外部打開防火墻上的端口的方法。一旦收到正確的連接請求序列,防火墻規(guī)則就會被動(dòng)態(tài)修改,允許發(fā)送連接請求的主機(jī)通過特定端口進(jìn)行連接。端口碰撞的主要目的是防止攻擊者通過端口掃描來掃描系統(tǒng)中潛在的可利用服務(wù),除非攻擊者發(fā)送正確的碰撞序列,否則受保護(hù)的端口將顯示為關(guān)閉。

3.1 安裝和配置 knockd

為了實(shí)現(xiàn)端口碰撞,首先要在Linux服務(wù)器上安裝knockd。運(yùn)行以下命令進(jìn)行安裝:

$ sudo apt-get install knockd

接下來打開knockd位于/etc/knockd.conf的配置文件:

在配置文件中了解一下默認(rèn)配置值包含的信息:

●sequence是一組端口號,被視為碰撞序列。

●seq_timeout定義序列的有效期。

●command包含iptables添加規(guī)則以允許來自指定 IP 地址的傳入 SSH 連接的命令。僅當(dāng)用戶啟動(dòng)有效的碰撞序列時(shí)才會執(zhí)行此命令。

●tcpflags定義碰撞連接中要接受的 TCP 數(shù)據(jù)包類型。SYN在這種情況下分配了一個(gè)TCP類型的數(shù)據(jù)包。

[openSSH]塊和[closeSSH]塊之間的主要區(qū)別在于[closeSSH]塊具有端口號的關(guān)閉序列和iptables刪除插入[openSSH]塊中的規(guī)則的命令。

下面是參考的最終配置文件。注意,因?yàn)槟J(rèn)值 ( 7000, 8000, 9000) 眾所周知,所以現(xiàn)已將開放序列值更改為20001, 20002,20003。同樣也更新了默認(rèn)的關(guān)閉順序。除此之外還將端口更改為22,60636,因?yàn)橐呀?jīng)在上一步中將 SSH 端口更新為此值。另外注意,在該[openSSH]塊中,iptables命令值從更改-A為-I,表示此iptables規(guī)則將打開端口并將成為第一個(gè)執(zhí)行的規(guī)則。最后將超時(shí)值從5增加到10,因?yàn)?5 秒是在碰撞序列后立即啟動(dòng) SSH 連接的一個(gè)小窗口。

完成全部操作后保存更改并退出文件。

3.2 配置 knockd 偵聽特定網(wǎng)絡(luò)接口

knockd監(jiān)聽的網(wǎng)絡(luò)接口的名稱需要指定。在這里使用ip addr命令來檢查與服務(wù)器關(guān)聯(lián)的網(wǎng)絡(luò)接口列表,并選擇想要knockd監(jiān)聽的接口名稱。

這種情況下,eth0是綁定到公共 IP 地址的接口。所以用這個(gè)接口來配置knockd。接下來,編輯knockd配置文件。

保存更改并退出文件,立即啟動(dòng)knockd服務(wù):

$ systemctl start knockd

啟用knockd服務(wù),以便在下次啟動(dòng)服務(wù)器時(shí)同步啟動(dòng)該服務(wù)。

$ systemctl enable knockd

3.3 在防火墻上阻止端口 60636

為了實(shí)現(xiàn)60636動(dòng)態(tài)打開knockd端口的目的,默認(rèn)情況下將阻止對該端口的訪問,使用iptables命令來執(zhí)行此操作。執(zhí)行以下命令就不會破壞當(dāng)前的活動(dòng)連接:

$ sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

接下來執(zhí)行命令,以默認(rèn)iptables阻止端口上的所有傳入 SSH 連接60636:

$ sudo iptables -A INPUT -p tcp --dport 60636 -j REJECT

現(xiàn)在嘗試再次連接到 SSH 服務(wù)器,應(yīng)該會收到“Connection refused”響應(yīng):

$ ssh -i path-to-identity-file username@SERVER_IP -p 60636ssh: connect to host SERVER_IP port 60636: Connection refused

Linux 服務(wù)器現(xiàn)在配置了knockd,并且 SSH 端口將只開放給可以成功呈現(xiàn)敲擊序列的特定 IP。

04 連接 SSH 服務(wù)器

目前已經(jīng)更改了默認(rèn)的 SSH 端口,實(shí)現(xiàn)了只有提供正確的碰撞序列時(shí)才打開端口60636的功能,接下來測試一下。

由于已經(jīng)配置knockd監(jiān)聽TCP SYN端口上的數(shù)據(jù)包20001,20002且20003作為碰撞序列,現(xiàn)在可以使用任意允許啟動(dòng)到這些特定端口的 TCP 連接工具,下面演示具體操作步驟。

4.1 使用碰撞

首先,在客戶端計(jì)算機(jī)中安裝knockd。

$ sudo apt-get install knockd

使用如下knock命令執(zhí)行碰撞序列:

現(xiàn)在可以通過SSH訪問連接 Linux 服務(wù)器:

$ ssh -i path-to-identity-file username@SERVER_IP -p 60636

...

完成 SSH 訪問后可以啟動(dòng)關(guān)閉序列,如下所示:

$ knock -v SERVER_IP 20003 20002 20001 -d 500

可以查看knockd登錄syslog瀏覽具體信息:

4.2 使用遠(yuǎn)程登錄

使用以下命令啟動(dòng)敲擊序列telnet:

收到“Connection refused”消息并連接失敗,但沒關(guān)系,因?yàn)樵摱丝谏辖昧?telnet,我們只想發(fā)送在 telnet 連接期間發(fā)送的 TCP SYN 數(shù)據(jù)包。完成所有三個(gè)序列的 telnet 命令后即可通過 SSH 連接到服務(wù)器。

05 參考鏈接

https://goteleport.com/blog/ssh-port-knocking/

https://www.howtoing.com/how-to-use-port-knocking-to-hide-the-ssh-port-from-attackers-on-ubuntu

關(guān)鍵詞標(biāo)簽:
安全運(yùn)營 檢測與防護(hù)能力 網(wǎng)絡(luò)安全演練 Port Knocking隱藏SSH服務(wù)器
客戶服務(wù)熱線

400-777-0777
7*24小時(shí)服務(wù)

聯(lián)系郵箱

servicing@topsec.com.cn

掃碼關(guān)注