一、SSH
SSH的配置文件中加密演算法沒有指定,默認支持所有加密演算法,包括arcfour,arcfour128,arcfour256等弱加密演算法。
修改SSH配置文件,添加加密演算法:
vi /etc/ssh/sshd_config
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
最後面添加以下內容(去掉arcfour,arcfour128,arcfour256等弱加密演算法):
ssh_config和sshd_config都是ssh伺服器的配置文件,二者區別在於,前者是針對客戶端的配置文件,後者則是針對服務端的配置文件。
保存文件後重啟SSH服務:
service sshd restart or service ssh restart
驗證
ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc <server>
ssh -vv -oMACs=hmac-md5 <server>
二、SSL
修改SSL配置文件中的的SSL Cipher參數
1、禁止apache伺服器使用RC4加密演算法
vi /etc/httpd/conf.d/ssl.conf
修改為如下配置
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4
重啟apache服務
2、關於nginx加密演算法
1.0.5及以後版本,默認SSL密碼演算法是HIGH:!aNULL:!MD5
0.7.65、0.8.20及以後版本,默認SSL密碼演算法是HIGH:!ADH:!MD5
0.8.19版本,默認SSL密碼演算法是 ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM
0.7.64、0.8.18及以前版本,默認SSL密碼演算法是ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
低版本的nginx或沒注釋的可以直接修改域名下ssl相關配置為
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES
256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GC
M-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
需要nginx重新載入服務
㈡ SSH&SSL弱加密演算法漏洞修復
SSH的配置文件中加密演算法沒有指定,默認支持所有加密演算法,包括arcfour,arcfour128,arcfour256等弱加密演算法。
修改SSH配置文件,添加加密演算法:
vi /etc/ssh/sshd_config
最後面添加以下內容( 去掉arcfour,arcfour128,arcfour256等弱加密演算法 ):
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
保存文件後重啟SSH服務:
service sshd restart or service ssh restart
驗證
ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc <server>
ssh -vv -oMACs=hmac-md5 <server>
使用Nmap驗證:
nmap --script "ssh2*" 45.76.186.62
已不支持arcfour,arcfour128,arcfour256等弱加密演算法。
SSH Weak MAC Algorithms Enabled 漏洞修復使用同樣的方式,添加以下行:
MACs hmac-sha1,umac-64,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160
修改SSL配置文件塵鬧中的的SSL Cipher參數
如凱信Apache修改以下內派孫罩容:
㈢ SSH支持弱演算法 有什麼危害嗎
SSH是一種建立在應用層和傳輸層基礎上的安全外殼協議。
在SSH的加密中使用到了RSA非對稱加密演算法,並不是什麼弱演算法。
RSA加密演算法是一種典型的非對稱加密演算法,它基於大數的因式分解數學難題,它也是應用最廣泛的非對稱加密演算法,於1978年由美國麻省理工學院(MIT)的三位學著:Ron Rivest、Adi Shamir 和 Leonard Adleman 共同提出。
它的原理較為簡單,我們假設有消息發送方A和消息接收方B,通過下面的幾個步驟,我們就可以完成消息的加密傳遞:
消息發送方A在本地構建密鑰對,公鑰和私鑰;
消息發送方A將產生的公鑰發送給消息接收方B;
B向A發送數據時,通過公鑰進行加密,A接收到數據後通過私鑰進行解密,完成一次通信;
反之,A向B發送數據時,通過私鑰對數據進行加密,B接收到數據後通過公鑰進行解密。
由於公鑰是消息發送方A暴露給消息接收方B的,所以這種方式也存在一定的安全隱患,如果公鑰在數據傳輸過程中泄漏,則A通過私鑰加密的數據就可能被解密。
如果要建立更安全的加密消息傳遞模型,需要消息發送方和消息接收方各構建一套密鑰對,並分別將各自的公鑰暴露給對方,在進行消息傳遞時,A通過B的公鑰對數據加密,B接收到消息通過B的私鑰進行解密,反之,B通過A的公鑰進行加密,A接收到消息後通過A的私鑰進行解密。
當然,這種方式可能存在數據傳遞被模擬的隱患,我們可以通過數字簽名等技術進行安全性的進一步提升。由於存在多次的非對稱加解密,這種方式帶來的效率問題也更加嚴重。
㈣ 如何禁用OpenSSH(CBC)加密模式防止信息泄露
OpenSSH是一種開放源碼的SSH協議的實現,初始版本用於OpenBSD平台,現在已經被移植到多種Unix/Linux類操作系統下。如果配置為CBC模式的話,OpenSSH沒有正確地處理分組密碼演算法加密的SSH會話中所出現的錯誤,導致可能泄露密文中任意塊最多32位純文本。在以標准配置使用OpenSSH時,攻擊者恢復32位純文本的成功概率為2^{-18}, 此外另一種攻擊變種恢復14位純文本的成功概率為2^{-14}。
編輯ssh配置文件
在 # Ciphers and keying 下或者 文件的末尾 添加下文
重啟SSH服務使配置生效
使用SSH針對CBC分組類型的加密演算法進行檢查
屏幕列印的日誌的最後一行:
出現 no matching cipher found: client aes128-cbc,3des-cbc … 說明配置生效。(此時的SSH登錄並未成功)
查看默認SSH支持加密演算法分組類型
㈤ SSH 實現免密登錄
本文介紹如何通過 SSH 實現免密登錄。
工作環境:
SSH 是一種網路協議,用於計算機之間的加密登錄。SSH是英文Secure Shell的簡寫形式。
通過使用SSH,你可以把所有傳輸的數據進行加密更加安全可靠。使用SSH,還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH 有很多功能,它既可以代替 Telnet,又可以為FTP、Pop、甚至為 PPP 提供一個安全的"通道"。
SSH 協議更多內容看最後附的鏈接,有興趣的朋友可以了解一下。
什麼是免密登錄呢?
通常我們登錄 SSH 是通過賬號和免密來登錄的,輸入 ssh username@ip-server 然後輸入密碼。
如果每次都輸入密碼會很麻煩,而且要對多台游弊蘆主機進行自動化管理,每次都要輸入密碼不現實。我們可以配置公鑰和密鑰進行免密登錄。 免密登錄做的事情其實就是通過 SSH 的公鑰和密鑰來校驗身份信息。
首先你要知道每台主機有一份公鑰和一份私鑰。我們要做的事情可以用一張圖來表示:
圖片的操作依次為
1.生成密匙對
之後可以在 /root/.ssh 中看到生成的密匙對
2.拷貝一份 A 的公鑰給 B
此時在 B 的 authorized_keys 中就會有一份 A 的 id_rsa.pub 公鑰信息。
註:第二步操作的做的事情其實就是一個拷貝密鑰的工作,也可以手動拷貝,但是用上面的命令更方便。
3.最後我們就可以免密登錄,也就是不輸入密碼 A 就可以登錄 B
192.168.0.10 為 B 的 ip 地址
如果要退出登錄,輸入 exit 即可。
192.168.0.10 是 ip 地址,也就是說卜蔽登錄的時候我們還要輸入一次 ip。我們可以給每個主機配置一個別名,用 ssh ip-server 的方式登錄。
就像人有身份證也有名字一樣,我們可以通過 ip 來辨識主機。給他一個別名就是給一個 hostname 。
可以用 hostname 來查看你的主機名,要改主機名改他的配置文件
重啟生效
這樣主機名已經改神帶掉了,還差一步。我們要讓主機名和我們的 ip 關聯在一起,修改 /etc/hosts 文件
例如:
兩邊都配置完成可以用 ssh slave 直接連接 slave 。如果你想自己免密連接自己那就按照上面的步驟給自己配置一份密匙就行了,動手試試吧。
SSH 協議介紹
數字簽名是什麼
SSH原理與運用(一):遠程登錄
SSH原理與運用(二):遠程操作與埠轉發
如何在CentOS 7上修改主機名