成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Linux中為SSH啟用多因素身份驗證

譯文 精選
系統 Linux 網站安全
在本篇文章中,我們將了解多因素身份驗證及其重要性,同時介紹使用谷歌身份驗證器(Google Authenticator)應用程序在Linux中為SSH啟用多因素身份驗證的方式。

譯者 | 康少京

審校 | 梁策 孫淑娟

介紹

安全無小事。隨著入侵事件數量與日俱增,據估計,到2025年,網絡犯罪將給企業帶來10.5萬億美元的損失。

所以,在技術堆棧之上構筑一個強大的安全層十分必要。在本文中,我們將展示如何使用多因素身份驗證的SSH 實現安全。

SSH,即Secure Shell,它是一種網絡協議,允許用戶連接到遠程機器(服務器)并訪問資源。

SSH協議實現了兩種安全類型,即基于密碼的身份驗證和基于密鑰的身份驗證。

與基于密碼的身份驗證相比,一般認為基于密鑰的(公共->私有)身份驗證更為安全,因此大多數SSH強化說明更建議禁用基于密碼的身份驗證,只啟用基于密鑰的身份驗證。

但無論選擇哪種身份驗證機制,我們都可以通過實現多因素身份驗證設置來提高SSH的安全性。

什么是多因素身份驗證?

多因素身份驗證(MFA)是一種安全的認證過程,它需要從獨立的憑證類別中選擇多種認證技術。

多因素身份驗證也稱為“雙因子驗證 (2FA)”。

在驗證你的所述身份時,多因素身份驗證涉及兩個因素:

第一是創建用戶賬戶時創建的密碼。

第二是任何生成動態口令(OTP)的應用程序,或任何向設備發送短信或撥打電話的協議。

根據應用程序的實現方式,身份驗證的方式會有所不同。MFA使用的一些常用工具包括:

  • 安裝在移動設備上生成令牌的應用程序。
  • 如Yubikey 之類的外部設備。
  • 指紋
  • 面部識別
  • 基于OTP密碼的短信或來電

為了啟用SSH多因素身份驗證,我們將使用“Google Authenticator”應用程序。 它使用OATH-TOTP,以及Twilio Authy 或者FreeOTP等其他替代工具,你可以安裝并試用。

我們將從在服務器和移動設備上安裝Google Authenticator 應用開始,并嘗試啟用 MFA和驗證。

安裝谷歌身份驗證器

首先通過playstore/Itunes在Android或IOS設備上安裝Google Authenticator 應用程序。

現在,在Linux系統上安裝Google Authenticator應用程序。

根據發行版本,運行以下安裝命令。

在Ubuntu及其衍生發行版中,運行以下命令:

$ sudo dnf install google-authenticator -y

在基于RHEL的發行版中,運行以下命令:

$ sudo dnf install google-authenticator -y

對基于Arch 的發行版,運行以下命令;

$ sudo pacman -S libpam-google-authenticator

為用戶生成初始令牌

作為設置MFA的第一步,你必須從終端運行以下命令。這將通過生成TOTP密鑰來完成初始設置。此密鑰適用于運行命令的用戶,并不適用于系統中的所有用戶。

$ google-authenticator

在某些步驟中,系統會提示你使用 (y/n) 選項。

第1步:它將提示你選擇基于時間的身份驗證令牌。基于時間的身份驗證令牌將每30秒生成一個新代碼。 按“y”繼續。

運行Google身份驗證器命令

第2步:秘密令牌將與二維碼一起生成。打開Google Authenticator移動應用程序,掃描二維碼或手動鍵入密鑰來注冊設備。完成后,現在應用程序將開始每30秒生成一次令牌。

密鑰和驗證碼

第3步:在這一步中,它將提示你更新在主目錄下的google_authenticator文件。所有的密鑰、驗證碼、緊急刮擦碼都保存在這個文件中。按“y”繼續。

更新google_authenticator文件

