SuperMicro IPMI BMCの保護


17

最近、基本的にIPMIシステムを実行するBMCが組み込まれたSuperMicro X8DTU-Fマザーボードを購入しました。これは、ARMプロセッサーで実行される小さなLinuxシステムであることが判明しました。

残念ながら、それはソフトウェアのボートロードを実行していますが、その多くは必要ありませんし、ファイアウォールの内側に置くこともできません。ただし、IPMI機能が必要です。これらのいずれかを使用したことがある人は、物を保護する方法についていくつかの具体的な提案を持っていますか?それは本質的にROMファイルシステムであるものから起動し、それが実行するさまざまなサーバーのいずれかをオフにするフックさえないようです...

また、さまざまなサービスすべてを通じてシステムにアクセスするために使用できる名前とパスワードのリストを確認する方法にも興味があります。デフォルトはADMIN/ ですがADMIN、/ confまたは/ etc内のファイルには「ADMIN」がありません。不思議な「テスト」ID /conf/shadowを含む/conf/webshadowファイルがありますが、これは私にとっても特に快適なものではありません。


シャドウ、webshadowのコンテンツと実際に有効なユーザーとの間に相関関係はまだ見つかっていません。BMC管理を介して追加された新しいユーザーは、これらのファイルには表示されません。さらに、「匿名」、「test1」、「test2」ユーザーには、ファイルシステム上に存在しないシェルがあります。
ダニエルローソン

2
IPMI Security Best PracticesのDan Farmerのガイドも参照してください。彼は、ipmi:貨物列車から地獄へという、IPMIの重大なセキュリティ問題を詳述した最近のペーパーをリリースしました。
ステファンLasiewski

1
その素晴らしいリンクをありがとう。セキュリティ問題の短い要約はfish2.com/ipmi/itrain-gz.htmlにあり、非常に短い要約は「あなたは完全に台無しです」です。 はぁ。
カートJ.サンプソン

回答:


6

使用/conf/crontabdlawsonが指摘したように、私には優れたアイデアのように聞こえます。これにより、httpとssh以外をすべてシャットダウンするスクリプトを1分間に1回実行できます。

/etc/init.d/cdserver stop
/etc/init.d/fdserver stop
/etc/init.d/cim_sfcb stop
/etc/init.d/webgo stop

それでも、パスワードベースのアクセス制御を備えたWebサーバー(クライアント証明書を検証する方法がわかりません)と、どのリモートの脆弱性を知っているのかは、私に任せています。使用していないとき(ほとんどの場合)オフにすることは、合理的な解決策のようです。crontabエントリを追加して5分または10分ごとにシャットダウンすると、完了後に誰かがそれをシャットダウンするのを忘れた場合をキャッチできます。

sshデーモンはdropbearのバージョンで、かなり大きく変更されているようです。ユーザー名とプレーンテキストパスワード/conf/PMConfig.dat(Webサーバーでも使用されます)を読み取り、有効な名前とパスワードをルートユーザーとしてログインし、~/.ssh/authorized_keysファイルを無視します。この最後の問題は迷惑です。パスワードによるログインを許可し、どこから名前とパスワードを取得するかに応じて、バックドアの可能性を開きます。

それがあなたが直面するジレンマです:セキュリティが未熟な開発者によってかなり明らかに設計されたシステムにインストールされたこの変更されたsshデーモンを本当にどれだけ信頼していますか?シェルスクリプトで見た壊れた断片の数を考えると、それほど多くはありません。珍しい命名規則(/etc/rc?.d/sshdは/etc/init.d/sshへのシンボリックリンク)、使用されていないように見える大量のコード、ssh起動スクリプトだけの機能などがあります。/conf/portcfg_sshファイルもrestart、コマンドは完全に壊れています。(これらを使用しようとしないでください。既存のログインがない場合、sshdは再起動せず、ねじ込みます。BMCを再起動し、再フラッシュする必要がありました。)

私が考えることができる最良のオプションは、物をまったく使用する場合、cronジョブを使用して代替ポートでsshを開始することですので、少なくともポートスキャンに表示される可能性は低くなります。

最後のコンポーネントは、IPMIネットワーク管理ポートです。これらをオフにする方法がわかりません。


変更に関する懸念のほとんどは、おそらく問題ではありません。Dropbearはpamを使用します。これは、authにlibpamipmiを使用します-実際にクリアテキストパスワードを直接読み取るという証拠は見ていません。Libpamipmiはipmiスタックに対してipmi呼び出しを行います。これはクリアテキストパスワードを読み取る可能性がありますが、droppointデーモンが台無しにされているようには見えないということです。しかし、あなたが反対しなければならない決定的な証拠を聞いてみたいです。
ダニエルローソン

まあ、私たちは、a)パスワードではなくキーを使用し、b)パスワード認証を無効にする方法がないという点で壊れていることを知っています。
カートJ.サンプソン

6

理想的には、管理ネットワークは他のネットワークとは異なるネットワーク、または少なくともルーティングアクセスが制限された異なるVLANであると考えられます。

ただし、これらのシステムは実際にはそれほど多くのサービスを実行していません。

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
555/tcp  open  dsf
5120/tcp open  unknown
5900/tcp open  vnc
5988/tcp open  unknown
MAC Address: 00:30:48:D9:3A:71 (Supermicro Computer)

(およびIPMI自体のUDP / 623)

