SSブログ

ConoHaの追加情報(2021/11/15) [仮想化]

本件についてブログコメントを頂きました。
私以外にもConoHaで同様の被害に遭われた方がいらっしゃるようです。発生タイミングまで近いとのことで、実はVPSのご近所さんだったという可能性もありますが、仮にそうでないとすると、黒いドロドロとした陰謀を感じざるを得ません。
(もしかして記事の閲覧数が他と比べて多いのは、声を上げない被害者が多いと言うこと?)

話を戻すと、ConoHa全体が標的になっているか、あるいはConoHa以外のVPSも標的になっている可能性があるということです。もしVPSを運用している人がいれば、取り急ぎご自身のサーバのarpテーブルを確認された方が良いかと思います。
デフォルトゲートウェイは、一般にCISCOルータのHSRP仮想MACアドレスや、VRRPの仮想MACアドレスなどになっていると思われます。(そうでないケースもあるので、決めつけはダメ)
ただ、確実に言えることは、基本的にデフォルトゲートウェイのMACアドレスはユニークであるべきで、どこかのVPSノードと重複していることはありえません。(そうなっていたらアウト!)

OpenBSDはOS標準(カーネル?)でarp汚染監視を行っており「arp info overwritten for xxx」といったログが残りますが、Linuxディストリビューションの勝手は分かりませんので、必要ならarp監視ツールを導入するのも良いと思います。


ちなみに、通信はsshやhttpsのように暗号化されているのでarpスプーフィングでパケットを盗聴されても問題ないと思っている人がいるかもしれませんが、大きな間違いです。通信先のトレンドは情報の宝庫です。

例)特定のIPアドレスとの通信が多い
→IPアドレスで身元が分かる場合があり、法人であれば、その法人の管理するVPSであることが判明。

例)特定のIPアドレスとの通信が多い+他の法人と通信を行っている
→該当VPSが社外との通信を行っている業務サーバであることが判明。
 時期や通信の時間帯によって、経理データなどと特定できる場合あり。

例)サービス特有のポートで通信
→80、443、25、587などは用途がモロバレですね。
 telnetポート(TCP/23)で通信しようものなら、パケットキャプチャされて情報漏洩です。

例)サービス隠蔽がバレる
→管理通信にはssh(TCP/22)を使うことが多いですが、該当ポートの通信がなく、
 TCP/2022などでインタラクティブな通信を検出した場合、sshのポート番号変更(サービス隠蔽)がバレてしまいます。

といった感じで、過信は厳禁です。
まあ、私はConoHaを長期契約してしまっているので、そう簡単に引っ越すことはできないのですけどね。また、VPS業界全体を覆うようなクラッキングの動きであれば、他にどこに行っても同じでしょうし。


タグ:conoha
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

ConoHaで対応してもらえました(2021/11/14) [仮想化]

11月12日夕方にConoHa事務局からメールがあり、対策を行ったとのことでした。
当方でarpテーブルを確認し、さらにarpキャプチャを行ったところ、確かに解消されていました。ただ前日の11日中は問題事象発現中であることは確認していますし、結果的に対策はされましたが、事象報告から約一週間が経過しており、セキュリティ事案に対して呑気すぎるという印象です。

ちなみにスプーフィングの挙動を知りたかったので、LAN上のノードに適当にpingを1発撃ち、arpテーブルを表示させたものが以下となります。見る人が見れば戦慄が走ることでしょう。
openbsd # arp -an
Host                                 Ethernet Address    Netif Expire    Flags
192.168.10.1                         aa:aa:aa:aa:aa:aa    vio0 static
192.168.10.xxx                       00:00:00:00:00:1x    vio0 17m29s
192.168.10.xxx                       zz:zz:zz:zz:zz:zz    vio0 18m15s
192.168.10.xxx                       00:00:00:00:00:2x    vio0 19m30s
192.168.10.xxx                       zz:zz:zz:zz:zz:zz    vio0 19m23s
192.168.10.bbb                       bb:bb:bb:bb:bb:bb    vio0 permanent l ← 自分自身
192.168.10.xxx                       zz:zz:zz:zz:zz:zz    vio0 19m37s
192.168.10.xxx                       00:00:00:00:00:3x    vio0 19m43s
192.168.10.xxx                       00:00:00:00:00:4x    vio0 19m45s
192.168.10.xxx                       zz:zz:zz:zz:zz:zz    vio0 19m41s
192.168.10.xxx                       zz:zz:zz:zz:zz:zz    vio0 19m42s
192.168.10.zzz                       zz:zz:zz:zz:zz:zz    vio0 20m0s ← 怪しいノード本体
192.168.10.xxx                       zz:zz:zz:zz:zz:zz    vio0 19m43s
192.168.10.xxx                       zz:zz:zz:zz:zz:zz    vio0 19m46s
192.168.10.xxx                       00:00:00:00:00:5x    vio0 19m58s
192.168.10.xxx                       zz:zz:zz:zz:zz:zz    vio0 19m55s

