iT邦幫忙

0

DB備份失敗問題

這隻shell是放在nas上執行,每天去抓db的備份檔回到nas本機,應該是採用rsync的方式
可是在我更新防火牆之後
半夜備份就出了問題,跳出錯誤
請大家幫忙分析原因,因為除了防火牆升級韌體都沒改到其他
防火牆是最新Fortios6

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:Lf5jlMnLXTS8wqszKpW6hLcaMsA.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:3
ECDSA host key for db has changed and you have requested strict checking.
Host key verification failed.
rsync error: unexplained error (code 255) at io.c(687) [Receiver=3.0.9]

2 個回答

0
bizpro
iT邦大師 1 級 ‧ 2018-05-07 09:29:40
最佳解答

錯誤原因:

Offending ECDSA key in /root/.ssh/known_hosts:3

請執行:
# sed -i "3d" ~/.ssh/known_hosts
刪除第三個key.
或手動刪除.

看更多先前的回應...收起先前的回應...
bizpro iT邦大師 1 級 ‧ 2018-05-08 13:18:08 檢舉

最後發現是SSH深層掃描功能導致ssh被擋掉,不知道為何把正常連線誤判,然後查了一下log,這幾天的ssh全部pass
這個深層掃瞄功能真的很惡搞阿

依據: http://help.fortinet.com/fos50hlp/52data/Content/FortiOS/fortigate-firewall-52/Security%20Policies/SSL%20-%20SSH%20Inspection.htm

您說的深層掃描指的是這個嗎? 那麼, 您的fortigate是TLS反向代理 伺服器, 升級fortiOS後的key並未保留, 發出一個新的代理key, 因此才會有此錯誤. 是否在您未更換key(也就是先刪除第三個key再重連)的情形下, 但是ssh"自動"恢復正常嗎?

hsiang11 iT邦好手 1 級 ‧ 2018-05-08 14:02:01 檢舉

沒錯 就是SSL/SSH inspection裡面的SSH Deep Scan
我在5版的升級都未出現過狀況,升級6後就跳出這錯誤了,現在只能先關ssh scan,為什麼升級key不會被保留?
防火牆只是server跟nas的中間設備,只通過封包
為什麼在兩邊key都未變動的狀況下會出此問題?
還是fortios也會記憶下fingerprint去比對?
所以有什麼建議做法?

bizpro iT邦大師 1 級 ‧ 2018-05-08 14:46:08 檢舉

防火牆只是server跟nas的中間設備,只通過封包

當您啟用SSH Deep Scan, 表示防火牆代理了TLS連線, 原理是, Server使用防火牆的Public Key發出TLS連線-->防火牆收到後private key解密, 再用Nas的Public key加密-->NAS用private key解密. 因此, 並非防火牆只是通過封包. 防火牆在TLS反向代理的模式下是用自己發出的Public Key, 也就是您遇到的第三個key.這種代理模式又稱為Man-In-The-Middle-Attack, MITM攻擊. 只是由防火牆來執行. 因此, 刪掉它再重連即可. 建議是關閉SSH Deep Scan.

hsiang11 iT邦好手 1 級 ‧ 2018-05-08 15:33:50 檢舉

感謝大神釐清觀念,你說的是不是Server-->防火牆,防火牆-->NAS
這兩次加解密使用的key都是不同的? TLS代理之後會有兩組key
所以才會在防火牆介入之後才會判斷server和NAS之間的key是不同的

有些資料說rm known_hosts 再重建即可,可是我使用windows putty刪除putty registry 的所有hostkeys之後重新連線還是無法登入
這有點難解

有網友說明
其实这是客户机问题,与SSH服务器无关,只需把.ssh目录下的文件删除即可。下次使用ssh时文件会重建的。
出现这问题的原因一般是同一主机使用了不同的用户名登陆。(如果多个域名和多个IP同时指向同一主机,ssh仍然视为不同主机。)

bizpro iT邦大師 1 級 ‧ 2018-05-08 16:02:44 檢舉

殊途同歸, 目的是刪掉那個不認得的key.

hsiang11 iT邦好手 1 級 ‧ 2018-05-08 16:51:44 檢舉

