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

談?wù)?ssh目錄的安全性

安全 應(yīng)用安全
~/.ssh的是一個(gè)非常重要的目錄,也是安全隱患點(diǎn),處理不好該目錄安全設(shè)置,對導(dǎo)致嚴(yán)重安全問題,讓主機(jī)被輕而易舉的被人黑掉。據(jù)蟲蟲所知,一些木馬、自動(dòng)挖礦腳本就借助該目錄信息自動(dòng)擴(kuò)散傳播。本文就給大家介紹~/.ssh/的安全性。

熟悉ssh的同學(xué)應(yīng)該都知道.ssh目錄,這個(gè)目錄用來保存ssh一些客戶端一些ssh配置、公鑰,公鑰認(rèn)證的文件。~/.ssh的是一個(gè)非常重要的目錄,也是安全隱患點(diǎn),處理不好該目錄安全設(shè)置,對導(dǎo)致嚴(yán)重安全問題,讓主機(jī)被輕而易舉的被人黑掉。據(jù)蟲蟲所知,一些木馬、自動(dòng)挖礦腳本就借助該目錄信息自動(dòng)擴(kuò)散傳播。本文就給大家介紹~/.ssh/的安全性。

[[313269]]

.ssh目錄介紹

目錄~/.ssh/是用來存儲(chǔ)SSH客戶端和服務(wù)器一些配置文件的位置,這些文件包括:

  • authorized_keys,SSH服務(wù)器默認(rèn)的公鑰認(rèn)證文件,服務(wù)器通過該文件配置可以使用該用戶認(rèn)證的用戶證書。SSH證書認(rèn)證就是客戶端生成證書(私鑰和公鑰對),將公鑰復(fù)制到該文件,每行一個(gè)證書。復(fù)制公鑰時(shí)候可以使用ssh-copy-id命令或者直接手動(dòng)配置authorized_keys文件即可。
  • id_*,包括id_rsa,id_dsa,id_ed25519,id_ecdsa等是保存在該用戶下的證書私鑰,用戶通過SSH證書認(rèn)證時(shí)候會(huì)自動(dòng)搜索這些私鑰進(jìn)行認(rèn)證。
  • id_*.pub 上述私鑰對應(yīng)的公鑰,以.pub為后綴。
  • known_hosts 保存該主機(jī)連接過的遠(yuǎn)程服務(wù)器及其對應(yīng)的主機(jī)公鑰(用來對主機(jī)認(rèn)證),再次連接到遠(yuǎn)程服務(wù)器如果公鑰相同,則直接連接認(rèn)證。如果沒有,或者遠(yuǎn)程服務(wù)器有變化,會(huì)提示:

談?wù)?ssh目錄的安全性

需要輸入yes,確認(rèn)才行。

  • config 文件用來配置本地ssh連接的一些項(xiàng)目,比如配置主機(jī)別名的,可以解決同一主機(jī)或者多臺(tái)主機(jī)使用多個(gè)證書,就可以用config配置,比如下面的配置:

談?wù)?ssh目錄的安全性

  1. Host github.com  
  2. HostName github.com  
  3. User git  
  4. IdentityFile ~/.ssh/git/github_id_rsa  
  5.  
  6.  
  7. Host gitee.com  
  8. HostName gitee.com  
  9. User git  
  10. IdentityFile ~/.ssh/git/gitee_id_rsa  
  11.  
  12.  
  13. Host chongchong.com  
  14. HostName 112.34.6.71  
  15. Port 2222  
  16. User chongchong  
  17. IdentityFile ~/.ssh/id_ecdsa  
  18. ForwardX11 yes  
  19. Compression yes  
  20. TCPKeepAlive yes 

前兩個(gè)Host配置對github和馬云使用不同的證書,后面一個(gè)Host對一臺(tái)主機(jī)配置使用非默認(rèn)的ssh端口、非默認(rèn)當(dāng)前用戶以及一些啟用一些ssh配置項(xiàng)目。關(guān)于ssh config的配置蟲蟲之前的文章《Linux SSH實(shí)用技巧幾則》做過介紹,大家可以參考。