第 4 步:若在這一步中選擇“y”,令牌在進行身份驗證后將立即過期。在這種情況下,即使一些黑客得到了你的令牌也會過期。

禁止多次使用相同的身份驗證

第 5 步:這一步決定允許使用令牌個數以及時間范圍。當選擇“n”時,它將允許在90秒的窗口內使用3個令牌。如果我按“y”,它將在240秒的時間窗口內允許17個令牌。

令牌數量

第 6 步:此步驟將要求你啟用速率限制。速率限制允許攻擊者每30秒僅嘗試3次登錄嘗試。如果令牌錯誤,那么他們必須等待N次重試。

限速

我們已經完成了第一步。打開文件~/.google_authenticator,你可以找到這些步驟做的所有設置和密碼。

$ cat ~/.google_authenticator

查看 google_authenticator 設置

你還可以將參數傳遞給google-authenticator命令,該命令將創建密鑰和其他設置,而無需執行這一系列步驟。

$ google-authenticator -q -t -d -f -r 3 -R 30 -w 3

請參閱 google-authenticator help部分,了解這些參數的作用。

$ google-authenticator --help

顯示 google-authenticator help部分

為多因素身份驗證配置 SSH

在使用MFA前,我們必須對 openSSH 進行一些配置更改。

注:

最佳實踐總是要求在任何更改之前備份配置文件。如果出現任何問題,還有恢復更改的余地。

那么在更改SSH配置文件時,請確保單獨打開一個會話,這樣你就不會將自己鎖在外面了。

運行以下命令來備份SSH配置文件。

$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

$ sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.backup

首先,通過將 ChallengeResponseAuthentication選項設置為“yes”來啟用,使SSH 能夠使用MFA。

配置SSH以使用 MFA

接下來,編輯 /etc/pam.d/sshd 文件:

$ sudo vi /etc/pam.d/sshd

同時在文件底部添加以下內容:

auth required pam_google_authenticator.so nullok
auth required pam_permit.so

編輯 sshd Pam 配置文件

如果希望所有用戶都必須使用MFA,請刪除“nullok”一詞。

重新啟動 SSH 服務以使更改生效。

$ sudo systemctl restart sshd

測試雙因素身份驗證

接下來測試所做的更改是否生效:

通過SSH連接到服務器,系統會要求你輸入密碼作為第一因素,然后輸入驗證碼作為第二因素身份驗證,如下圖所示。

$ ssh username@hostname/IPaddress

測試雙因素身份驗證

輸入SSH密碼和驗證碼后,就可以登錄了。

由于我們沒有為所有用戶強制啟用MFA,現在我們測試一下,看看是否能夠連接到另一個沒有生成和設置令牌的用戶。

我有一個testuser ,能夠在不需提示,輸入驗證碼的情況下連接成功。

使用備用用戶連接

看來, 也可以不用驗證碼登錄。

基于密鑰認證的多因素身份驗證

如果你設置了基于密鑰的身份驗證,那么密碼或驗證碼將不會提供。

因為默認情況下,SSH首先使用公鑰身份驗證,如果找到了密鑰,則使用該密鑰進行身份驗證。如果找不到密鑰,它將使用基于密碼的身份驗證。

你可以使用詳細模式來檢查這一點。

$ ssh -v username@hostname/IPaddress ## With verbose

帶有詳細模式的 SSH

在/etc/ssh/sshd_config文件的底部添加以下內容:

AuthenticationMethods publickey,password publickey,keyboard-interactive

接下來打開/etc/pam.d/sshd 并注釋掉以下行。

通用認證

如果你沒有注釋掉"@include common-auth",那么它將啟用兩個以上的因素進行身份驗證。首先它使用密鑰進行身份驗證,然后是密碼和令牌。由于我只需要一個密鑰和令牌來進行身份驗證,所以要將它禁用。

三因素身份驗證

重新啟動sshd服務并測試更改是否正常。

$ sudo systemctl restart sshd

