パスワードを忘れた? アカウント作成
7405 story

FreeBSD セキュリティアドバイザリ: mksnap_ffs が重要な設定を消去 27

ストーリー by wakatono
心当たりの人は対処を 部門より

BSD 曰く、 " FreeBSDより出された セキュリティアドバイザリによると、 mksnap_ffs(8) を使用するとマウント中のファイルシステムの 重要なフラグ類がクリアされ、セキュリティ的に非常に危険な 状態になるため、システムを更新するように求めている。
マウントされたファイルシステムには、 ファイルシステム内のバイナリの実行を制限したり、 アクセス許可ビットを補完するACL(アクセス制御リスト)機能を 組込んだりしているフラグが存在する。 mksnap_ffs(8) はスナップショットファイルを作成するが、 これは使用中のファイルシステムのある一時点での状態を 静的に固定化したものであり、 fsck(8) や dump(8) を 起動する時に必要となる。
今回、この mksnap_ffs(8) にバグが発見されたわけである。 もし、システム稼動中に定期的にバックアップして いるならば、すぐにそれを停止する必要がある。 FreeBSD 5.1 と 5.2 には、パッチされたバージョンが 準備されているので、早速更新すべきであろう。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • バグの詳細 (スコア:4, 参考になる)

    by jmk (11245) on 2004年01月31日 16時27分 (#485314)
    リンク先をざっと読んでみましたが、 mksnap_ffs が snapshot 用のフラグをセットする際、他のフラグをデフォルト値にリセットしちゃう設定になってた、ということのようです。
    どっちみち私は 4.9 ユーザなので関係ないなぁ。っていうか STABLE でないものをそんな重要なところで運用するチャレンジャーはそうはいないのでは。
    • by Anonymous Coward on 2004年01月31日 19時01分 (#485373)
      > っていうか STABLE でないものをそんな重要なところで運用するチャレンジャーはそうはいないのでは。

      元記事にあるように fsck に影響があるのなら、
      CURRENT(unstable) だからこそ重要な問題と言えるのかもしれませんね。
      親コメント
    • by Anonymous Coward
      ですな
  • 影響範囲 (スコア:2, 参考になる)

    by tag (10007) on 2004年01月31日 16時20分 (#485313) 日記
    セキュリティアドバイザリには以下のようになっています。
    Affects: FreeBSD 5.1-RELEASE FreeBSD 5.2-RELEASE
    Corrected: 2004-01-27 19:33:16 UTC (RELENG_5_1, 5.1-RELEASE-p12)
    2004-01-29 22:54:31 UTC (RELENG_5_2, 5.2-RELEASE-p1)
    4.9-RELEASE 等の 4.x-STABLE 系ではこの機能は ないので問題はないと思います。5.x-CURRENT 系を実運用環境として 使っている人は少ないのではないでしょうか。
  • by tag (10007) on 2004年01月31日 16時49分 (#485322) 日記
    せっかくの機会なので質問させて下さい。運用中のシステムの ファイルバックアップはどうしていますか
    1. 夜間休日等にシングルユーザモードに移行して dump する。
    2. 夜間等にマルチユーザモードのまま、mount状態で dump する。
    3. 夜間等にマルチユーザモードのまま、tar する。
    4. バックアップしない。
    運用中のシステムと言っても、業務システムだったり、仲間うちの メールサーバだったりと運用レベルが様々でしょうから、一概に こうとは言えないことと思います。ちなみに僕はメール サーバは2の方法でやっています。バックアップファイルがまともに 使えないかもしれないことは覚悟の上です。
    • by yasudas (5610) on 2004年01月31日 19時37分 (#485391) 日記
      システムの重要性や求められる復元度合いのシビアさやら
      更新頻度やらで、バックアップに求められることも変わる
      わけでして、そこらへんは「一概にこうやる」はないと...

      >1. 夜間休日等にシングルユーザモードに移行して dump する。

      これは、大概のシステムのカットオーバ時点や、安定期に入った
      時点や、システムの更新が入った時点で取得しておかないとね。
      あとはアプリを含めたデータ領域については、定期的に手段を
      見てやっておくね。

      あと、24時間の稼働が求められるシステムなんかだとスナップ
      ショットに頼ったりすることもありますが、DBMSなんかの
      ログのバックアップ機能と併用してのバックアップが必要に
      なったりしますね。

      # ログが大量にあるので、ログから復旧するのに半日以上とか
      # あったり...戻るだけましか...
      親コメント
    • by Anonymous Coward on 2004年01月31日 18時00分 (#485346)
      dump って、特定のファイルだけ restore しようと思ったときに面倒
      くさくないですか?

      私は必要なデータに限定して定期的に物理的に違うディスクに cp
      (まぁそれっぽいアプリだったり rsync だったり)して、要するに
      丸っきり同じものを増やしてるだけです。tar とか挟む必要感じないし、
      手間が増えると戻すの面倒だし。

      世代とか考える必要があるならもう一工夫要りますが、面倒なら
      バックアップのバックアップを用意してタイミングずらして cp
      しとくだけでも少しはマシです。

      DB とか絡むともっと手間が要るんでしょうけど。

      自宅サーバはバックアップマシンもバックアップディスクもないので
      放置中。(基本的に自分専用なんで。)そろそろディスク増やそうかな。
      親コメント
      • restore x でファイル名やディレクトリ名を指定した後、ちょっと 操作するだけです。面倒という人もいるかもしれませんが、僕は 慣れてしまっているので、簡単な作業だと思っています。

        /etc の下をちょっとセーブするだけなら cp でも良いと思うので すが、ファイルの個数が多い時や差分ダンプしたい時は、やはり dump の方が良いような気がします。ましてや、全ダンプしたい 時は tar や cp では無理なような気がします。(先入観でしょうか)

        最近は磁気テープにバックアップせずに別のディスクに保存したり するので、本当にバックアップになっているのか、自分でも疑問に 思うことがあります。

        親コメント
        • >restore x でファイル名やディレクトリ名を指定した後、ちょっと
          >操作するだけです。面倒という人もいるかもしれませんが、僕は慣
          >れてしまっているので、簡単な作業だと思っています。

          restore しないと中身確認できなくないですか?
          戻してからやっぱこれじゃないとかってなると面倒かなということ
          なんですよ。

          あと、システム全部って要求がそもそもないのでアレですが、cp と
          いうのはそれ系ってだけで実際 cp は使っていません。というのも
          挙げた方法は OS に依存しないものでして。例えばWindows なら
          ちょっと賢い程度の cp みたいなアプリはあるでしょ。それを使い
          • > restore しないと中身確認できなくないですか?
            これが面倒ということでしたら、同じようにファイルシステムにコピーする といった手段以外は取れないでしょう。結局、バックアップの目的がほんとの 緊急時に備えるだけなのか、ちょっとした失敗を簡単に回復できるようにしたい かどうか。

            > Unix なら rsync とかになります。cp でやりたいとは思いません。
            > tar は dump, restore と同じ理由で面倒な感じがします。
            あとは要求仕様的な問題で、

            • holeのあるファイルをcareするかどうか。
            • バックアップによってmtimeが更新されるのを良しとするかどうか。
            といったあたりで、dumpとそれ以外を選ぶかは決めるとよろしかと。
            親コメント
        • >最近は磁気テープにバックアップせずに別のディスクに保存したりするので、本当にバックアップになっているのか、自分でも疑問に思うことがあります。

          バックアップ先が、それなりに遠隔地にあるのなら大丈夫でしょう
          #無論、保存先の名称はある程度変更して複数持つのを前提として..

          HDDのみでバックアップする場合に注意しなければいけない
    • システム関連ファイルは変更を行うことが少ないので、変更時にファイルのバックアップを取っておく感じです。

      データファイルもファイルシステム全部のバックアップは面倒なので、必要なデータ(変更が常に行われているデータ)を
      抽出してそれだけtar等で圧縮してバックアップしてます。

      # 自分のマシンは、バックアップすら取ってないです(やば
      親コメント
    • >。バックアップファイルがまともに使えないかもしれないことは覚悟の上で

      これはバックアップ上、無意味だと思いますが。
      復旧できないバックアップって、ただのコストにしかならない。

      ・バックアップ作業というのは、「バックアップをする」のではなく「復旧する」のが目的では?
      • by yasudas (5610) on 2004年01月31日 19時29分 (#485389) 日記
        >>バックアップファイルがまともに使えないかもしれないことは覚悟の上で
        >これはバックアップ上、無意味だと思いますが。

        これは可能性の問題なんだよね。極端を言えば、「テープが
        壊れる」などのバックアップ先の媒体が壊れる「かもしれな
        い」というのは、可能性としてあるわけです。それに対して
        覚悟があろうがなかろうが、それがあるからと言ってバック
        アップ上では無意味とはいえないわけなんですよ。

        >バックアップ作業というのは、「バックアップをする」のではなく「復旧する」のが目的では?

        24時間オンライン稼働を求められるシステムで、さらに
        バックアップを求められる場合、当然、復旧を含めて導入
        時や構成変更時に、復元の試験などを行い、復元が出来る
        事(が、少なくともその試験であった事)は確認する程度は
        やらないといけないでしょう。

        完全を求めて、不完全である可能性をもって確率を上げる
        ことを拒絶しては、ほとんど何も進みませんね。

        # そもそも最初が完全であればバックアップなんぞも不要な
        # わけなんですよね。
        親コメント
        • ddでのバックアップならともかく、dumpやtarなら、 出来たテープが潰れていることはないでしょう。あくまでもファイル単位。

          バックアップ中に作成/変更されたファイル/ディレクトリが
          ・バックアップされない
          ・内容が

          • >ddでのバックアップならともかく、dumpやtarなら、 出来たテープが潰れていることはないでしょう。あくまでもファイル単位。

            テープが物理的/電気的にダメージを食らわないという根拠は
            どこにあるのでしょう?ドライブがテープを噛み込んでしまっ
            たらどうするおつもりですか?

            そういった事故にあなたは会われたことがないのは大変、幸運
            なことですが、あいにくとわたしはそういったことを何件か
            食らっておりまして... あなたの様に無意味な自信を持つなんて
            ことは、怖くてできません。

            >結局、「書き換えつつあるファイル群を cp -p -R で コピー
            >したら、どのように壊れたコピーが得られるか」というの と同じ。

            何か、議論の論点がずれていますね。
            「壊れたファイルが得られる可能性が低い深夜に、バックアップ
            としての安全性を高めてdumpする」といったことが、なぜ「(時
            を問わず)単にcp -p -Rで複製するだけ」と同じといったことに
            すり替わるのか、ちょっと不思議なんですよ。

            つまり、安全を絶対のものとして、考えているのかな?それは、
            ある種の「安全神話」を引き起こすことになりますよ。

            # あくまで確率とそれを高めるための持続的な対応と、それに
            # かかるコストとのやりとりになるわけなんですよ。

            バックアップとってあるから安全です!とか言っていて、実際
            落ちたらバックアップテープが古過ぎてアーカイブログを戻す
            といった作業を複数のテープセットで繰り返していたら、復帰
            に1週間かかります,,なんてことがあったりします。「そんな
            に待てないので、データ再エントリーする」という判断が下る
            こともあったりするわけです。

            実は、色々とシステムリソースや工数を使って完全に取得した
            バックアップでも、実際には使えないバックアップであったと
            いうこともあったりするわけなんですね。
            親コメント
            • 「dumpとるならシングルユーザモード等でunmountしてから じゃないと無意味」という意見に反論しているのですが、 私の文章は。
              親コメント
              • >「dumpとるならシングルユーザモード等でunmountしてから じゃないと無意味」という意見に反論しているのですが、 私の文章は。

                ならば、そう書けばよろしい。さらに、その意見に対して応答を
                付けないとね。わたしの「確率上での有意だ」という投稿に対し
                て、

                >dumpやtarなら、 出来たテープが潰れていることはないでしょう。あくまでもファイル単位。

                で、デバイスの破壊などの場合について、わたしはあなたが応答
                した投稿にて、「何でとっても全損の可能性がある」と指摘して
                いるのに、何かしらでは有効であり、ファイル単位には破損する
                程度と言い切っているのが、議論をややこしくしているという事
                なんですけどね。

                ということで、議論を継ぐ元の誤りと、さらにわたしの投稿にあ
                る「媒体障害の場合の全損可能性」の事実提示に対して「ファイ
                ル単位の破損だ」という誤った事を指摘してしまったのが、君の
                ミスだと思うよ。

                # つまり、ちぐはぐな応答の連綿と、さらに妙にそれで話が繋がる
                # 誤った意見の提示ってことです。
                親コメント
              • by Anonymous Coward
                > わたしの「確率上での有意だ」という投稿に対して、

                肝心の「有意だ」っていう点を示してないだろ。そう主張してるだけ。だいたい「確率上での有意」って一体どういう意味か不明だし。きっとyasudas語なんだろうが。
      • by SteppingWind (2654) on 2004年01月31日 19時31分 (#485390)

        バックアップと復旧って必ずしも「完全」を求められる場合だけではないです. 不完全な復旧, 例えばこの例にあるメールサーバの様な場合, 最新の数通が消失した程度ならごめんなさいで済む場合もあります.

        そういう意味で「完全」復旧という前提ではまともに使えないバックアップファイルであっても, それなりの使い道があるということで運用上の考慮に加えた方が良いこともままあります. その点, dumpってファイルシステム上の一貫性だけは保持していたはずなので, メールサーバの場合ならMaildir形式と組み合わせればマルチユーザモードでもかなり安全性は高いはずです.

        ちなみに私も家のサーバはdump+Bacula [bacula.org](マルチボリュームに対応しているみたいなので最近のどでかいストリームデータでもOKそう)でバックアップしようかと思って設計中です.

        親コメント
      • 負荷状況によって異なるでしょうけど、夜間ほとんどプロセスが 動かず、ファイルの新規作成や削除がなく、既存ファイルへの 追加書きこみもない状況において、バックアップファイルの 構成がおかしくなったことはありません。そのあたりを踏まえて、 皆さんどうやって dump していますかと質問してみました。
        親コメント
      • メインのシステムはRAID-5で運用しています。
        バックアップは、サブのシステムへ
        ミラーリングする事で代用しています。

        メディアへのバックアップは、
        基本的に /home と postgreSQLのダンプのみを週に1回だけ
        tarballにして支社で保管しています。
        (火災等でデータが完全に消失するのを防ぐ為のみです)
    • どこのモデレータか知らないけれど、ちゃんと議論を良く読んで
      モデレートしてくれよ。

      mksnap_ffsが運用中のファイルシステムのバックアップに使われ
      ていて、それが使えないと運用中のバックアップができないという
      議論をしているのに、「オフト
    • FreeBSD-current で dump -L すればいいだけです。 と、今回の話につなげておく。

      -current だと安定して動かすのが -stable より大変なのことが多いのですが、 それでも今動かしている 4-stable を置き換えたくなる理由の一つです。

typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...