.ssh目錄安全性問題

主要的安全隱患,還是由于對.ssh目錄的安全性認(rèn)識(shí)不夠或者由于管理疏忽,導(dǎo)致該目錄的權(quán)限設(shè)置有問題?;蛘邔⒛夸洷┞对赪eb目錄或者git公開倉庫。比如有些Web服務(wù)器中的www用戶可以直接訪問該目錄。由于直接將用戶目錄設(shè)置成了Web根目錄,而.ssh目錄又是用戶目錄的子目錄所以可以直接訪問。

現(xiàn)在,絕大多數(shù)的管理員和開發(fā)都知道使用密碼登陸服務(wù)是不安全的,因此都會(huì)用證書登陸。如果。ssh目錄泄露意味著:

  • 可以直接獲得/.ssh/id_rsa等私鑰;
  • 可以直接知道authorized_keys、known_hosts和config的內(nèi)容。

證書泄露

id_*文件是最重要級(jí)別的個(gè)人文件,該文件不允許泄露給第三人,根據(jù)不同的證書類型,私鑰文件名可能為了id_dsa(DSA證書已經(jīng)不是安全,請避免使用),id_rsa(RSA證書,請保證2048位以上),id_ecdsa和id_ed25519,一般來說私鑰文件都會(huì)PRIVATE KEY的注釋行,比如:

談?wù)?ssh目錄的安全性

為了避免證書泄露后也能保持安全,建議私鑰都設(shè)置證書密碼:

談?wù)?ssh目錄的安全性

以下密鑰沒有密碼,ssh-keygen -y -f id_ecdsa可以直接顯示公鑰

  1. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBmGXiNwudm3JaGNVERkl013/9OQVR0tfgvcmapONuecVl4EXNE4w0VyZA1ZD2s3hj02x/Y294IwfhExiaDhTyY

如果設(shè)置密碼保護(hù),則會(huì)提示輸入密碼:

  1. Enter passphrase: 
  2.  
  3. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBmGXiNwudm3JaGNVERkl013/9OQVR0tfgvcmapONuecVl4EXNE4w0VyZA1ZD2s3hj02x/Y294IwfhExiaDhTyY

authorized_keys泄露

就算是私鑰泄露來,如果沒有其他信息,黑客也不知道私鑰能用來連接到哪里,這就是為啥要把關(guān)鍵主機(jī)、一般主機(jī)以及用于管理git的證書都分別獨(dú)立使用的,防止私鑰泄露后導(dǎo)致的問題。但是黑客可以借助.ssh目錄下的其他文件來獲取更多的信息來精準(zhǔn)的利用竊取的私鑰。其中有個(gè)文件authorized_keys,前面我提到了,是用來配置可以連接到該主機(jī)用戶下的所有的證書公鑰。文件一行一個(gè)公鑰,公鑰以ssh-rsa,ssh-dss,ssh-ed25519,ssh-ecdsa開頭,表示不同的證書類型。如果黑客獲取了這些密鑰,可以通過對比證書方式,驗(yàn)證對應(yīng)私鑰,然后可以利用私鑰最終攻陷主機(jī)。如果攻擊者成功,將會(huì)有完整SSH訪問權(quán)限,能夠運(yùn)行任何命令。

known_hosts泄露

如果〜/.ssh /known_hosts泄露,則導(dǎo)致的危險(xiǎn)性更大,因?yàn)樵撐募涗浟?,該主機(jī)私鑰可以連接的遠(yuǎn)程主機(jī)列表。

根據(jù)該文件中的主機(jī)名或IP地址,可以直接被用來私鑰來嘗試登陸。很多木馬傳播方式就是利用自動(dòng)解析該文件獲取IP或者主機(jī)自動(dòng)嘗試登陸。

談?wù)?ssh目錄的安全性