還是懷疑這是一個fortios6的新bug
只要將app跟ssl的安全配置一起打開,ssl預設開啟deep scan ssh
ssh就會無法登入
但是只要把app關掉之後,ssh登入就會恢復正常
還沒升級的還是先別升比較好

bizpro iT邦大師 1 級 ‧ 2018-05-09 10:30:35 檢舉

"但是只要把app關掉之後,ssh登入就會恢復正常", 當關閉app時, fortios不介入TLS握手, 這是正常的行為, 只是是使用TLS代理的"代價": 讓加密管理維護更困難. 是否是因為升級後預設是開啟Deep Scan?

hsiang11 iT邦好手 1 級 ‧ 2018-05-10 10:03:41 檢舉

原來APP會去介入TLS,不過覺得上一版就有開啟Deep scan了

1
raytracy
iT邦大神 1 級 ‧ 2018-05-07 01:52:33

你在升級完防火牆之後, 仍可以用 ssh 登入到 DB 主機嗎?

看起來, 似乎是:
NAS 認為現在那台遠端主機, 跟以前連線過的對象不一樣, 所以拒絕連線.
你要確認一下, 現在連線的對象跟以前是否同一台?

看更多先前的回應...收起先前的回應...
hsiang11 iT邦好手 1 級 ‧ 2018-05-07 02:01:41 檢舉

所有的一切都沒變動,只有升級防火牆
我在想Forti6新版是不是又有大變動影響到
大神有沒有除錯的方向
Ecdsa key不太懂

hsiang11 iT邦好手 1 級 ‧ 2018-05-07 02:17:23 檢舉

Add correct host key in /root/.ssh/known_hosts有提到重新加入Host key
要怎麼去找Db的host key?

raytracy iT邦大神 1 級 ‧ 2018-05-07 08:41:51 檢舉

你從 NAS 用 ssh client 再連線一次到 DB 主機, 她會跳出類似這樣的訊息問你:

The authenticity of host '10.250.1.1 (10.250.1.1)' can't be established.
ECDSA key fingerprint is SHA256:6bLXdW3P89XwzYChHfSk4lLLW3lJ6N+ScaoW0mvAquQ.
ECDSA key fingerprint is MD5:f0:74:8a:4e:97:5d:96:f6:e8:2e:df:89:45:8b:c0:37.
Are you sure you want to continue connecting (yes/no)?

你按下 yes, 就可以把 host key 加回來...

但問題是,你得先搞清楚,為何 Host key 會改變?

只有幾種狀況會導致 Host Key 改變:

  1. 連線對象的主機被重新安裝 OS
  2. 連線對象跟以前不是同一台主機
  3. NAS自己的 Knonw_host 被刪掉

其中跟防火牆最有關係的是 2., 如果你升級防火牆之後, 因為 Rule 錯亂的關係, 導致 NAS 連錯主機的話, 就會出現 Host Key 不匹配的問題...

所以, 我才要您確認:
從 NAS 連線過去的 DB 主機, 跟以前的 DB 仍是同一台嗎? (我是蠻懷疑她已經連錯台了...)

raytracy iT邦大神 1 級 ‧ 2018-05-07 08:46:11 檢舉

剛剛想到還有一種可能:
是防火牆有 IDP 的功能, 在中間試圖攔截你的加密通訊並解密, 以查看內容. 你可以找一下防火牆相關的 KB, 或是關掉上面的 IDP 功能看看...

hsiang11 iT邦好手 1 級 ‧ 2018-05-07 10:04:41 檢舉

一早登入putty也出現alert,無法登入跳出以下錯誤
檢查一下政策有開app;prx;ssl,我把APP關掉之後就沒有錯誤可以登入了
很奇怪的是 應用程式控制這功能我只開啟擋remote軟體,根本不應該影響那麼大
怎麽會一併ssh都出問題,看來這一版更新問題多多阿
https://ithelp.ithome.com.tw/upload/images/20180507/20104667UYzCb54Jzh.png

hsiang11 iT邦好手 1 級 ‧ 2018-05-07 14:04:59 檢舉

最後發現是SSH深層掃描功能導致ssh被擋掉,不知道為何把正常連線誤判,然後查了一下log,這幾天的ssh全部pass
這個深層掃瞄功能真的很惡搞阿

我要發表回答

立即登入回答