0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何提高Linux ssh安全性

CHANBAEK ? 來源:TIAP ? 作者:TIAP ? 2023-02-25 17:01 ? 次閱讀

ssh 是訪問遠(yuǎn)程服務(wù)器最常用的方法之一,同時,其也是 Linux 服務(wù)器受到攻擊的最常見的原因之一。

不過別誤會... 我們并不是說 ssh 有什么安全漏洞,相反,它在設(shè)計上是一個非常安全的協(xié)議。 但是安全起見,我們在配置 ssh 的時候,作為一個好習(xí)慣,不應(yīng)該使用它的默認(rèn)配置。 畢竟,默認(rèn)配置是大家都知道的。

今天我們分享幾個可以提高 ssh 安全性的實用方法。 不過需要注意,下面提到的方法,大家選取適合自己的,不需要全部都用,其中某些方法可能會與其他的不兼容。

例如,如果禁用基于密碼的 ssh 登錄,則無需使用 Fail2Ban 方案。

如果你了解 ssh 基礎(chǔ)知識,那么就會知道 ssh 配置文件位于 /etc/ssh/sshd_config,下面我們提到的大多數(shù)操作都需要編輯此配置文件,在真正動手修改配置文件之前,最好做一下備份。 另外,對于 ssh 配置文件所作的任何更改,都需要重啟 ssh 服務(wù)才能生效。

接下來我們詳細(xì)看一下。

1,禁用空密碼

在 Linux 中,用戶賬戶可以不設(shè)置任何密碼(或者為空密碼)。 這些用戶嘗試使用 ssh,也不需要密碼。

這是一個極大的安全隱患,我們應(yīng)該禁止使用空密碼。 方法是在配置文件 /etc/ssh/sshd_config 中,將 PermitEmptyPasswords 選項配置為 no:

PermitEmptyPasswords no

2,修改 ssh 的默認(rèn)端口

ssh 的默認(rèn)端口為 22,大多數(shù)攻擊腳本都是圍繞這個端口寫的。 更改這個默認(rèn)端口會增加 ssh 的安全性,因為會極大的減少攻擊者的數(shù)量。

在配置文件中搜索端口信息,并將其更改為其他值:

Port 567

修改完成后需要記住你修改的端口(畢竟你還需要使用這個端口來登錄的)。

3,禁止 ssh 使用 root 用戶登錄

老實說,Linux 系統(tǒng)應(yīng)該禁止 root 用戶登錄,因為這是有風(fēng)險的,其不會留下審計信息。 這就是 sudo 機制存在的原因。

如果系統(tǒng)添加了 sudo 用戶,最好使用 sudo 用戶通過 ssh 連接,而不是 root 用戶。

要禁止 root 用戶通過 ssh 訪問,可以修改 PermitRootLogin 選項為 no:

PermitRootLogin no

4,禁用 ssh 協(xié)議 1

如果你使用的是比較舊的 Linux 版本,在某些低版本的 ssh 可能仍然有 ssh 協(xié)議 1 可用,該協(xié)議存在已知的漏洞,不能再使用。

較新版本的 ssh 會自動啟用 ssh 協(xié)議 2,可以檢查一下該配置:

Protocol 2

5,配置空閑超時間隔

空閑超時間隔是 ssh 連接可以在沒有任何活動的情況下保持活動狀態(tài)的時間。 這種空閑會話也是一種安全風(fēng)險,所以需要配置合適的空閑超時時間間隔。

超時間隔以秒為單位,默認(rèn)值是0。 我們可以將其更改為300,即保持 5 分鐘的超時間隔。

ClientAliveInterval 300

在此間隔之后,ssh 服務(wù)器將向客戶端發(fā)送一條活動消息。 如果沒有得到響應(yīng),連接將關(guān)閉,最終用戶將注銷。

還可以配置在斷開連接之前,發(fā)送活動消息的次數(shù):

ClientAliveCountMax 2

6,僅允許特定用戶進(jìn)行 ssh 訪問

當(dāng)涉及到安全時,我們應(yīng)該遵循最低特權(quán)原則,不要在不需要的時候給予權(quán)利。

比如,我們在 Linux 系統(tǒng)上可能會有若干個用戶,但并不是所有用戶都需要通過 ssh 訪問系統(tǒng)。 所以我們可以設(shè)置只有少數(shù)用戶可以通過 ssh 訪問系統(tǒng),從而限制所有其他用戶。 如下配置所示:

