亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦安全 > 防火墻知識 >

      使用ssh訪問防火墻后的Linux服務(wù)器的方法是什么

      時間: 加城1195 分享

        防火墻借由監(jiān)測所有的封包并找出不符規(guī)則的內(nèi)容,可以防范電腦蠕蟲或是木馬程序的快速蔓延。這篇文章主要介紹了使用ssh訪問防火墻后的Linux服務(wù)器的方法, 即在Linux上設(shè)置反向 ssh隧道的相關(guān)方法,需要的朋友可以參考下

        使用ssh工具訪問Linux服務(wù)器的基本方法

        第一步,開啟工作站上防火墻的相應(yīng)端口,SSH是22。

        第二步,開啟SSH服務(wù)。

        先查看ssh的狀態(tài)。

        復(fù)制代碼代碼如下:

        service sshd status

        開啟服務(wù),

        復(fù)制代碼代碼如下:

        service sshd start

        當(dāng)然也可以關(guān)閉了,

        復(fù)制代碼代碼如下:

        service sshd stop

        重啟服務(wù),

        復(fù)制代碼代碼如下:

        sshd restart

        第三步,修改配置文件,/etc/ssh/sshd_config

        打開這個文件,在最后的地方AllowUsers,添加用戶名,多個就用空格隔開,當(dāng)然也可以添加root。如果想禁用root 登錄也可以,這里不添加。同時可以在這個文件中找到一個語句: Permitrootlogin yes。將yes改為no就可以了。

        第四步,設(shè)置ssh隨機(jī)啟動

        復(fù)制代碼代碼如下:

        chkconfig --level xxxx sshd on //xxxx表示你要的等級(應(yīng)該這么說吧),例如2345等

        第五步,遠(yuǎn)程登錄

        復(fù)制代碼代碼如下:

        ssh usrname@hostname //hostname或者Ip

        然后就是要你輸入密碼了。登錄后,也可以更改用戶(su 命令)。如何希望有圖形,也不是不可以,在登錄的時候加上 -X (大寫的X):ssh -X usrname@hostname。

        這樣勉強可以吧,也有圖形界面了,就是反映比較慢,應(yīng)急可以。

        通過反向 SSH 隧道訪問 NAT 后面的 Linux 服務(wù)器

        什么是反向 SSH 隧道?

        SSH 端口轉(zhuǎn)發(fā)的一種替代方案是 反向 SSH 隧道。反向 SSH 隧道的概念非常簡單。使用這種方案,在你的受限的家庭網(wǎng)絡(luò)之外你需要另一臺主機(jī)(所謂的“中繼主機(jī)”),你能從當(dāng)前所在地通過 SSH 登錄到它。你可以用有公網(wǎng) IP 地址的 VPS 實例 配置一個中繼主機(jī)。然后要做的就是從你的家庭網(wǎng)絡(luò)服務(wù)器中建立一個到公網(wǎng)中繼主機(jī)的永久 SSH 隧道。有了這個隧道,你就可以從中繼主機(jī)中連接“回”家庭服務(wù)器(這就是為什么稱之為 “反向” 隧道)。不管你在哪里、你的家庭網(wǎng)絡(luò)中的 NAT 或 防火墻限制多么嚴(yán)格,只要你可以訪問中繼主機(jī),你就可以連接到家庭服務(wù)器。

        在 Linux 上設(shè)置反向 SSH 隧道

        讓我們來看看怎樣創(chuàng)建和使用反向 SSH 隧道。我們做如下假設(shè):我們會設(shè)置一個從家庭服務(wù)器(homeserver)到中繼服務(wù)器(relayserver)的反向 SSH 隧道,然后我們可以通過中繼服務(wù)器從客戶端計算機(jī)(clientcomputer) SSH 登錄到家庭服務(wù)器。本例中的中繼服務(wù)器 的公網(wǎng) IP 地址是 1.1.1.1。

        在家庭服務(wù)器上,按照以下方式打開一個到中繼服務(wù)器的 SSH 連接。

        復(fù)制代碼代碼如下:

        homeserver~$ ssh -fN -R 10022:localhost:22 relayserver_user@1.1.1.1

        這里端口 10022 是任何你可以使用的端口數(shù)字。只需要確保中繼服務(wù)器上不會有其它程序使用這個端口。

        “-R 10022:localhost:22” 選項定義了一個反向隧道。它轉(zhuǎn)發(fā)中繼服務(wù)器 10022 端口的流量到家庭服務(wù)器的 22 號端口。

        用 “-fN” 選項,當(dāng)你成功通過 SSH 服務(wù)器驗證時 SSH 會進(jìn)入后臺運行。當(dāng)你不想在遠(yuǎn)程 SSH 服務(wù)器執(zhí)行任何命令,就像我們的例子中只想轉(zhuǎn)發(fā)端口的時候非常有用。

        運行上面的命令之后,你就會回到家庭主機(jī)的命令行提示框中。

        登錄到中繼服務(wù)器,確認(rèn)其 127.0.0.1:10022 綁定到了 sshd。如果是的話就表示已經(jīng)正確設(shè)置了反向隧道。

        復(fù)制代碼代碼如下:

        relayserver~$ sudo netstat -nap | grep 10022

        復(fù)制代碼代碼如下:

        tcp 0 0 127.0.0.1:10022 0.0.0.0:* LISTEN 8493/sshd

        現(xiàn)在就可以從任何其它計算機(jī)(客戶端計算機(jī))登錄到中繼服務(wù)器,然后按照下面的方法訪問家庭服務(wù)器。

        復(fù)制代碼代碼如下:

        relayserver~$ ssh -p 10022 homeserver_user@localhost

        需要注意的一點是你在上面為localhost輸入的 SSH 登錄/密碼應(yīng)該是家庭服務(wù)器的,而不是中繼服務(wù)器的,因為你是通過隧道的本地端點登錄到家庭服務(wù)器,因此不要錯誤輸入中繼服務(wù)器的登錄/密碼。成功登錄后,你就在家庭服務(wù)器上了。

        通過反向SSH 隧道直接連接到網(wǎng)絡(luò)地址變換后的服務(wù)器

        上面的方法允許你訪問 NAT 后面的 家庭服務(wù)器,但你需要登錄兩次:首先登錄到 中繼服務(wù)器,然后再登錄到家庭服務(wù)器。這是因為中繼服務(wù)器上 SSH 隧道的端點綁定到了回環(huán)地址(127.0.0.1)。

        事實上,有一種方法可以只需要登錄到中繼服務(wù)器就能直接訪問NAT之后的家庭服務(wù)器。要做到這點,你需要讓中繼服務(wù)器上的 sshd 不僅轉(zhuǎn)發(fā)回環(huán)地址上的端口,還要轉(zhuǎn)發(fā)外部主機(jī)的端口。這通過指定中繼服務(wù)器上運行的 sshd 的 GatewayPorts 實現(xiàn)。

        打開中繼服務(wù)器的 /etc/ssh/sshd_conf 并添加下面的行。

        復(fù)制代碼代碼如下:

        relayserver~$ vi /etc/ssh/sshd_conf

        GatewayPorts clientspecified

        重啟 sshd。

        基于 Debian 的系統(tǒng):

        復(fù)制代碼代碼如下:

        relayserver~$ sudo /etc/init.d/ssh restart

        基于紅帽的系統(tǒng):

        復(fù)制代碼代碼如下:

        relayserver~$ sudo systemctl restart sshd

        現(xiàn)在在家庭服務(wù)器中按照下面方式初始化一個反向 SSH 隧道。

        復(fù)制代碼代碼如下:

        homeserver~$ ssh -fN -R 1.1.1.1:10022:localhost:22 relayserver_user@1.1.1.1

        登錄到中繼服務(wù)器然后用 netstat 命令確認(rèn)成功建立的一個反向 SSH 隧道。

        復(fù)制代碼代碼如下:

        relayserver~$ sudo netstat -nap | grep 10022

        復(fù)制代碼代碼如下:

        tcp 0 0 1.1.1.1:10022 0.0.0.0:* LISTEN 1538/sshd: dev

        不像之前的情況,現(xiàn)在隧道的端點是 1.1.1.1:10022(中繼服務(wù)器的公網(wǎng) IP 地址),而不是 127.0.0.1:10022。這就意味著從外部主機(jī)可以訪問隧道的另一端。

        現(xiàn)在在任何其它計算機(jī)(客戶端計算機(jī)),輸入以下命令訪問網(wǎng)絡(luò)地址變換之后的家庭服務(wù)器。

        復(fù)制代碼代碼如下:

        clientcomputer~$ ssh -p 10022 homeserver_user@1.1.1.1

        在上面的命令中,1.1.1.1 是中繼服務(wù)器的公共 IP 地址,homeserver_user必須是家庭服務(wù)器上的用戶賬戶。這是因為你真正登錄到的主機(jī)是家庭服務(wù)器,而不是中繼服務(wù)器。后者只是中繼你的 SSH 流量到家庭服務(wù)器。

        在 Linux 上設(shè)置一個永久反向 SSH 隧道

        現(xiàn)在你已經(jīng)明白了怎樣創(chuàng)建一個反向 SSH 隧道,然后把隧道設(shè)置為 “永久”,這樣隧道啟動后就會一直運行(不管臨時的網(wǎng)絡(luò)擁塞、SSH 超時、中繼主機(jī)重啟,等等)。畢竟,如果隧道不是一直有效,你就不能可靠的登錄到你的家庭服務(wù)器。

        對于永久隧道,我打算使用一個叫 autossh 的工具。正如名字暗示的,這個程序可以讓你的 SSH 會話無論因為什么原因中斷都會自動重連。因此對于保持一個反向 SSH 隧道非常有用。

        第一步,我們要設(shè)置從家庭服務(wù)器到中繼服務(wù)器的無密碼 SSH 登錄。這樣的話,autossh 可以不需要用戶干預(yù)就能重啟一個損壞的反向 SSH 隧道。

        下一步,在建立隧道的家庭服務(wù)器上安裝 autossh。

        在家庭服務(wù)器上,用下面的參數(shù)運行 autossh 來創(chuàng)建一個連接到中繼服務(wù)器的永久 SSH 隧道。

        復(fù)制代碼代碼如下:

        homeserver~$ autossh -M 10900 -fN -o "PubkeyAuthentication=yes" -o "StrictHostKeyChecking=false" -o "PasswordAuthentication=no" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 1.1.1.1:10022:localhost:22 relayserver_user@1.1.1.1

        “-M 10900” 選項指定中繼服務(wù)器上的監(jiān)視端口,用于交換監(jiān)視 SSH 會話的測試數(shù)據(jù)。中繼服務(wù)器上的其它程序不能使用這個端口。

        “-fN” 選項傳遞給 ssh 命令,讓 SSH 隧道在后臺運行。

        “-o XXXX” 選項讓 ssh:

        使用密鑰驗證,而不是密碼驗證。

        自動接受(未知)SSH 主機(jī)密鑰。

        每 60 秒交換 keep-alive 消息。

        沒有收到任何響應(yīng)時最多發(fā)送 3 條 keep-alive 消息。

        其余 SSH 隧道相關(guān)的選項和之前介紹的一樣。

        如果你想系統(tǒng)啟動時自動運行 SSH 隧道,你可以將上面的 autossh 命令添加到 /etc/rc.local。

        補充閱讀:防火墻主要使用技巧

        一、所有的防火墻文件規(guī)則必須更改。

        盡管這種方法聽起來很容易,但是由于防火墻沒有內(nèi)置的變動管理流程,因此文件更改對于許多企業(yè)來說都不是最佳的實踐方法。如果防火墻管理員因為突發(fā)情況或者一些其他形式的業(yè)務(wù)中斷做出更改,那么他撞到槍口上的可能性就會比較大。但是如果這種更改抵消了之前的協(xié)議更改,會導(dǎo)致宕機(jī)嗎?這是一個相當(dāng)高發(fā)的狀況。

        防火墻管理產(chǎn)品的中央控制臺能全面可視所有的防火墻規(guī)則基礎(chǔ),因此團(tuán)隊的所有成員都必須達(dá)成共識,觀察誰進(jìn)行了何種更改。這樣就能及時發(fā)現(xiàn)并修理故障,讓整個協(xié)議管理更加簡單和高效。

        二、以最小的權(quán)限安裝所有的訪問規(guī)則。

        另一個常見的安全問題是權(quán)限過度的規(guī)則設(shè)置。防火墻規(guī)則是由三個域構(gòu)成的:即源(IP地址),目的地(網(wǎng)絡(luò)/子網(wǎng)絡(luò))和服務(wù)(應(yīng)用軟件或者其他目的地)。為了確保每個用戶都有足夠的端口來訪問他們所需的系統(tǒng),常用方法是在一個或者更多域內(nèi)指定打來那個的目標(biāo)對象。當(dāng)你出于業(yè)務(wù)持續(xù)性的需要允許大范圍的IP地址來訪問大型企業(yè)的網(wǎng)絡(luò),這些規(guī)則就會變得權(quán)限過度釋放,因此就會增加不安全因素。服務(wù)域的規(guī)則是開放65535個TCP端口的ANY。防火墻管理員真的就意味著為黑客開放了65535個攻擊矢量?

        三、根據(jù)法規(guī)協(xié)議和更改需求來校驗每項防火墻的更改。

        在防火墻操作中,日常工作都是以尋找問題,修正問題和安裝新系統(tǒng)為中心的。在安裝最新防火墻規(guī)則來解決問題,應(yīng)用新產(chǎn)品和業(yè)務(wù)部門的過程中,我們經(jīng)常會遺忘防火墻也是企業(yè)安全協(xié)議的物理執(zhí)行者。每項規(guī)則都應(yīng)該重新審核來確保它能符合安全協(xié)議和任何法規(guī)協(xié)議的內(nèi)容和精神,而不僅是一篇法律條文。

        四、當(dāng)服務(wù)過期后從防火墻規(guī)則中刪除無用的規(guī)則。

        規(guī)則膨脹是防火墻經(jīng)常會出現(xiàn)的安全問題,因為多數(shù)運作團(tuán)隊都沒有刪除規(guī)則的流程。業(yè)務(wù)部門擅長讓你知道他們了解這些新規(guī)則,卻從來不會讓防火墻團(tuán)隊知道他們不再使用某些服務(wù)了。了解退役的服務(wù)器和網(wǎng)絡(luò)以及應(yīng)用軟件更新周期對于達(dá)成規(guī)則共識是個好的開始。運行無用規(guī)則的報表是另外一步。黑客喜歡從來不刪除規(guī)則的防火墻團(tuán)隊。


      使用ssh訪問防火墻后的Linux服務(wù)器的方法是什么相關(guān)文章:

      1.Linux查看ssh版本的方法

      2.外網(wǎng)SSH怎么訪問內(nèi)網(wǎng)LINUX

      3.Linux禁止某個IP地址訪問的方法

      4.如何解決端口映射之后還有訪問不了內(nèi)網(wǎng)的服務(wù)器

      5.Mercury路由如何解決外網(wǎng)無法訪問映射后的服務(wù)器

      4041667