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

Apache の脆弱性を攻撃するツールが登場 36

ストーリー by yourCat
ScriptKiddyに備えよ 部門より

jeff2曰く、 "Apache の脆弱性攻撃するコードが出回り始めたようです
コード自体はPacket Storm辺りを探せば見つかるようです。今回は、Apache、mod_ssl、Apache-SSL(未確認)も既に修正版が出回っているので、万一まだ入れ替えていないところは早急に入れ替える必要があるでしょう。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by masaru (2119) on 2002年06月23日 0時47分 (#111833) ホームページ

    apache-1.3.23 などを使いたいかたにパッチもご用意しております。 :-) http://pkgcvs.turbolinux.co.jp/cgi-bin/cvsweb.cgi/apache/1.3.23/apache... [turbolinux.co.jp] にあるパッチを使ってくださいね。

    あと、apache-1.3.22 以前で利用する mod_ssl にも問題があるので、mod_ssl の組み合わせでいく方は apache-1.3.23 + mod_ssl-2.8.7-1.3.23 + [このパッチ] の組み合わせでどうぞぉ。

  • Apache-SSL (スコア:2, 参考になる)

    by tietew (6130) on 2002年06月22日 23時53分 (#111808) ホームページ
  • by zeissmania (3689) on 2002年06月22日 22時57分 (#111794)
    apache-1.3.26がアップされていたので、テスト環境にインストールしたが....The document contains no data. 何が悪いんだぁぁぁ!
    • Re:TL7用のrpm (スコア:2, 参考になる)

      by masaru (2119) on 2002年06月23日 0時39分 (#111828) ホームページ

      Apache-1.3.24 あたりから以前の apache-1.3 とモジュールのバイナリレベルでの互換性がなくなってるみたいです。。 モジュールを再度コンパイルすれば大丈夫みたいなのです。

      多分、error_log に Segmentation fault したとかいう内容が たくさん出ているんじゃないかと。 そうだったら、多分このモジュールの問題です。

      親コメント
    • by kyle (3923) on 2002年06月23日 0時36分 (#111826) 日記
      FTP が混んでるだけとちがいますか? ここ [turbolinux.co.jp]から取得できました。
      親コメント
      • by zeissmania (3689) on 2002年06月23日 0時43分 (#111830)
        いやそういう意味じゃないです。rpmはミラーからちゃんと取ってこれました。
        で、それにアップデートすると、アップデートしたWebServerの応答が全部 "The document contains no data." になるんです。httpdを止めると "The connection refused .... " になるので、httpd自体は動作しているみたいなんですが。
        親コメント
        • Re:TL7用のrpm (スコア:2, 参考になる)

          by kyle (3923) on 2002年06月23日 0時50分 (#111836) 日記
          それはあれです、apache だけアップデートしませんでした? セキュリティアナウンスのページ [turbolinux.co.jp]にもあるように、関連する apache のプラグインたち(mod_ssl とか php とか)も取得しないとダメです。apache のバイナリインタフェイスが変更されているためです。ソースレベルでは互換性があるようですので、要リコンパイルです。"/var/log/httpd/error_log" に子プロセスがセグってる旨ログされていませんか?
          親コメント
          • by kyle (3923) on 2002年06月23日 0時58分 (#111839) 日記
            関連する apache のプラグインたち(mod_ssl とか php とか)も取得しないとダメです。

            別枝ですでにコメントありましたね、失礼。

            親コメント
          • by zeissmania (3689) on 2002年06月23日 1時00分 (#111843)
            ご指摘の通り、PHPモジュールが原因でした。
            mod_sslは依存関係でエラーが出たので、最新のものを入れてたんですが、phpの方は見落としていました。
            ありがとうございます。
            親コメント
            • by strapdown (684) on 2002年06月23日 18時36分 (#112091)
              こちらでは、なぜか TL8WS 用の mod_throttle-312-3.i586.rpm も入れないと子プロセスがsegってしまった。TL7WS では入れる必要はないようなのですが、、、なぜなんだろう?
              親コメント
              • by zeissmania (3689) on 2002年06月23日 19時37分 (#112111)
                TL7でもmod_throttleがインストールされていれば、駄目ですよ。
                たぶんそちらのTL7はmod_throttleがインストールされてなかったのでは?
                rpm -qa | grep mod_
                で、インストールされているモジュールを全部確認して、全てアップデートする必要があるみたいです。
                親コメント
          • by Anonymous Coward
            > 関連する apache のプラグインたち(mod_ssl とか php とか)も
            > 取得しないとダメです。
            この辺、rpm の依存関係で解決してくれたりしないの?
            • by kyle (3923) on 2002年06月23日 1時41分 (#111861) 日記
              この辺、rpm の依存関係で解決してくれたりしないの?

              普通のライブラリなら RPM が依存関係見てくれるんですが、Apache とプラグインの間のインタフェイスは両者間の勝手なとりきめですからねえ。RPM の管轄外です。

              PHP の Zend みたいに、API にバージョンがついていればパッケージ側で小細工のしようがあるんですが、apache の API にはバージョンはないのでしょうか?

              親コメント
              • by kyle (3923) on 2002年06月23日 2時24分 (#111885) 日記
                PHP の Zend みたいに、API にバージョンがついていればパッケージ側で小細工のしようがあるんですが、apache の API にはバージョンはないのでしょうか?

                ありました。"/usr/include/apache/ap_mmn.h" のマクロ MODULE_MAGIC_NUMBER_MAJORMODULE_MAGIC_NUMBER_MINOR がそれにあたるようです。apache-1.3.23 が 19990320-11 で、apache-1.3.26 が 19990320-13 ということなので、構造体のサイズ的には互換性があるけれど、API 的に互換性がないということです。apache の RPM が何らかの形でこれを provide してプラグイン側 RPM が require すれば、依存関係ができるはずです。

                コンパイル済みプラグインからこの値を取得する方法は不明。

                親コメント
            • by zeissmania (3689) on 2002年06月23日 1時54分 (#111868)
              モジュールをアップデートするときは、Apacheのバージョンを見るし、Apahceを削除しようとすると、この辺のモジュールがApacheを必要とするというエラーは出してくれますけど。
              Apacheをアップデートするときに見るのは、依存関係の強い(Apacheがバージョンアップしたら必ず再コンパイルが必要な)モジュール、Turboの場合はmod_sslだけですね。ちなみにTurboのApache srpmは、apache-*.rpmとmod_ssl-*.rpmを作ります。mod_ssl単体のsrpmはないです。
              他のモジュールは必ずしもApacheのバージョンが上がったからといって、再コンパイルが必要になるわけじゃないので....rpmのSPECファイルは必要なものはチェックできるけど、「インストールしてなくてもいいけど、インストールされていればバージョンはXX以上」というようなチェックは書けなかったのではないかと思いますが。
              親コメント
  • by Anonymous Coward on 2002年06月23日 0時34分 (#111824)
    * The "experts" have already concurred that this bug...
      * - Can not be exploited on 32-bit *nix variants
      * - Is only exploitable on win32 platforms
      * - Is only exploitable on certain 64-bit systems
      *
      * However, contrary to what ISS would have you believe, we have
      * successfully exploited this hole on the following operating systems:
      *
      * Sun Solaris 6-8 (sparc/x86)
      * FreeBSD 4.3-4.5 (x86)
      * OpenBSD 2.6-3.1 (x86)
      * Linux (GNU) 2.4 (x86)

    だ、そうです。早急に対策が必要みたいです。
    Linux方面でも、各ディストリビューションの対策パッケージが
    出そろってきたようなので、とっととアップデートしましょう。

    とはいえ、クラッキングされたサイトだらけになる予感...
    • by minz (3213) on 2002年06月23日 1時21分 (#111849) ホームページ 日記
      ワタシも当該コードを実証してみましたです。
      ソラ環境、32ビット環境も対象なのね(ってあたりまえだな

      CodeRed は攻撃コードが広域に流れてから、ワームが登場するまで、半月くらいでしたっけ?

      あーあ、今年もワーム夏の陣かな…。
      --
      みんつ
      親コメント
    • FreeBSD 4.5-RELEASE-p4 + Apache 1.3.24 でこの exploit code を試し、子プロセスが死亡するところまでは確認しました・・・。

      ssp [ibm.com]付きで Apache をコンパイルするとどのような挙動になるのか試してみたいところです
      (乗っ取りはできないが、子プロセスが死ぬ??かな?)
  • by Anonymous Coward on 2002年06月24日 14時55分 (#112373)
    いまだにアップデートパッケージが出る気配が無い。
    大量被害の予感…
    • by Anonymous Coward
      FTPには、未サポートの扱いでRPMがあがってるみたいですよ。 とはいえ、おなじく大量被害の予感。
      • by Anonymous Coward
        ftp.cobalt.sun.com をざっと探してみたけど見つからない(泣)
        README に書かれている experimental ディレクトリが消えている…
        • by pierre (2749) on 2002年06月26日 9時52分 (#113821) 日記
          FTPサイトは ftp://ftp-eng.cobalt.com/pub/unsupported/ です。 Sun Cobalt Online Support内のページを見ると、6/28/2002頃にはPKGの公開を予定しているようですが [sun.com]、そこまで待つべきかどうか、判断が微妙ですよね。
          かと言って、RPMパッケージを自分でインストールすると、 後々のパッケージ管理と競合しそうで嫌なので、 僕の管理するサーバでは暫定的にリバースプロキシサーバを立てて誤魔化してます。
          親コメント
          • by pierre (2749) on 2002年06月26日 12時37分 (#113913) 日記
            自己フォローですが、リバースプロキシ導入のサマリを置いときます。

            目的:
                    ・本設定のために追加機材を使用しない。
                    ・既存の Apache の設定は一切変更しない。
                    ・作業に手間をかけない。

            方針:
                    ・外部からの 80/TCP への接続は 3128/TCP (Squid) にリダイレクト。
                    ・3128/TCP で稼動する Squid を httpd-accelerator mode で動かす。

            機材:
                    Cobalt RaQ3

            インストールするパッケージ:
                    squid-2.4.STABLE3-1.6.2.i386.rpm
                    openldap-1.2.12-3.i386.rpm
                    * RedHat Linux 6.2 update から get する。

            squid の設定:
                    hierarchy_stoplist cgi-bin ?
                    acl QUERY urlpath_regex cgi-bin \?
                    no_cache deny QUERY
                    redirect_rewrites_host_header off
                    acl all src 0.0.0.0/0.0.0.0
                    acl manager proto cache_object
                    acl localhost src 127.0.0.1/255.255.255.255
                    acl SSL_ports port 443 563
                    acl CONNECT method CONNECT
                    http_access allow manager localhost
                    http_access deny manager
                    http_access deny !Safe_ports
                    http_access deny CONNECT !SSL_ports
                    http_access allow localhost
                    http_access allow all
                    icp_access allow all
                    httpd_accel_host virtual
                    httpd_accel_uses_host_header on

            ipchainsによるリダイレクトの設定:
                    ipchains -A input -s [IP addess for itself]/255.255.255.255 -d [IP addess for itself]/255.255.255.255 80:80 -p 6 -j ACCEPT -l
                    ipchains -A input -s [IP addess for itself]/255.255.255.255 -d 127.0.0.1/255.255.255.255 80:80 -p 6 -j ACCEPT -l
                    ipchains -A input -s 127.0.0.1/255.255.255.255 -d 127.0.0.1/255.255.255.255 80:80 -p 6 -j ACCEPT -l
                    ipchains -A input -s 0.0.0.0/0.0.0.0 -d [IP addess for itself]/255.255.255.255 80:80 -p 6 -j REDIRECT 3128
                    ipchains -A input -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 3128:3128 -p 6 -j REJECT -l

                    *最初の3行は、ホスト自身から80/TCPへのアクセスを許可する設定。
                      4行目は他ホストからの80/TCPを3128/TCPで処理させる設定。
                      5行目は他ホストからの3128/TCPへの直接接続を禁止する設定。

            動作確認:
                    /var/log/squid/access.log, /var/log/httpd/access を見て
                    意図した動作であるかどうかを確認する。

                    正しく動いていないときは ipchains -F 。

            不正なチャンク形式エンコードに対する脆弱性の解消確認:
                    Packet Storm あたりから入手した exploit コードを用いてテストする。

                    Apache のエラーログに、

                            [Wed Jun 26 12:34:05 2002] [notice] child pid 10607 exit signal Segmentation fault (11)

                    が出なくて、Squid のアクセスログに

                            1025062349.972 6 61.206.141.236 NONE/413 1213 NONE error:request-too-large - NONE/- -

                    が出れば、たぶんOK。
            親コメント
            • by pierre (2749) on 2002年06月26日 17時07分 (#114074) 日記
              もういっこ自己フォロー。
              先の squid.conf はテスト用設定で http_access allow all なんて
              危険な設定が入ってるからリバースプロキシだけじゃなく、
              オープンなプロキシとして動いてしまいます。

              もうちょっとマシな設定はこれ。
              acl の virtualdomain とか virtualhost は
              環境に合わせて調整が必要です。

              hierarchy_stoplist cgi-bin ?

              acl QUERY urlpath_regex cgi-bin \?
              no_cache deny QUERY

              redirect_rewrites_host_header off

              acl all src 0.0.0.0/0.0.0.0
              acl manager proto cache_object
              acl localhost src 127.0.0.1/255.255.255.255
              acl SSL_ports port 443 563
              acl Safe_ports port 80 # http
              acl Safe_ports port 21 # ftp
              acl Safe_ports port 443 563 # https, snews
              acl Safe_ports port 70 # gopher
              acl Safe_ports port 210 # wais
              acl Safe_ports port 1025-65535 # unregistered ports
              acl Safe_ports port 280 # http-mgmt
              acl Safe_ports port 488 # gss-http
              acl Safe_ports port 591 # filemaker
              acl Safe_ports port 777 # multiling http
              acl CONNECT method CONNECT
              acl virtualdomain dstdomain www.example.co.jp
              acl virtualhost dst xxx.xxx.xxx.xxx

              http_access allow manager localhost
              http_access deny manager
              http_access deny !Safe_ports
              http_access deny CONNECT !SSL_ports
              http_access allow virtualdomain
              http_access allow virtualhost

              icp_access allow all

              httpd_accel_host virtual

              httpd_accel_uses_host_header on
              親コメント
            • でもウチの会社で使っているのは共有ホスティングなので
              業者の対応次第だったりします(泣)。
  • by Anonymous Coward on 2002年07月01日 15時57分 (#116765)
    ノートの全機種にプレインストールでドットゲートサービスと
    いうモバイルからのリモートアクセスの機能でapacheが使われ
    ているのですが、サポートに電話で質問したら修正を出す予定
    はないそうです。
    ユーザリスクでapache入れ替えるしかない模様。
typodupeerror

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

読み込み中...