192.168.10.zzz のarp解決結果がzz:zz:zz:zz:zz:zzであることは本体だから良いとして、それ以外の192.168.10.xxx のarp解決結果がzz:zz:zz:zz:zz:zzとなっているのは、怪しいノードに乗っ取られた結果となります。(偽装されてしまっている)
ゲートウェイの乗っ取りだけでなく、VPSノード側も含めこのセグメントが広範囲に汚染対象になっていることを示しています。

それは言い換えれば、自分のVPSも危ないわけですね。私はスタティックarpによって、私のVPSがゲートウェイを見失わないように対策しましたが、ゲートウェイが私のVPSを見失わないことを保障するものでありません。

気休めの対策になりますが、私のVPSからゲートウェイに対して定期的なpingを撃つようにcronを設定しました。(1分毎に5秒間隔で3発程度) 本来pingは処理負荷を発生させるものなので、無闇に撃つものではありません。しかし状況が状況だけに、今回は致し方なしということで。
主な狙いは
 ・arp学習を促すこと
 ・学習済みのarpキャッシュの更新(エントリから消さない)
 ・万一汚染されていた場合の上書き
です。本当に気休めかもしれませんが。

怪しいノードは抹殺されたようなので、頃を見てcronは消すことにします。





タグ:conoha
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

ConoHaはやめた方がいいかも(2021/11/10) [仮想化]

ConoHa事変の続きになります。
最初に、ここに書いてあることは事実となります。悪意を持ってConoHaを貶めようとか、営業妨害をしようとしているものではありません。また、ここに記載する私の考えとしては、事実から判断される主観的な意見になります。

----------------------------------------------------
結論から言うと、ConoHa事変が再発しました。前回同様に、IPアドレスはクラスCプライベートレンジに書き換えて表現させてもらいます。(実際はグローバルIPアドレス)

まず、このログを見て何か思うでしょうか。192.168.10.1はこのネットワークのゲートウェイとなります。
openbsd # dmesg
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0
arp info overwritten for 192.168.10.1 by zz:zz:zz:zz:zz:zz on vio0
arp info overwritten for 192.168.10.1 by aa:aa:aa:aa:aa:aa on vio0

openbsd # arp -an
Host                                 Ethernet Address    Netif Expire    Flags
192.168.10.1                         zz:zz:zz:zz:zz:zz    vio0 19m3s
192.168.10.bbb                       bb:bb:bb:bb:bb:bb    vio0 permanent l ← 自分自身
192.168.10.zzz                       zz:zz:zz:zz:zz:zz    vio0 20m0s

はい、前回にも書いたように、典型的なスプーフィングの挙動ですね。zzzのノードが、ゲートウェイのMACアドレスを乗っ取り、LAN上の通信が自身を経由するようにarp偽装(スプーフィング)しています。

これが本来のネットワークの姿
20211110_ConoHa_VPS_01.png


実際に起こっていること(若干正確でないけど)
20211110_ConoHa_VPS_02.png


図を見て分かるとおり、悪意あるVPS zzzが盗聴できる状態となっており、このネットワークに属する全てのVPSは危険な状態にあります。(私はスタティックarp設定で事象を回避)
前回、詰めが甘いと書きましたが、それはzzzの通信透過状況が不完全であり、通信障害が起こって気付かれてしまうというところからの発言でした。ただ、今回調べてみるとノードによってはzzzを介してping疎通できるノードもいるようで、実はちゃんと(?)偽装できてしまっているのかもしれません。より深刻ですが。。。

とりあえず2021年11月7日にヘルプデスクに事象報告していますが、11月10日午前0時半現在、回答もありませんし、事象も対策されていません。
そういった点で、運営の職務怠慢(監視項目の不足)、もしくは、ことの重大さに気付いていない技術力の低さ・セキュリティ意識の低さから、ConoHaはやめた方がいいのでは?と書かせていただいています。

まあ他のVPSサービスも、明らかになっていないだけで同様の事象は起こっているのかもしれません。私が見えているのが、実際に契約して目の前にあるConoHa VPSというだけで。また、ConoHaの中でもたまたま運が悪いセグメントに割当たってしまったのかもしれません。

もし仮想サーバやVPSを契約されている人がいらっしゃるなら、自分の環境を一度確認された方が良いかもしれません。



タグ:conoha
nice!(0)  コメント(1) 
共通テーマ:日記・雑感

Citrix Hypervisor(XenServer)は、CLI専用? その2(Citrix Hypervisor 8.2、2021/10/28) [仮想化]

この辺を参考にして、
https://discussions.citrix.com/topic/407378-vms-console-resolution-increase-not-possible-on-80-81/
xe vm-param-set uuid= platform:vga=std
xe vm-param-set uuid= platform:videoram=16