上面是一個(gè)挖礦木馬自動(dòng)傳播部分腳本,從known_hosts獲取傳播目標(biāo):

  1. cat /root/.ssh/known_hosts|grep -v ,|awk '{print $1}' > /tmp/.h 
  2. cat /root/.ssh/known_hosts|grep ,|awk -F, '{print $1}' >> /tmp/.h 
  3. cat /root/.ssh/known_hosts|grep ,|awk -F, '{print $1}' >> /tmp/.h 

為了避免這種攻擊,可以設(shè)置ssh配置(/etc/ssh/ssh_config)的HashKnownHosts 為yes,則會(huì)對相關(guān)信息做哈希處理。則該文件條目就會(huì)被加密,結(jié)果如下:

  1. |1|wlPQdgFoYgYsqG6ae20lYopRLPI=|p61txQKmb+Hn49dsD+v0CNuEKd4ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzhZmG33G/3FG3vm0eDdyX1u++i0ceakIkJNgDxVVy6MpodRrpwqXXQj8/OGT 
  2. Iwb4YpRXGuL3236IkGugI9GUgFd00UNjMSMt3pqob4hKsEzADl7YfZeV1X7X0b617nze0otdO7TwDMlQ/5KWUwdUoxg50VfpieTzcOpUN/G4J159iKZ41iSF7o4vI+fYisX8y5rJ1BRbt1HO0Gi7w9HZ8tN0B  
  3. 0glM6JKyoE8TjvbZAeD9PWIWp9JpG1KTY4yXTV1B1CyvtxjRqTMm8mcb+gSGGvv6mSlWCNxJnlXhp91F2GtmgzKsE3FjcMUfkn3c0+P0bKaR8L3GtbyaXJmtDX4xQ== 

其中第二部分wlPQdgFoYgYsqG6ae20lYopRLPI=為hostname加密。

第三部分p61txQKmb+Hn49dsD+v0CNuEKd4=為加密的IP地址。

加密的方法是HMAC-SHA1,而且我們知道IP地址是有限的:四段,每段1-255(2^32)可以群舉,所以可以通過暴力攻擊,計(jì)算哈希,對比哈希。有興趣的同學(xué)可以嘗試下。

config泄露

SSH客戶端的配置文件通常包含hostname,別名,用戶名,ssh端口,證書位置等信息。如果該文件暴露,可為攻擊者提供更多信息,其危害類似known_hosts。

安全措施

要避免由于.ssh目錄導(dǎo)致的安全問題,首先要設(shè)置目錄和文件的權(quán)限。比如.ssh目錄要設(shè)置為700,所有私鑰文件和config文件要設(shè)置為600。

其次,避免將.ssh目錄暴露到Web目錄。

使用代理轉(zhuǎn)發(fā)或ProxyJump。

在Web服務(wù)器的配置中添加特殊規(guī)則,阻止對/.ssh/目錄的訪問。

最后,避免.ssh配置文件,證書文件暴露到git公共倉庫(github)等。

 

 

 

責(zé)任編輯:趙寧寧 來源: 蟲蟲搜奇
相關(guān)推薦

2017-09-18 15:14:43

2011-05-20 21:27:33

2023-02-20 17:12:08

2011-05-31 18:41:45

復(fù)印機(jī)技巧

2011-08-19 12:17:46

2011-05-24 09:15:52

SSH

2024-01-03 12:10:25

2009-11-30 09:41:38

2010-11-24 11:37:51

2016-07-26 08:56:52

2009-07-21 17:22:05

2018-10-18 05:29:04

物聯(lián)網(wǎng)設(shè)備物聯(lián)網(wǎng)安全IOT

2011-03-22 13:50:57

云計(jì)算

2012-04-05 09:52:21

開源軟件Linux

2021-01-16 16:24:14

Ubuntu計(jì)算機(jī)隱私

2013-01-15 10:12:39

云存儲(chǔ)云安全

2022-07-08 16:10:55

線程安全對象

2010-04-14 17:19:51

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

2021-10-19 06:05:20

網(wǎng)站安全網(wǎng)絡(luò)威脅網(wǎng)絡(luò)攻擊

2013-01-11 14:00:18

云存儲(chǔ)云計(jì)算云安全
點(diǎn)贊
收藏

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