現在,如果我嘗試連接,它使用公鑰作為第一因素,驗證碼作為第二因素進行身份驗證。

密鑰和驗證碼

恢復步驟

在某些情況下,你可能會丟失或更換移動設備,這時你必須重新安裝 google-authenticator應用程序并注冊密鑰才能開始生成令牌。

如果你被鎖定在系統之外,那么就必須要聯系系統管理員,為你提供注冊和使用的新密鑰。但是,你也可以通過另一種方法登錄并自行生成密鑰。

還記得在初始步驟中生成的代碼嗎?你可以使用緊急刮擦碼作為登錄的令牌。每個刮擦碼只能使用一次,它可以保存在安全的地方,以便在最需要的時候使用。

代碼保存在 ~/.google_authenticator 文件中。

$ cat ~/.google_authenticator

刮碼

現在可以運行以下命令重新生成自己的密鑰。

$ google-authenticator

結論

本文展示了如何安裝谷歌身份驗證器,以及使用不同配置為SSH啟用多因素身份驗證的方式。

作為管理員,你還可以編寫bash腳本來自動生成密鑰并與用戶共享。在設置 MFA 之前,還應加強SSH讓系統更安全。

作者介紹

卡爾希克(Karthick)是一位充滿熱情的軟件工程師,喜歡探索新技術。他是一位公眾講師,喜歡撰寫Linux和開源等方面的技術文章。

譯者介紹

康少京,51CTO社區編輯,目前從事通訊類行業,底層驅動開發崗位,研究過數據結構,Python,現對操作系統和數據庫等相關領域感興趣。

原文標題:??How To Setup Multi-Factor Authentication For SSH In Linux??,作者:Karthick


責任編輯:華軒 來源: 51CTO
相關推薦

2022-11-02 11:42:02

2014-10-30 09:14:28

2021-07-30 16:03:03

雙因素認證2FA多因素認證

2022-08-02 07:13:33

MFA程序網絡

2022-05-07 15:47:46

多因素身份驗證密碼

2021-11-04 15:10:45

多因素身份驗證網絡攻擊身份驗證

2012-10-10 09:35:27

2022-11-03 14:33:32

2022-08-16 12:09:21

身份驗證MFA

2022-04-04 07:23:21

多因素身份驗證黑客MFA

2021-10-28 14:04:12

多因素身份驗證網絡攻擊數據安全

2021-12-14 16:30:00

SSHLinux二次驗證

2011-06-28 11:10:19

2022-05-07 13:19:24

GitHub2FA

2024-11-07 15:22:26

2010-04-20 10:00:29

2013-05-02 16:31:12

雙因素身份驗證微軟

2013-05-03 09:44:52

2011-05-04 16:40:00

2011-05-04 17:06:46

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄网站在线播放 | 成人av电影天堂 | 五月婷婷色| 亚洲成人精 | 91社影院在线观看 | 成人无遮挡毛片免费看 | 久久精品日产第一区二区三区 | 欧美精品一区二区三区在线四季 | 国产精品久久久久久网站 | 中文字幕第二区 | 欧美色综合一区二区三区 | 在线免费av电影 | 亚洲欧美日韩精品久久亚洲区 | 日本在线观看视频 | 尤物视频在线免费观看 | 久久综合激情 | a级大片免费观看 | 天天综合久久 | avav在线看| 天天操天天拍 | 操一草| 国产一区 在线视频 | 久久久天天 | 国产伊人久久久 | 最新免费av网站 | 欧美激情综合色综合啪啪五月 | 精品日韩| 国产精品午夜电影 | 亚洲精品一区二区在线观看 | 狠狠操网站 | 一区二区国产在线观看 | 久久精品国产亚洲一区二区三区 | 国产成人综合一区二区三区 | 久久久久久成人 | 91成人免费看 | 国产成人精品一区二区三区四区 | av喷水| 91 在线| 一区二区精品在线 | 国产精品福利在线观看 | 精品国产91亚洲一区二区三区www |