ってやってみたけど、上位解像度は使えないままだった。VRAM容量の問題ではないらしい。


nice!(0)  コメント(0) 
共通テーマ:日記・雑感

Citrix Hypervisor(XenServer)は、CLI専用? その1(Citrix Hypervisor 8.2、2021/10/28) [仮想化]

おそらく同じハイパーバイザー系のVMware ESXiも同じだと思いますが、Citrix Hypervisorはグラフィック系は弱いようです。まあフリーのExpressエディションではなく、ちゃんとライセンスを買ってStandard以上にすれば「GPUパススルー」機能がサポートされるようになるので、話はそれからかもしれませんが。
Citrix Hypervisor上にVDIを構築して、外出先から繋がるようにと思ったのですが、なかなか難しそうです。

■Zorin16をインストールして、解像度を1280x800に変更(Citrix Hypervisorコンソール)

20211028_CH_Zorin16_02.jpg


■Zorin16をインストールして、解像度を1366x768に変更(Citrix Hypervisorコンソール)

20211028_CH_Zorin16_01.jpg


■Zorin16をインストールして、解像度1024x768そのままにAnyDeskをインストールして接続(AnyDesk側)

20211028_CH_Zorin16_Any_01.png



nice!(0)  コメント(0) 
共通テーマ:日記・雑感

ConoHa事変 その4(2021/10/16) [仮想化]

結果から言えば、ちゃんと運営が対応してくれました。下記文面の感じからして、ノードは強制停止されたようです。実際にキャプチャしても秒間10発を越えるarpパケットは消え失せていました。

----------------------------------------------------
お問い合わせの件につきまして、お寄せいただいているMACアドレスから
ConoHaのVPSのご利用者である状況を確認いたしました。

対象VPSへの対応、ご利用者様へのご連絡について
対応させていただきましたので通信状況について
ご確認いただけますと幸いでございます。
----------------------------------------------------

ブログ時に時間が空いてしまってしますが、2回目の連絡を入れてから翌日の夕方には対応して頂いています。当事者への連絡や確認待ちの時間を考えると、かなりスピーディーに動いて貰えたと思っています。

VPSはなんでも自由にできる反面、下手な素人が扱うと危険な側面もあります。設定ミスで周囲に迷惑を掛けてしまうと言った点を含め。
攻撃にしては稚拙だったので、個人的にはIPSなどのセキュリティソフトの設定を間違えてやらかしてしまったのだと思っていますが、皆さんはどう感じられるでしょうか。

ConoHaは居心地が良さそうなので、しばらくは居座ることにしてみます。まあ、3年契約でチケット買っちゃってますし。


タグ:conoha
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

ConoHa事変 その3(2021/10/10) [仮想化]

日が明けましたが、特にサポート窓口からの回答はありません。特に対策もされていないようです。
あれからOpenBSDのarpテーブルもチェックしていたのですが、例の不審なノードがずっとエントリされ続けています。arpスプーフィングに関与する処理の関係でarpキャッシュに登録・更新されるようですが、例のノードがexpire期限MAXの20mからピクリともしません。(他のノードは19m35sのように減っていく)