AllowUsers User1 User2

另外,還可以配置某個用戶組可訪問 ssh:

AllowGroups ssh_group

此外,也可以配置 DenyUsers 和 DenyGroups 來拒絕某些用戶和組來通過 ssh 訪問。

7,禁用 X11 轉(zhuǎn)發(fā)

X11 或 X 顯示服務(wù)器是圖形環(huán)境的基本框架。 X11 轉(zhuǎn)發(fā)允許您通過 ssh 使用 GUI 應(yīng)用程序。

基本上,客戶機在服務(wù)器上運行 GUI 應(yīng)用程序,但由于 X11 轉(zhuǎn)發(fā),機器之間打開了一個通道,GUI 應(yīng)用程序舊顯示在了客戶機上。

基于此,X11 協(xié)議是有安全隱患的。 所以如果不需要它,應(yīng)該禁用 ssh 中的 X11 轉(zhuǎn)發(fā)。

X11Forwarding no

8,自動減輕暴力攻擊

為防止 ssh 暴力攻擊,可以使用比如 Fail2Ban 這樣的安全工具。

Fail2Ban 可檢查來自不同 IP 地址的失敗登錄嘗試。如果這些錯誤嘗試在設(shè)置的時間間隔內(nèi)超過閾值,它將禁止該 IP 在特定時間段內(nèi)訪問 SSH。

我們可以根據(jù)自己的需求來配置這些需求。

9,禁用基于密碼的 ssh 登錄

無論做了怎樣的配置,你都會在 Linux 服務(wù)器上看到通過 ssh 進(jìn)行的失敗登錄嘗試。攻擊者很聰明,他們使用的腳本通常都會處理類似 Fail2Ban 工具的默認(rèn)設(shè)置。

為了避免某些持續(xù)的暴力攻擊,我們可以選擇基于密鑰的 ssh 登錄。即將遠(yuǎn)程客戶端系統(tǒng)的公鑰添加到 ssh 服務(wù)器上的已知密鑰列表中。通過這種方式,這些客戶端機器可以訪問ssh,而無需輸入用戶帳戶密碼。

完成此設(shè)置后,就可以禁用基于密碼的 ssh 登錄。然后只有具有指定 ssh 密鑰的客戶機才可以通過 ssh 訪問服務(wù)器。

在使用這種方法之前,請確保已將自己的公鑰添加到服務(wù)器,并且該方法有效。否則,如果你使用的是 Linode 這樣的云服務(wù)器,而沒有對服務(wù)器的物理訪問權(quán)限,那么就可能失去對遠(yuǎn)程服務(wù)器的訪問權(quán)限。

關(guān)于如何禁止使用密碼進(jìn)行 ssh 連接,我們在之后會專門寫篇文章介紹。

10,使用 ssh 的雙因素身份驗證

要將 ssh 安全提升一個級別,還可以啟用雙因素身份驗證。比如可以通過手機電子郵件或第三方阿姨應(yīng)用程序接收一次性密碼。

其他

可以使用以下命令查看 ssh 服務(wù)器的所有參數(shù)

sshd -T

通過這種方式,我們可以查看目前的參數(shù)配置,來檢查是否需要更改,參數(shù)來增強 ssh 服務(wù)器的安全性。

另外,還需要保持 ssh 的系統(tǒng)更新,以修復(fù)一些可能的已知漏洞。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11171

    瀏覽量

    208474
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8849

    瀏覽量

    84950
  • 安全性
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    19113
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    555

    瀏覽量

    24638
  • SSH
    SSH
    +關(guān)注

    關(guān)注

    0

    文章

    181

    瀏覽量

    16261