これらのほとんどは、何らかのリモート管理を行う場合に必要です。リモート管理を行いたくない場合は、IPMIコントローラーをまったく有効にしないか、代わりにX9DTUボードを購入することを検討してください(-Fは「ビルトインBMC」を示します)

完全なリモート管理を行いたい場合、IPMIコントローラーを別のネットワークで実行できず、一部のアクセスを無効にしたい場合は、常にIPMIコントローラーを取得してiptablesコマンドを実行できます。sshログインのスクリプトを作成してコマンドを実行するか、SupermicroにBMCの開発キットを要求して、カスタムiptablesスクリプトを使用して新しいイメージを作成できます。

更新

ここでシステムをもう一度見ましたが、/ confファイルシステムはrwでマウントされています。どのinitスクリプトも/ confで直接呼び出したものはありません(表示されています)が、crontabファイルがあります。したがって、iptablesスクリプトをコピーし、/ conf / crontabを編集して適切な間隔で呼び出すことができると思います。BMC initでできるだけ早く実行する必要がありますが、毎分実行する必要はありません。または、気にしないかもしれません。


管理用に別のネットワークが欲しいのですが、残念ながらこれは他の誰かのデータセンターに侵入しているので、それはできません。管理に関しては、私が本当に欲しいのはhttpsとsshだけです。
カートJ.サンプソン

KVMをLAN経由で使用することは決してないでしょうか?
ダニエルローソン

DCのホストの前に別のファイアウォールユニットを置くことができます。これで問題はいくらか解決します。これに関する支援をSupermicroのサポートに依頼しましたか?私は彼らがかなり反応性であることがわかってきました
ダニエルローソン

いいえ。BIOS、Grub、Linuxカーネルはすべてシリアルコンソールをサポートしているため、KVM over LANは必要ありません。
カートJ.サンプソン

4

Supermicro IPMIを保護する際に考慮すべきことの1つは、sshサーバーです。X8SIL-F IPMIコードの古いバージョンは、どのパスワードが与えられても、ssh接続を受け入れました。その後、ソフトウェアはパスワードをチェックし、接続を拒否または受け入れますが、sshポート転送を作成するための短いウィンドウがありました。 このため、人々はIPMI IPに対してスパム/虐待の苦情を受け取っていました。X8SIL-Fマザーボードの場合、2.60 IPMIファームウェアバージョンが問題を修正しました(以前に修正された可能性があり、2.54の変更ログエントリはそのように見えます)。

2番目の問題は、デフォルトパスワードを持つ匿名ユーザーです。匿名ユーザーは、ファームウェアバージョン2.22で修正されたようです。


2

IPMIのWebインターフェースでHTTPSを有効にするためのちょっとしたトリックがあります

IPMIファームウェアがそれをサポートしている場合(X8DTH-iF用の2.04ファームウェアがサポートしている場合)、最初に(構成)->(SSL)に移動して2つのPEMファイル(証明書と秘密キー)をアップロードし、次に手動でHTTPSアクセスを有効にできますIPMIモジュールを再起動します。

最後に、https:// bmc-ip-or-hostname /で IPMIのWebインターフェイスにアクセスできます。HTTPSはHTTPよりも動作が遅いとは言えません。


0

iptablesでセキュリティを確保しようとした人はいますか?iptablesがインストールされているようであり、いくつかの信頼できるIPからの受け入れをすべて拒否するルールセットを作成して、より安全にしています...しかし、上記で読んだように、/ configからスクリプトは読み込まれません。crontabのみがオプションですか?そして、もしあなたがiptablesを台無しにしたら?


1
前述したように、IPMIコントローラを外部から保護する方がはるかに優れています。完全に独立したVLANまたは物理ネットワーク上に置くか、境界ファイアウォールで保護することです。IPMI / BMCコントローラーのこの特定のモデルはたまたまlinuxを実行し、iptablesでそれを保護できるという概念が表示されます。ただし、BMC / IPMI / whateveryoucallと呼ばれるものの大部分は、ファイアウォールの方法で多く、または何も持っていないのが現実です。したがって、それに頼るべきではありません。面倒を省き、IPMIネットワークをプライベートで、安全で、ルーティングされていないものとして扱います。
ダニエルローソン

1
IPMIコントローラーを外部から保護する方が「良い」ことに同意しません。ファイアウォールなどは、最初に適切に保護されたホストよりもセキュリティ障害が発生しやすい傾向があります。ただし、別のネットワークを使用できる場合、それは良いことであり、このようなIPMIデバイスの場合、それはほとんど不可欠であるように見えます。
カートJ.サンプソン

0

ファイルシステムをどのように表示しましたか?ポート22にtelnetで接続すると、dropbearが実行されていることがわかりますが、さまざまなユーザー名でSSHを実行しようとしても、パスワードの入力は求められません。管理者権限を持つ新しいユーザーを追加しましたが、SSHもそのユーザーに応答しません。Winbond Hermon IPMI 2.0チップ、ファームウェアリビジョン01.29、ビルド時間2009-12-31を搭載したSupermicro X7SPA-HFマザーボードを使用しています。


2
ssh -vを実行して、何が起こっているのかを確認し、公開キー認証を試行していることを確認しました。それを無効にすることで動作するようになりました。

私は現在ATEN SMASH-CLPシステム管理シェル、バージョン1.00にい
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.