まさかと思ってarpをtcpdumpでキャプチャーしてみたら、さらに愕然。例のNGノードがものすごい勢いでarp解決要求をしているではありませんか。
11:45:35.065653 arp who-has 192.168.11.143 tell 192.168.10.NG
11:45:35.071090 arp who-has 192.168.10.40 tell 192.168.10.NG
11:45:35.211355 arp who-has 192.168.10.79 tell 192.168.10.NG
11:45:35.291349 arp who-has 192.168.11.130 tell 192.168.10.NG
11:45:35.317422 arp who-has 192.168.10.63 tell 192.168.10.NG
11:45:35.343413 arp who-has 192.168.10.17 tell 192.168.10.NG
11:45:35.343486 arp who-has 192.168.11.68 tell 192.168.10.NG
11:45:35.519375 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:35.674988 arp who-has 192.168.11.4 tell 192.168.10.NG
11:45:35.827170 arp who-has 192.168.10.42 tell 192.168.10.NG
11:45:35.945968 arp who-has 192.168.11.189 tell 192.168.10.NG
11:45:36.073275 arp who-has 192.168.10.40 tell 192.168.10.NG
11:45:36.293482 arp who-has 192.168.11.130 tell 192.168.10.NG
11:45:36.345550 arp who-has 192.168.11.68 tell 192.168.10.NG
11:45:36.673354 arp who-has 192.168.11.4 tell 192.168.10.NG
11:45:36.767629 arp who-has 192.168.10.37 tell 192.168.10.NG
11:45:36.829674 arp who-has 192.168.10.42 tell 192.168.10.NG
11:45:36.904370 arp who-has 192.168.10.11 tell 192.168.10.NG
11:45:36.947479 arp who-has 192.168.11.189 tell 192.168.10.NG
11:45:37.075382 arp who-has 192.168.10.40 tell 192.168.10.NG
11:45:37.295357 arp who-has 192.168.11.130 tell 192.168.10.NG
11:45:37.409821 arp who-has 192.168.11.154 tell 192.168.10.NG
11:45:37.675464 arp who-has 192.168.11.4 tell 192.168.10.NG
11:45:37.769429 arp who-has 192.168.10.37 tell 192.168.10.NG
11:45:37.811238 arp who-has 192.168.11.158 tell 192.168.10.NG
11:45:37.832530 arp who-has 192.168.10.42 tell 192.168.10.NG
11:45:37.899239 arp who-has 192.168.11.169 tell 192.168.10.NG
11:45:37.905320 arp who-has 192.168.10.11 tell 192.168.10.NG
11:45:37.947784 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:37.949427 arp who-has 192.168.11.189 tell 192.168.10.NG
11:45:37.967070 arp who-has 192.168.11.104 tell 192.168.10.NG
11:45:38.133821 arp who-has 192.168.11.207 tell 192.168.10.NG
11:45:38.185216 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:38.394103 arp who-has 192.168.11.143 tell 192.168.10.NG
11:45:38.411375 arp who-has 192.168.11.154 tell 192.168.10.NG
11:45:38.471231 arp who-has 192.168.11.163 tell 192.168.10.NG
11:45:38.771430 arp who-has 192.168.10.37 tell 192.168.10.NG
11:45:38.813372 arp who-has 192.168.11.158 tell 192.168.10.NG
11:45:38.901384 arp who-has 192.168.11.169 tell 192.168.10.NG
11:45:38.907474 arp who-has 192.168.10.11 tell 192.168.10.NG
11:45:38.949436 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:38.969476 arp who-has 192.168.11.104 tell 192.168.10.NG
11:45:39.135290 arp who-has 192.168.11.207 tell 192.168.10.NG
11:45:39.185348 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:39.188572 arp who-has 192.168.10.79 tell 192.168.10.NG
11:45:39.208985 arp who-has 192.168.10.7 tell 192.168.10.NG
11:45:39.323667 arp who-has 192.168.11.10 tell 192.168.10.NG
11:45:39.395289 arp who-has 192.168.11.143 tell 192.168.10.NG
11:45:39.413292 arp who-has 192.168.11.154 tell 192.168.10.NG
11:45:39.473392 arp who-has 192.168.11.163 tell 192.168.10.NG
11:45:39.639904 arp who-has 192.168.10.82 tell 192.168.10.NG
11:45:39.690973 arp who-has 192.168.10.104 tell 192.168.10.NG
11:45:39.815516 arp who-has 192.168.11.158 tell 192.168.10.NG
11:45:39.903631 arp who-has 192.168.11.169 tell 192.168.10.NG
11:45:39.945685 arp who-has 192.168.10.135 tell 192.168.10.NG
11:45:39.951509 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:39.971336 arp who-has 192.168.11.104 tell 192.168.10.NG
11:45:40.137426 arp who-has 192.168.11.207 tell 192.168.10.NG
11:45:40.187404 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:40.189350 arp who-has 192.168.10.79 tell 192.168.10.NG
11:45:40.209450 arp who-has 192.168.10.7 tell 192.168.10.NG
11:45:40.325393 arp who-has 192.168.11.10 tell 192.168.10.NG
11:45:40.397355 arp who-has 192.168.11.143 tell 192.168.10.NG
11:45:40.475406 arp who-has 192.168.11.163 tell 192.168.10.NG
11:45:40.641370 arp who-has 192.168.10.82 tell 192.168.10.NG
11:45:40.693271 arp who-has 192.168.10.104 tell 192.168.10.NG
11:45:40.837139 arp who-has 192.168.10.87 tell 192.168.10.NG
11:45:40.895048 arp who-has 192.168.11.146 tell 192.168.10.NG
11:45:40.947382 arp who-has 192.168.10.135 tell 192.168.10.NG
11:45:41.118551 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:41.191354 arp who-has 192.168.10.79 tell 192.168.10.NG
11:45:41.211352 arp who-has 192.168.10.7 tell 192.168.10.NG
11:45:41.328005 arp who-has 192.168.11.10 tell 192.168.10.NG
11:45:41.643453 arp who-has 192.168.10.82 tell 192.168.10.NG
11:45:41.695420 arp who-has 192.168.10.104 tell 192.168.10.NG
11:45:41.837417 arp who-has 192.168.10.87 tell 192.168.10.NG
11:45:41.897403 arp who-has 192.168.11.146 tell 192.168.10.NG
11:45:41.928330 arp who-has 192.168.11.98 tell 192.168.10.NG
11:45:41.949341 arp who-has 192.168.10.135 tell 192.168.10.NG
11:45:42.121358 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:42.135620 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:42.328318 arp who-has 192.168.11.194 tell 192.168.10.NG
11:45:42.839377 arp who-has 192.168.10.87 tell 192.168.10.NG
11:45:42.899469 arp who-has 192.168.11.146 tell 192.168.10.NG
11:45:42.929439 arp who-has 192.168.11.98 tell 192.168.10.NG
11:45:43.123396 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:43.137419 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:43.329414 arp who-has 192.168.11.194 tell 192.168.10.NG
11:45:43.931473 arp who-has 192.168.11.98 tell 192.168.10.NG
11:45:44.139427 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:44.331400 arp who-has 192.168.11.194 tell 192.168.10.NG
11:45:44.641186 arp who-has 192.168.10.7 tell 192.168.10.NG
11:45:45.120768 arp who-has 192.168.10.79 tell 192.168.10.NG
11:45:45.353762 arp who-has 192.168.10.226 tell 192.168.10.NG
11:45:45.595204 arp who-has 192.168.10.37 tell 192.168.10.NG
11:45:45.641412 arp who-has 192.168.10.7 tell 192.168.10.NG
11:45:45.904634 arp who-has 192.168.11.142 tell 192.168.10.NG
11:45:46.038754 arp who-has 192.168.11.159 tell 192.168.10.NG
11:45:46.121291 arp who-has 192.168.10.79 tell 192.168.10.NG
11:45:46.155036 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:46.232495 arp who-has 192.168.11.71 tell 192.168.10.NG
11:45:46.355412 arp who-has 192.168.10.226 tell 192.168.10.NG
11:45:46.484745 arp who-has 192.168.10.82 tell 192.168.10.NG
11:45:46.501675 arp who-has 192.168.11.116 tell 192.168.10.NG
11:45:46.597376 arp who-has 192.168.10.37 tell 192.168.10.NG
11:45:46.643497 arp who-has 192.168.10.7 tell 192.168.10.NG
11:45:46.686895 arp who-has 192.168.11.11 tell 192.168.10.NG
11:45:46.807001 arp who-has 192.168.11.143 tell 192.168.10.NG
11:45:46.880435 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:46.904610 arp who-has 192.168.10.11 tell 192.168.10.NG
11:45:46.905330 arp who-has 192.168.11.142 tell 192.168.10.NG
11:45:46.974927 arp who-has 192.168.10.171 tell 192.168.10.NG
11:45:47.041392 arp who-has 192.168.11.159 tell 192.168.10.NG
11:45:47.073387 arp who-has 192.168.11.5 tell 192.168.10.NG
11:45:47.123432 arp who-has 192.168.10.79 tell 192.168.10.NG
11:45:47.157584 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:47.230973 arp who-has 192.168.11.154 tell 192.168.10.NG
11:45:47.233551 arp who-has 192.168.11.71 tell 192.168.10.NG
11:45:47.245727 arp who-has 192.168.11.230 tell 192.168.10.NG
11:45:47.349977 arp who-has 192.168.11.63 tell 192.168.10.NG
11:45:47.357348 arp who-has 192.168.10.226 tell 192.168.10.NG
11:45:47.485395 arp who-has 192.168.10.82 tell 192.168.10.NG
11:45:47.503549 arp who-has 192.168.11.116 tell 192.168.10.NG
11:45:47.599349 arp who-has 192.168.10.37 tell 192.168.10.NG
11:45:47.689336 arp who-has 192.168.11.11 tell 192.168.10.NG
11:45:47.710574 arp who-has 192.168.11.99 tell 192.168.10.NG
11:45:47.809315 arp who-has 192.168.11.143 tell 192.168.10.NG
11:45:47.881497 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:47.905384 arp who-has 192.168.10.11 tell 192.168.10.NG
11:45:47.907314 arp who-has 192.168.11.142 tell 192.168.10.NG
11:45:47.907315 arp who-has 192.168.11.169 tell 192.168.10.NG
11:45:47.977342 arp who-has 192.168.10.171 tell 192.168.10.NG
11:45:48.025151 arp who-has 192.168.11.4 tell 192.168.10.NG
11:45:48.043339 arp who-has 192.168.11.159 tell 192.168.10.NG
11:45:48.073357 arp who-has 192.168.11.5 tell 192.168.10.NG
11:45:48.159312 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:48.176023 arp who-has 192.168.10.42 tell 192.168.10.NG
11:45:48.211728 arp who-has 192.168.10.87 tell 192.168.10.NG
11:45:48.233346 arp who-has 192.168.11.154 tell 192.168.10.NG
11:45:48.235631 arp who-has 192.168.11.71 tell 192.168.10.NG
11:45:48.247429 arp who-has 192.168.11.230 tell 192.168.10.NG
11:45:48.351308 arp who-has 192.168.11.63 tell 192.168.10.NG
11:45:48.487422 arp who-has 192.168.10.82 tell 192.168.10.NG
11:45:48.488666 arp who-has 192.168.10.135 tell 192.168.10.NG
11:45:48.505329 arp who-has 192.168.11.116 tell 192.168.10.NG
11:45:48.691385 arp who-has 192.168.11.11 tell 192.168.10.NG
11:45:48.711352 arp who-has 192.168.11.99 tell 192.168.10.NG
11:45:48.744164 arp who-has 192.168.11.189 tell 192.168.10.NG
11:45:48.801855 arp who-has 192.168.11.68 tell 192.168.10.NG
11:45:48.811507 arp who-has 192.168.11.143 tell 192.168.10.NG
11:45:48.883362 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:48.907545 arp who-has 192.168.10.11 tell 192.168.10.NG
11:45:48.909351 arp who-has 192.168.11.169 tell 192.168.10.NG
11:45:48.979440 arp who-has 192.168.10.171 tell 192.168.10.NG
11:45:49.025346 arp who-has 192.168.11.4 tell 192.168.10.NG
11:45:49.075316 arp who-has 192.168.11.5 tell 192.168.10.NG
11:45:49.163868 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:49.177372 arp who-has 192.168.10.42 tell 192.168.10.NG
11:45:49.213402 arp who-has 192.168.10.87 tell 192.168.10.NG
11:45:49.235447 arp who-has 192.168.11.154 tell 192.168.10.NG
11:45:49.245477 arp who-has 192.168.11.45 tell 192.168.10.NG
11:45:49.249417 arp who-has 192.168.11.230 tell 192.168.10.NG
11:45:49.250544 arp who-has 192.168.10.28 tell 192.168.10.NG
11:45:49.327903 arp who-has 192.168.10.196 tell 192.168.10.NG
11:45:49.353389 arp who-has 192.168.11.63 tell 192.168.10.NG
11:45:49.434210 arp who-has 192.168.11.158 tell 192.168.10.NG
11:45:49.452714 arp who-has 192.168.10.127 tell 192.168.10.NG
11:45:49.489522 arp who-has 192.168.10.135 tell 192.168.10.NG
11:45:49.713373 arp who-has 192.168.11.99 tell 192.168.10.NG
11:45:49.745344 arp who-has 192.168.11.189 tell 192.168.10.NG
11:45:49.803415 arp who-has 192.168.11.68 tell 192.168.10.NG
11:45:49.853559 arp who-has 192.168.10.60 tell 192.168.10.NG
11:45:49.911428 arp who-has 192.168.11.169 tell 192.168.10.NG
11:45:49.922511 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:50.027405 arp who-has 192.168.11.4 tell 192.168.10.NG
11:45:50.033135 arp who-has 192.168.10.58 tell 192.168.10.NG
11:45:50.165427 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:50.179400 arp who-has 192.168.10.42 tell 192.168.10.NG
11:45:50.215427 arp who-has 192.168.10.87 tell 192.168.10.NG
11:45:50.237637 arp who-has 192.168.10.6 tell 192.168.10.NG
11:45:50.240565 arp who-has 192.168.11.209 tell 192.168.10.NG
11:45:50.245412 arp who-has 192.168.11.45 tell 192.168.10.NG
11:45:50.253325 arp who-has 192.168.10.28 tell 192.168.10.NG
11:45:50.329441 arp who-has 192.168.10.196 tell 192.168.10.NG
11:45:50.435349 arp who-has 192.168.11.158 tell 192.168.10.NG
11:45:50.453355 arp who-has 192.168.10.127 tell 192.168.10.NG
11:45:50.491372 arp who-has 192.168.10.135 tell 192.168.10.NG
11:45:50.747474 arp who-has 192.168.11.189 tell 192.168.10.NG
11:45:50.795637 arp who-has 192.168.10.63 tell 192.168.10.NG
11:45:50.805383 arp who-has 192.168.11.68 tell 192.168.10.NG
11:45:50.853438 arp who-has 192.168.10.60 tell 192.168.10.NG
11:45:50.874183 arp who-has 192.168.10.40 tell 192.168.10.NG
11:45:50.925411 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:51.033663 arp who-has 192.168.10.58 tell 192.168.10.NG
11:45:51.167382 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:51.239368 arp who-has 192.168.10.6 tell 192.168.10.NG
11:45:51.241395 arp who-has 192.168.11.209 tell 192.168.10.NG
11:45:51.247365 arp who-has 192.168.11.45 tell 192.168.10.NG
11:45:51.255423 arp who-has 192.168.10.28 tell 192.168.10.NG
11:45:51.331376 arp who-has 192.168.10.196 tell 192.168.10.NG
11:45:51.335699 arp who-has 192.168.11.35 tell 192.168.10.NG
11:45:51.437466 arp who-has 192.168.11.158 tell 192.168.10.NG
11:45:51.455626 arp who-has 192.168.10.127 tell 192.168.10.NG
11:45:51.524309 arp who-has 192.168.10.82 tell 192.168.10.NG
11:45:51.656073 arp who-has 192.168.11.143 tell 192.168.10.NG
11:45:51.797390 arp who-has 192.168.10.63 tell 192.168.10.NG
11:45:51.855420 arp who-has 192.168.10.60 tell 192.168.10.NG
11:45:51.875479 arp who-has 192.168.10.40 tell 192.168.10.NG
11:45:51.927372 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:52.035976 arp who-has 192.168.10.58 tell 192.168.10.NG
11:45:52.241427 arp who-has 192.168.10.6 tell 192.168.10.NG
11:45:52.244431 arp who-has 192.168.11.209 tell 192.168.10.NG
11:45:52.337380 arp who-has 192.168.11.35 tell 192.168.10.NG
11:45:52.375848 arp who-has 192.168.11.104 tell 192.168.10.NG
11:45:52.525310 arp who-has 192.168.10.82 tell 192.168.10.NG
11:45:52.657349 arp who-has 192.168.11.143 tell 192.168.10.NG
11:45:52.666610 arp who-has 192.168.11.237 tell 192.168.10.NG
11:45:52.799318 arp who-has 192.168.10.63 tell 192.168.10.NG
11:45:52.877377 arp who-has 192.168.10.40 tell 192.168.10.NG
11:45:52.902561 arp who-has 192.168.10.233 tell 192.168.10.NG
11:45:53.175155 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:53.330722 arp who-has 192.168.10.6 tell 192.168.10.NG
11:45:53.339428 arp who-has 192.168.11.35 tell 192.168.10.NG
11:45:53.377373 arp who-has 192.168.11.104 tell 192.168.10.NG
11:45:53.527404 arp who-has 192.168.10.82 tell 192.168.10.NG
11:45:53.556875 arp who-has 192.168.10.58 tell 192.168.10.NG
11:45:53.574757 arp who-has 192.168.11.142 tell 192.168.10.NG
11:45:53.659466 arp who-has 192.168.11.143 tell 192.168.10.NG
11:45:53.669319 arp who-has 192.168.11.237 tell 192.168.10.NG
11:45:53.903376 arp who-has 192.168.10.233 tell 192.168.10.NG
11:45:53.961369 arp who-has 192.168.11.154 tell 192.168.10.NG
11:45:54.177347 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:54.184023 arp who-has 192.168.10.79 tell 192.168.10.NG
11:45:54.262654 arp who-has 192.168.10.232 tell 192.168.10.NG
11:45:54.333431 arp who-has 192.168.10.6 tell 192.168.10.NG
11:45:54.379489 arp who-has 192.168.11.104 tell 192.168.10.NG
11:45:54.517740 arp who-has 192.168.10.31 tell 192.168.10.NG
11:45:54.550625 arp who-has 192.168.11.4 tell 192.168.10.NG
11:45:54.557423 arp who-has 192.168.10.58 tell 192.168.10.NG
11:45:54.577394 arp who-has 192.168.11.142 tell 192.168.10.NG
11:45:54.671599 arp who-has 192.168.11.237 tell 192.168.10.NG
11:45:54.767411 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:54.905412 arp who-has 192.168.10.233 tell 192.168.10.NG
11:45:54.961375 arp who-has 192.168.11.154 tell 192.168.10.NG
11:45:55.179432 arp who-has 192.168.11.139 tell 192.168.10.NG
11:45:55.186729 arp who-has 192.168.10.79 tell 192.168.10.NG
11:45:55.265479 arp who-has 192.168.10.232 tell 192.168.10.NG
11:45:55.336230 arp who-has 192.168.10.6 tell 192.168.10.NG
11:45:55.381952 arp who-has 192.168.11.98 tell 192.168.10.NG
11:45:55.519436 arp who-has 192.168.10.31 tell 192.168.10.NG
11:45:55.551381 arp who-has 192.168.11.4 tell 192.168.10.NG
11:45:55.559435 arp who-has 192.168.10.58 tell 192.168.10.NG
11:45:55.581374 arp who-has 192.168.11.142 tell 192.168.10.NG
11:45:55.653643 arp who-has 192.168.10.116 tell 192.168.10.NG
11:45:55.769347 arp who-has 192.168.10.201 tell 192.168.10.NG
11:45:55.963384 arp who-has 192.168.11.154 tell 192.168.10.NG

