自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

保護 SSH 的三個技巧

安全 數(shù)據(jù)安全
有了 SSH,由于使用了非對稱密鑰,參與通信的設(shè)備之間的會話是加密的。如今,這比以往任何時候都更有意義,因為所有的云服務(wù)器都是由分布在世界各地的人管理的。

SSH(安全 Shell)是一個協(xié)議,它使你能夠創(chuàng)建一個經(jīng)過驗證的私人連接,并使用加密密鑰保護通道,在另一臺機器上啟動一個遠程 Shell。使用這種連接,你可以執(zhí)行遠程命令,啟動安全文件傳輸,轉(zhuǎn)發(fā)套接字、顯示和服務(wù),等等。

在 SSH 出現(xiàn)之前,大多數(shù)遠程管理是通過 telnet 完成的,公平地說,一旦你能建立一個遠程會話,你幾乎可以做任何你需要的事情。這個協(xié)議的問題是,通訊是以純明文的方式進行的,沒有經(jīng)過加密。使用 流量嗅探器 不需要太多努力就可以看到一個會話中的所有數(shù)據(jù)包,包括那些包含用戶名和密碼的數(shù)據(jù)包。

有了 SSH,由于使用了非對稱密鑰,參與通信的設(shè)備之間的會話是加密的。如今,這比以往任何時候都更有意義,因為所有的云服務(wù)器都是由分布在世界各地的人管理的。

三個配置 SSH 的技巧

SSH 協(xié)議最常見的實現(xiàn)是 OpenSSH,它由 OpenBSD 項目開發(fā),可用于大多數(shù) Linux 和類 Unix 操作系統(tǒng)。一旦你安裝了這個軟件包,你就會有一個名為 sshd_config 的文件來控制該服務(wù)的大部分行為。其默認設(shè)置通常是非常保守的,但我傾向于做一些調(diào)整,以優(yōu)化我的 SSH 體驗,并保護我的服務(wù)器不被非法訪問。

1. 改變默認端口

這是一個并非所有管理員都記得的問題。任何有端口掃描器的人都可以發(fā)現(xiàn)一個 SSH 端口,即使你之后把它移到別的端口,所以你很難把自己從危險中移除,但這樣卻會有效的避免了數(shù)百個針對你的服務(wù)器掃描的不成熟腳本。這是一個可以讓你省心,從你的日志中減去大量的噪音的操作。

在寫這篇文章時,我在一個云服務(wù)提供商上設(shè)置了一個 SSH 服務(wù)器,默認端口 TCP 22,每分鐘平均被攻擊次數(shù)為 24 次。在將端口改為一個更高的數(shù)字,即 TCP 45678 后,平均每天有兩個連接并用各種用戶名或密碼進行猜測。

要改變 SSH 的默認端口,在你喜歡的文本編輯器中打開 /etc/ssh/sshd_config,將 Port 的值從 22 改為大于 1024 的某個數(shù)字。這一行可能被注釋了,因為 22 是默認的(所以不需要在配置中明確聲明),所以在保存之前取消注釋。

Port 22122
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

一旦你改變了端口并保存了文件,重新啟動 SSH 服務(wù)器:

$ sudo systemctl restart sshd

2. 不要使用密碼

現(xiàn)在有一個普遍的潮流是停止使用密碼作為認證手段,雙因素認證等方法越來越受歡迎。OpenSSH 可以使用非對稱密鑰進行認證,因此不需要記住復(fù)雜的密碼,更不需要每隔幾個月輪換一次密碼,也不需要擔(dān)心有人在你建立遠程會話時進行“肩后偷窺”。使用 SSH 密鑰可以讓你快速、安全地登錄到你的遠程設(shè)備上。這往往意味著花費在錯誤的用戶名和密碼上的時間更少。登錄令人愉快的簡單。當沒有密鑰時,就沒有入口,甚至沒有提示符。

要使用這個功能,你必須同時配置客戶機(在你面前的計算機)和服務(wù)器(遠程機器)。

在客戶端機器上,你必須生成一個 SSH 密鑰對。這包括一個公鑰和一個私鑰。正如它們的名字所暗示的,一個公開的密鑰是供你分發(fā)給你想登錄的服務(wù)器的,另一個是私人的密鑰,必須不與任何人分享。使用 ssh-keygen 命令可以創(chuàng)建一個新的密鑰對,并使用 -t 選項來指定一個好的、最新的密碼學(xué)庫,如 ed25519:

$ ssh-keygen -t ed25519    
Generating public/private ed25519 key pair.
Enter file in which to save the key (~/.ssh/id_ed25519):

在密鑰創(chuàng)建過程中,你會被提示為文件命名。你可以按回車鍵來接受默認值。如果你將來創(chuàng)建了更多的密鑰,你可以給每個密鑰起一個自定義的名字,但有多個密鑰意味著你要為每次交互指定使用哪個密鑰,所以現(xiàn)在只要接受默認即可。

你還可以給你的密鑰一個口令。這可以確保即使別人設(shè)法獲得你的私鑰(這本身就不應(yīng)該發(fā)生),沒有你的口令,他們也無法將其投入使用。這對某些密鑰來說是一種有用的保護措施,而對其他密鑰來說則不合適(特別是那些用于腳本的密鑰)。按回車鍵讓你的密鑰沒有口令,或者你選擇創(chuàng)建一個口令。

要把你的密鑰復(fù)制到服務(wù)器上,使用 ssh-copy-id 命令。例如,如果我擁有一臺名為 example.com 的服務(wù)器,那么我可以用這個命令把我的公鑰復(fù)制到它上面:

$ ssh-copy-id jgarrido@example.com

這將在服務(wù)器的 .ssh 目錄下創(chuàng)建或修改 authorized_keys 文件,其中包含你的公鑰。

一旦確認 ssh-copy-id 命令完成了它所做的事情,嘗試從你的電腦上登錄,以驗證你可以在沒有密碼的情況下登錄(或者如果你選擇使用你的密鑰的口令,就輸入密鑰口令)。

在沒有使用你的服務(wù)器帳戶的密碼登錄到你的服務(wù)器上后,編輯服務(wù)器的 sshd_config 并將 PasswordAuthentication 設(shè)置為 no。

PasswordAuthentication no

重新啟動 SSH 服務(wù)以加載新的配置:

$ sudo systemctl restart sshd

3. 決定誰可以登錄

大多數(shù)發(fā)行版不允許 root 用戶通過 SSH 登錄,這確保只有非特權(quán)賬戶是活躍的,根據(jù)需要使用 sudo 命令來提升權(quán)限。這就防止了一個明顯的、令人痛苦的目標(root)受到簡單而常見的腳本攻擊。

同樣,OpenSSH 的一個簡單而強大的功能是能夠決定哪些用戶可以登錄到一臺機器。要設(shè)置哪些用戶被授予 SSH 訪問權(quán),在你最喜歡的文本編輯器中打開 sshd_config 文件,并添加這樣一行:

AllowUsers jgarrido jane tux

重新啟動 SSH 服務(wù)以加載新的配置選項。

這只允許三個用戶(jgarrido、jane 和 tux)登錄或在遠程機器上執(zhí)行任何操作。

總結(jié)

你可以使用 OpenSSH 來實現(xiàn)一個強大而穩(wěn)健的 SSH 服務(wù)器。這些只是加固你的系統(tǒng)的三個有用的選項。盡管如此,在 sshd_config 文件中仍有大量的功能和選項可以打開或關(guān)閉,而且有許多很棒的應(yīng)用程序,如 Fail2ban,你可以用來進一步保護你的 SSH 服務(wù)。

責(zé)任編輯:趙寧寧 來源: Linux中國
相關(guān)推薦

2021-10-13 06:59:03

Python技巧編程

2010-10-09 21:42:13

SNMP網(wǎng)絡(luò)安全

2023-05-26 14:58:18

2013-01-06 11:01:59

大數(shù)據(jù)分析

2012-02-28 09:41:00

Linux管理效率技巧

2010-06-28 13:40:22

SNMP協(xié)議服務(wù)

2010-11-15 09:56:30

2010-03-10 10:41:23

Linux管理效率

2011-06-14 10:35:15

性能優(yōu)化

2019-04-30 09:40:41

Windows 10技巧Windows

2017-11-03 06:38:18

蓄電池保養(yǎng)環(huán)境溫度

2022-05-13 14:01:46

微服務(wù)架構(gòu)安全微服務(wù)

2025-02-12 10:33:44

2013-03-04 09:34:48

CSSWeb

2023-07-11 11:38:28

2013-12-09 10:20:03

DHCP故障技巧

2023-03-06 11:44:37

Postgres數(shù)據(jù)庫

2022-01-06 22:31:21

Python技巧代碼

2014-05-21 13:51:37

Hyper-V網(wǎng)絡(luò)性能
點贊
收藏

51CTO技術(shù)棧公眾號