收藏 人收藏

    評論

    相關(guān)推薦

    ssh連接

    和實現(xiàn),二者互不兼容。SSH2比SSH1在安全性,功能和性能 上提高了很多,所以目前被廣泛使用的SSH2。 1.
    發(fā)表于 03-28 16:38

    怎么提高SRAM工藝FPGA的設(shè)計安全性?

    隨著FPGA的容量、性能以及可靠提高及其在消費電子、汽車電子等領(lǐng)域的大規(guī)模應(yīng)用,F(xiàn)PGA設(shè)計的安全性問題越來越引起人們的關(guān)注。相比其他工藝FPGA而言,處于主流地位的SRAM工藝FPGA有一些
    發(fā)表于 08-23 06:45

    如何提高SRAM工藝FPGA的設(shè)計安全性?

    隨著FPGA的容量、性能以及可靠提高及其在消費電子、汽車電子等領(lǐng)域的大規(guī)模應(yīng)用,F(xiàn)PGA設(shè)計的安全性問題越來越引起人們的關(guān)注。
    發(fā)表于 09-30 07:23

    如何提高SRAM工藝FPGA的設(shè)計安全性?

    隨著FPGA的容量、性能以及可靠提高及其在消費電子、汽車電子等領(lǐng)域的大規(guī)模應(yīng)用,F(xiàn)PGA設(shè)計的安全性問題越來越引起人們的關(guān)注。
    發(fā)表于 10-18 07:12

    嵌入式設(shè)備如何提高安全性

      隨著越來越多的嵌入式設(shè)備接入網(wǎng)絡(luò)并成為物聯(lián)網(wǎng)的一部分,網(wǎng)絡(luò)黑客們開始利用這些連接,以達(dá)到自己不可告人的目的。因此,嵌入式設(shè)備必須提高安全性,以防止黑客復(fù)制IP、盜竊數(shù)據(jù)或侵入系統(tǒng),可是對于嵌入式
    發(fā)表于 06-30 11:05

    如何在提高精度和延長運行時間的同時提高電池的安全性?

    如何在提高精度和延長運行時間的同時提高電池的安全性
    發(fā)表于 03-16 11:36

    如何利用電子技術(shù)提高汽車舒適安全性?

    如何利用電子技術(shù)提高汽車舒適安全性?電子技術(shù)的導(dǎo)入會成為今后技術(shù)開發(fā)的關(guān)鍵
    發(fā)表于 05-13 06:28

    如何提高電動汽車的效率和安全性

    如何提高電動汽車的效率和安全性?
    發(fā)表于 11-09 07:51

    linux操作系統(tǒng)的安全性

    linux操作系統(tǒng)的安全性 計算機系統(tǒng)安全性的內(nèi)涵 操作系統(tǒng)的安全性功能 操作系統(tǒng)的安全機制
    發(fā)表于 04-28 15:05 ?0次下載

    Linux安全性分析說明

    很多人看到系統(tǒng)修復(fù)模式這節(jié)內(nèi)容時,都會有所感慨:Linux的密碼破解太容易了,這樣的操作系統(tǒng)還安全嗎?Linux不是以安全性著稱的嗎?
    發(fā)表于 07-14 14:17 ?836次閱讀
    <b class='flag-5'>Linux</b>的<b class='flag-5'>安全性</b>分析說明

    設(shè)計LSM鉤子提升Linux漏洞安全性

    Tracee是一個用于Linux的運行時安全性和取證的開源項目,用于解決常見的Linux安全性問題。
    的頭像 發(fā)表于 07-11 10:55 ?867次閱讀

    車內(nèi)傳感 AI 提高安全性

    車內(nèi)傳感 AI 提高安全性
    的頭像 發(fā)表于 12-28 09:51 ?601次閱讀

    如何修改Linux系統(tǒng)的SSH端口

    SSH 是一種網(wǎng)絡(luò)協(xié)議,用于與 Linux 系統(tǒng)進(jìn)行遠(yuǎn)程安全通信。默認(rèn)情況下,SSH 服務(wù)使用端口 22。
    的頭像 發(fā)表于 03-20 16:46 ?2354次閱讀

    Linux中常用的6種SSH身份驗證方法

    。由于遠(yuǎn)程訪問可能涉及到安全問題,因此 Linux 提供了多種身份驗證方法來保護 SSH 連接的安全性。本文將介紹 Linux 中常用的 6
    的頭像 發(fā)表于 05-12 14:42 ?2945次閱讀

    Linux上建立SSH安全連接的10種方法

    建立 SSH 安全連接的方法是通過 SSH (Secure Shell) 協(xié)議建立的加密通道,用于在服務(wù)器和客戶機之間的安全通信。SSH 協(xié)
    的頭像 發(fā)表于 05-29 10:29 ?5997次閱讀