これは仮に悪意がなくともやばい領域なので、サポート窓口に2回目の通報を決行。1回目の通報に対応してくれている気配もなかったので、今回は強めの口調です。

これでも対応してくれないようだったら、ConoHaやめて他に移った方が良さそうですね。


その4へ続く。


タグ:conoha
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

ConoHa事変 その2(2021/10/08) [仮想化]

本気でデフォルトルータ(≒通信)を乗っ取るなら、NAT噛ましてでも通信が外部に出られるよう(バレないよう)にするべきで、通信断が起きて第三者(私)に発覚している時点で、ド素人もしくは故意ではない過失のような気もしますが、手段は間違いなくarpスプーフィングです。

攻撃はともかく、ライフラインになっているうちのメールサーバが機能停止するのはどうしても避けたかったので、OpenBSDにスタティックarpを設定して、デフォルトルータのIPアドレスとCISCO HSRPv2の仮想MACアドレスを紐付けました。これでarp汚染は回避できます。

攻撃の余波なのか、/etc/mygateからIPv4のデフォルトルータが消失していたので、復活させました。www.yahoo.comにIPv4でpingを飛ばし、疎通に問題ないことを確認しました。
sshで接続できるようになり、VPSの管理コンソールからssh接続へバトンタッチです。しばらくは怖かったので、3秒程度の間隔を空け、www.yahoo.comに定期的にpingを打ち続けました。ping断が起きたり、RTTが大きく揺らいだりすると要注意です。

ついでにOpenBSD上でarpスプーフィング対策できるソフトウェアを探してみたのですが、特にないようです。検知できるarpwatchというものがあるようですが、OpenBSDの標準機能で実現できていますし、二重で動かす必要はありません。
そういった点ではOpenBSDに助けられました。OpenBSDで良かったと思います。

とりあえずここでConoHaサポート窓口に一報を入れました。悪意ある攻撃とは断定しきれなかったので、多少のログを提示し、ネットワーク上におかしい挙動をしているノードがいるのでチェックしてくれないか、そんな感じの柔らかめの一報です。

その3へ続く。


タグ:conoha
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

ConoHa事変 その1(2021/10/07) [仮想化]

ちょっと怖い事件が起きました。皆さんはどのように捉えられますでしょうか。

発端は、ConoHa VPSで運用しているメールサーバ(中継サーバ)からメールが届かなかったことです。Steamのコード認証で、待てど暮らせどSteamからの認証メールが届かないのです。おそらくこのコード認証行為を行っていなかったら、発見はもっと遅くなったでしょう。

あれ?と思い、メールサーバにsshで接続しようとしたのですが、なぜか接続できません。ConoHa側のメンテナンスでシャットダウンでもされてしまったのかと思い、ConoHaコントロールパネルからコンソールに接続すると、ちゃんと稼働しています。
ネットワークに不具合か?と思ってwww.yahoo.comにpingを飛ばしますが、なぜか応答がありません。DNS関連?と思いつつ、デフォルトルータ(ここでは便宜上192.168.10.254とします)にpingを飛ばしてもなぜか応答がない。

さらにおかしいなと思いつつログを見て愕然としました。マジモンのarpスプーフィングです。MACアドレスの00:00:0c:9f:~は、CISCO HSRPv2の仮想MACアドレスですから、こちらがおそらく本物なのでしょう。
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
arp info overwritten for 192.168.10.254 by NG:NG:NG:NG:NG:NG on vio0
arp info overwritten for 192.168.10.254 by 00:00:0c:9f:xx:xx on vio0
…永遠と続く

MACアドレスNG:NG:NG:NG:NG:NG(伏せ字)の正体が分かりませんから、百に一つ、機器故障か何かではないかと信じたいところもありました。それにうちのOpenBSDサーバが狂った可能性もありますから。

まあVPSのコンソール画面は手元で握っていますので、仮にネットワークアンリーチャブルになっても復旧可能と考え、再起動してみることにしました。

起動時のログを眺めていると…
duplicate IP address 192.168.10.100 sent from ethernet address NG:NG:NG:NG:NG:NG

乗っ取られようとしている! これはマジでヤバいやつです。

その2へ続く。


タグ:conoha
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

Citrix Hypervisor(XenServer)のアップデートパッチ その5(Citrix Hypervisor 8.2、2021/10/02) [仮想化]

この状態で、XS82E028を再度一覧からオンライン適用させようとすると、やはり「アップデートファイルが特定できません」とエラーになるのですが、諦めずにファイル指定でISOファイルを指定すると、今度はグレーアウトせずパッチができようできる状態になります。
20211002_CitrixHyper_07.png


こうなれば普通に画面遷移できるようになり、パッチが適用できてしまいます。最初に言ったように、何が正解なのかよく分かりません。これが正解か分かりませんが、パッチ適用できず困っている人は試してみてはいかがでしょうか。
20211002_CitrixHyper_08.png

20211002_CitrixHyper_09.png

20211002_CitrixHyper_10.png

20211002_CitrixHyper_11.png


これまでの流れです。どこが必須条件か分かりません。感覚的には2~4の流れでいけそうな気もします。
1.アップデートで、一覧からオンラインパッチを選択して適用失敗する
2.パッチを手動でダウンロードし、手動適用しようとして失敗する(グレーアウト)
3.アップデートで、一覧からオンラインパッチを選択して適用失敗する
4.再度ISOファイルを手動適用するとグレーアウトしていないので、アップデート処理可能



nice!(0)  コメント(0) 
共通テーマ:日記・雑感