HOME | LastUpdate: 2004-02-01
PHP4 のインストールメモで、Cygwin で pear コマンドを使用するという項目を追加しました。
ob_implicit_flush()
PHP の出力制御関数で少し気になっていた、ob_implicit_flush()
を調べてみました。その時のメモです。
ob_implicit_flush()
は、PHP マニュアルで「自動フラッシュをオンまたはオフにする」関数と説明されています。書式は、以下のようになっています。
void ob_implicit_flush ( [int flag])
実際には、ob_implicit_flush()
を使用することで Web ブラウザで PHP スクリプトにアクセスした時に、PHP スクリプト側で長時間の処理を行う場合、定期的にサーバ側からデータを送ることで、ブラウザからの接続の切断を防ぐことができます。ただし、CLI 版の PHP では、自動フラッシュを行うと無駄な IO フラッシュを行うため性能が低下するという問題がありますので、CLI 版を使用する場合は無効にしておいた方が良いと思います。
php.ini で設定する場合は、implicit_flush
の部分で設定できます。PHP 4.3.4 では、php.ini-dist と php.ini-recommended の共に、Off
がデフォルト値になっています。
ob_implicit_flush()
は、引数に int 型を取り、引数が無い場合は、自動フラッシュを有効にするようです。つまり、
ob_implicit_flush()
と、
ob_implicit_flush( 1 )
は同じで、自動フラッシュを無効にする場合は、
ob_implicit_flush( 0 )
と設定します。ob_implicit_flush()
を使う場合は、以下のように、ob_end_flush()
を使用して出力バッファリングを Off にした上で、ユーザがブラウザの接続を切断してもサーバ側で処理を中断しないように、ignore_user_abort()
を実行しておくと予期しない中断があっても安全です。
<?php ob_implicit_flush( 1 ); // ユーザが接続を切断してもスクリプトの実行を続けるように設定 ignore_user_abort( 1 ); // 出力バッファをオフにする while ( ob_get_level() ) { ob_end_flush(); } for ( $i = 0; $i < 1000; ++$i ) { echo "."; sleep( 1 ); } ?>
Microsoft から、Microsoft Baseline Security Analyzer v1.2 (for IT Professionals) - 日本語が公開されています。使用している Windows にセキュリティ問題がないかどうかを調査できるツールです。ネットワーク上にある別の PC に対しても調査が行えますので、複数台の PC で Windows を使用している場合には便利です。このツールを使用する際には、日本語版 Microsoft Baseline Security Analyzer 1.2 早期提供のお知らせと利用上の注意点も確認しておいた方が良いと思います。
@IT に、ISA Server 2000の脆弱性により、コンピュータの完全な制御が奪われてしまう危険性、ほか(MS04-001/MS04-002/MS04-003) という先週に公開された Windows 関係の修正プログラムのセキュリティ情報についてのまとめの記事が出ています。
また、Windows HotFix Briefings Biweekly(2004年1月23日版)も出ています。以下の不具合情報や追加情報がありますので、確認しておくと良いと思います。
rsync のページに、Cygwin 上で使用した時にファイル転送の最後にハングアップするという問題についての情報がありました。この問題は、Cygwin の DLL でシグナルの取り扱いに問題があったために起きていたそうです。この問題が修正された、Cygwin DLL 1.5.6-1 が公開されましたので、rsync
を使用している場合は、Cygwin DLL をバージョンアップすると解決するようです。
ただし、詳しくは書かれていませんが Cygwin DLL 1.5.6-1 にバージョンアップすると、また別の問題が起こることが報告されたそうです。Cygwin DLL 1.5.7 が公開されるのを待つことが勧められていますので、心配な場合は、Cygwin で rsync
を使用するのは避けた方が良いかもしれません。
( 2004.02.01 追記 )
Cygwin DLL 1.5.7-1 が公開されました。また、Cygwin パッケージの rsync 2.6.0 も公開されたようですので、バージョンアップしてすると良いと思います。
先週にも紹介した qmail のセキュリティホール(Lame crash in qmail-smtpd and memory overwrite according to gdb, yet still qmail much better than windows)について、スラッシュドット・ジャパンの投稿によると、問題の回避方法として挙げられていた制御ファイルの databytes に 2GB 以下の値を入れるという方法(Secunia - Advisories - qmail Long SMTP Session Handling Vulnerability)は、効果が無いという指摘がされています。また、他にも、qmail の Patch や、今回の問題でバッファオーバーフローが発生したように見えたのは gdb のバグではないかという投稿もあります。
2ch の qmailいろいろ(4) というスレッドでもいくつか参考になるかもしれない情報がありましたので、リンクしておきます。qmailいろいろ(4) 282、286。
また、qmailいろいろ(4) 337 では、qmail の保存形式に、mbox を使用している場合、特定の環境で 4G 以上のファイルを扱うと、メールボックスが破壊されるかもしれないという情報がありました。確認はしていませんが、qmail で mbox 形式を使っている場合は覚えておいた方がいいかもしれません。
Microsoft Data Access Components のバッファオーバーフロー問題、H.323 プロトコルの実装に複数の問題がある件についての情報、Microsoft Exchange Server 2003 で、ローカルユーザが管理者権限を取得する可能性がある問題、tcpdump バージョン 3.8.1 以前で、ISAKMP と RADIUS の復号処理に脆弱性があり、外部から tcpdump を実行しているユーザの権限を取得されてしまう問題、その他、KDE、elm、Red Hat Enterprise Linux 3 のカーネル、HP-UX の dterm、libDtSvc、SharedX についての問題、Apache の認証モジュールの mod-auth-shadow が有効期限切れのユーザをアカウントとして処理してしまう問題、Linux カーネルの mremap システムコールに含まれる脆弱性の追加情報などがあります。
JPCERT/CC に報告されたインシデント報告についてのレポート。
lftp 2.6.9 以前に存在している Buffer Overflow のセキュリティホールに対する exploit コードが公開されています。
mod_perl 1.99_09 と Apache 2.0.47 以前で http や https サービスをハイジャックできるそうです。
OpenOffice を使うときには非常に参考になります。
Windows Server System Review から。VPN を使用する際には周辺の PC のセキュリティを確保することも忘れてはいけないようです。
セキュリティスキャナ。バグ修正が行われているようです。詳細は Nessus News にあります。
ポートスキャンツール。変更点などの詳細は、Nmap Changelog にあります。
ネットワーク負荷の監視、グラフ化ツール。バグ修正が行われているようです。詳細は、MRTG CHANGES を参照してください。
メールサーバ。修正点などについては、SENDMAIL RELEASE NOTES を参照してください。
Java Servlet と Java Server Pages の実装。詳細は、Apache Tomcat Version 5.0.18 Release Notes を参照してください。
コマンドラインから使用できる FTP/HTTP クライアント。バグ修正が行われているようです。変更点については、lftp news にあります。
Windows で、修正プログラムが公開されています。MDAC の問題については、多くの環境で影響を受けますので、アップデートした方が良いと思います。Internet Explorer の URI 偽装などの問題については、まだ、修正プログラムは出ていません。
PHP 4.3.5RC1 が公開されました。新機能や修正点などについては、CVS の NEWS にあります。PHP 4.3.5 RC1 は、GD、PCRE ライブラリの更新とバグ修正が行われていて、新機能などはあまりありません。日本語訳として、PHP-Changes-4.3.5 を公開しておられるページもありますので、参考にしてください。
PHP 4.3.5 RC1 の NEWS によると、fgetcsv()
がバイナリセーフになったとありますが、この関係かは分かりませんが、PHP-dev メーリングリストの、[PHP-dev 969]Re: fgetcsv仕様変更についてでは、仕様が大きく変えられているため、fgetcsv()
を使っている方は 4.3.4 もですが 4.3.5 への移行は現時点では避けた方が良いという情報がありました。
The FreeBSD Project から、FreeBSD 5.2-RELEASE が公開されました。詳しくは、FreeBSD 5.2-RELEASE Announcement(日本語訳:FreeBSD 5.2-RELEASE アナウンス>) や、FreeBSD 5.2-RELEASE Release Notes(日本語訳:FreeBSD 5.2-RELEASE リリースノート) を参照してください。
スラッシュドット・ジャパンの記事 FreeBSD 5.2-RELEASE 公開 によると、 FreeBSD 5.2-RELEASE はまだ、安定版にはなっていないようで、安定板の次期バージョンは 4.9.1-RELEASE の予定だそうです。
とりあえず、実験用の PC にインストールしてみましたので、メモを残しておきます。
sudo
の設定
sudo
をパッケージでインストールした後、visudo
を実行して、wheel グループのユーザが sudo
を使用できるように以下の行を設定しました。
%wheel ALL=(ALL) ALL
sudo
の設定ファイルは /usr/local/etc/sudoers にあるようです。
デフォルトルータの設定は Linux とは少し書式が違うようです。以下のように設定しました。
$ sudo route add default 192.168.0.254
Linux では、以下のように設定しています。
$ sudo route add default gw 192.168.0.254
とりあえず、以下のように設定してみました。
ifconfig_fxp0="inet 192.168.0.1 netmask 255.255.255.0" defaultrouter="192.168.0.254" moused_port="/dev/psm0" sshd_enable="YES" sendmail_enable="NONE" inetd_enable="NO"
locate
で使用するデータベースの作成
以下のコマンドを実行しました。
$ sudo /usr/libexec/locate.updatedb
別パーティションに Linux がインストールされていましたので、そちらの GRUB を使って FreeBSD 5.2-RELEASE が起動するように設定しました。grub.conf のサンプルは、以下のようになっているのですが、
title FreeBSD 3.4 root (hd0,2,a) kernel /boot/loader
FreeBSD 5.2-RELEASE では、ファイルシステムが UFS2 に変更されているためか、うまく起動しませんでした。検索したところ、以下のようにすれば、起動するという記述を見付け、設定すると GRUB から FreeBSD が起動するようになりました。
title FreeBSD 5.2-RELEASE root (hd0,2,a) chainloader +1
root (hd0,2,a) の部分はインストールされているパーティションなどによって違いますので、環境に合わせて設定する必要があります。
CERT/CC CERT Advisory CA-2004-01 Multiple H.323 Message Vulnerabilitiesによると、Voice over Internet Protocol (VoIP) や、Session Initiation Protocol (SIP) などの、H.323 プロトコルを実装している多くのソフトウェア、ハードウェアに H.323 メッセージの処理に関する問題が見つかったそうです。この問題により、任意のコードの実行や DoS 攻撃が可能となるかもしれないそうです。
これらの問題となる対象の製品を使用している場合、各ベンダーが公開しているセキュリティ情報を参照して、修正プログラムや、パッチを適用するなどの対策を行うことが推奨されています。また、1720/TCP と 1720/UDP のポートをファイアウォールなどでフィルタすることで問題を最小限に抑えることができるそうです。
以下の情報も参考にしてください。
Lame crash in qmail-smtpd and memory overwrite according to gdb, yet still qmail much better than windows によると、qmail 1.03 で、SMTP セッションをクラッシュさせることが可能であるということが報告されています。
Secunia でも、qmail Long SMTP Session Handling Vulnerability という Security Advisory が出ています。ここで、この問題の回避方法として、databytes というファイルを作成して、2GB 以下の数値を設定する方法が挙げられています。
# echo [number_of_bytes] >/var/qmail/control/databytes
(2004.01.25 追記)
制御ファイルの databytes を設定する方法は意味が無いかもしれないという指摘がありました。詳しくは、2004.01.25 の qmail についての追記も参照してください。
Microsoft から、新たに 3つのセキュリティ情報が公開されました。Windows Update や、セキュリティ情報のページから必要な修正プログラムをダウンロード、適用してください。
Microsoft ISA Server 2000 の H.323 フィルタに、セキュリティ問題があり、攻撃者がこの問題を悪用すると、Firewall サービスのセキュリティコンテキストで任意のコードを実行が可能となり、システムの完全制御を奪うことが可能とされています。この問題の回避策として、H.323 フィルタを無効にするという方法と、ゲートウェイルータで TCP ポート 1720 番をブロックすることが挙げられています。
対象は、Microsoft ISA Server 2000 と、この ISA Server 2000 を含む、Small Business Server 2000、Small Business Server 2003 となっています。深刻度は「緊急」になっています。対象となるシステムを使用している場合は、回避策を実行するか、早急に修正プログラムをインストールしてください。
Miscrosoft Exchange Server 2003 で、Outlook Web Access アクセスを提供するフロントエンドの Exchange 2003 サーバと、Windows Server 2003 で事項されているバックエンドの Exchange 2003 サーバ間で、NTLM 認証が使用されている場合、HTTP 接続が再使用される方法に問題があるそうです。また、回避策として、Exchange Server 2003 フロントエンドサーバーでの HTTP 接続の再使用を無効にする方法と、Exchange Server 2003 バックエンドサーバーで OWA をホストしている仮想サーバーで Kerberos 認証を有効にする方法が挙げられています。
対象は、Microsoft Exchange Server 2003 で、深刻度は、「警告」になっています。
Microsoft Data Access Components (MDAC) が送信するブロードキャストリクエストに特別な細工をしたパケットで応答した場合、バッファオーバーフローが発生する可能性があるそうです。攻撃者がこの問題を悪用すると、MDAC を使用しているプログラムの権限を取得することが可能とされています。
対象は、Microsoft Data Access Components 2.5、2.6、2.7、2.8 で、Windows 2000、SQL Server 2000、Windows XP、Windows Server 2003 などに含まれています。深刻度は「重要」です。回避策として、UDP ポート 1434 のインバウンド トラフィックの受信をブロックする方法が挙げられています。
以下の記事なども参照してください。
年末から多数報告されている Internet Explorer の問題についての修正は、無いようです。Internet Explorer を使用する場合は、信頼できるサイト以外はアクティブスクリプトを無効にするなど、設定を行って自衛してください。
スラッシュドット・ジャパンに、Windows 98/98SE/Meのサポート期間延長という記事がありました。2006年 6月30日まで延長されるそうです。また、ITPro にも記事が出ていました(マイクロソフトがWindows98/Meのサポート期間を延長、2006年6月末まで)。マイクロソフトからも正式なアナウンスが出たようです(Microsoft(R) Windows(R) 98、Microsoft Windows 98 Second EditionおよびMicrosoft Windows Millennium Edition の延長サポート期間を2006年6月30日までさらに延長することを決定)。
RedHat Linux 9 の修正パッケージが公開されています。RedHat Linux 8.0 以前バージョンの修正パッケージは RedHat からは正式には公開されないと思いますので、気をつけてください。
vine-users メーリングリストの [vine-users:064024] Re: 再び fsck 1.29 についての警告 (dynabook へのインストール) によると、Vine Linux 2.6r3 では、fsck
によって、ファイル破損及び起動不良が起こる可能性があるそうです([vine-users:063783] 起動時のfsck にてファイル破損及び起動不良)。その後のメールで、ext3 ファイルシステムで、実験様の HTree 機能が有効になっていると、不定期にファイルシステムが破損してしまう可能性があるという情報と、HTree インデックス機能を削除する方法が投稿されています。([vine-users:063789] Re: 起動時のfsck にてファイル破損及び起動不良)
以下のコマンドで、HTree インデックスを削除できるようです。
tune2fs -O ^dir_index /dev/<filesystemdevice> e2fsck -fD /dev/<filesystemdevice>
Vine Linux 2.6r3 を運用する際には、気をつけてください。
Gentoo Linux の rsync ミラーサーバで障害があったそうです([gentoo-announce] rsync mirror troubles)。
Linux カーネルの mremap() システムコールの問題についての報告、HP-UX の ypxfrd デーモンに '/' や '.' を含む引数の処理に問題があり、ローカルユーザが root 権限を取得する可能性がある件についての報告、File Service Protocol(FSP) にバッファオーバーフローなどの複数の問題がある件についての報告、WebDAV インターフェースの nd にバッファオーバーフローの問題についての報告などがあります。
1月10日以降,TCP 139番へのアクセスが増加しているそうです。TCP 139番は、Workstation サービスのバッファオーバーランにより、コードが実行される (828749) (MS03-049)で報告されているポート番号です。
セキュリティや、ハッキング、クラッキングに関するレポート。
オープンソースのブラウザ、メール環境。ステータスバーの URI の偽装できてしまう問題の修正が行われています。この問題が気になる場合はバージョンアップすると良いと思います。詳しくは、Mozilla 1.6 Release Notes(日本語訳 Mozilla 1.6 リリースノート) を参照してください。
スクリプト言語。時期バージョンのリリース候補 1 です。多くのバグ修正が行われています。
ネットワークのトラフィックを表示するツール。また、パケットキャプチャライブラリの libpcap 0.8.1 も公開されています。
Unix 系の OS で動作するオープンソースの Windows NT / 2000 互換のファイル、プリントサーバ。Samba 3.0.2 のリリース候補 1版。
Windows で使用できる SCP クライアント。多くの言語パッケージも用意されており、日本語での使用も可能です。詳しい変更点や新機能などは、Version history を参照してください。
Linux カーネルのセキュリティ問題や、Windows の Internet Explorer のセキュリティ問題などが報告されています。
最近は、Gentoo Linux を使用しているため、RPM によるパッケージ管理をすることはあまりなくなったのですが、RPM コマンドを使う必要があるかもしれませんので、備忘録としてメモしておきます。
Vine Linux の RPM/APTによるパッケージ管理 や、RedHat Linux のRPMによるパッケージ管理 が参考になると思います。
# rpm -ivh package-version.rpm
# rpm -Uvh package-version.rpm
# rpm -Fvh package-version.rpm
# rpm -qa
# rpm -Va
# rpm --checksig package-version.rpm
# rpm -qf /path/to/path/file
# rpm -qlp package-version.rpm
# rpm -ql package
# rpmbuild --rebuild package-version.src.rpm
RPM のバージョンが 3 の場合(Vine Linux など)
# rpm --rebuild package-version.src.rpm
Bugtraq に Linux kernel mremap vulnerability という投稿や、Secunia の、Linux Kernel "mremap()" Privilege Escalation Vulnerability によると、Linux カーネルのメモリ管理コード(mremap(2) システムコールの境界チェック部分)に問題がみつかったそうです。対象は、Linux カーネル、2.2、2.4、2.6 となっていますが、セキュリティホールメモの、Linux kernel do_mremap local privilege escalation vulnerability という情報によると、Linux カーネル 2.2 はこの問題は無いそうです。
この問題を利用すると、ローカルユーザが任意のコードを実行したり、root 権限を取得することが可能とされています。Linux カーネル 2.4.24 と、2.6.1 では、この問題は修正されているそうです。また、多くの Linux ディストリビューションで、修正パッケージを公開していますので、バージョンアップした方が安全です。
mozillaZine 日本語版に、URL 偽装セキュリティ脆弱性の修正パッチが Mozilla トランクおよび 1.6 ブランチにチェックインされるという記事があります。リンク上にマウスポインタを乗せた時に、Mozilla のステータスバーに表示される URI を偽装することが可能という問題が Mozilla 1.6 と Mozilla FireBird 0.8 では修正されるそうです。近いうちに Mozilla 1.6 が公開される予定になっています。
@IT から、Windows HotFix Briefings Biweekly(2004年01月09日版)が出ています。以下の不具合や、追加情報についてのレポートがあります。気になった記事については読んでおくと良いと思います。
また、窓の杜 に、IEのv5.0以降でSSL接続した際に発生する証明書期限切れに関する対処法についての情報があります。IE 5.0 以降で暗号化されたサイトに接続するときに、警告が表示される場合には、参考になると思います。
他にも、IT Pro に、IE に2種類の新たなセキュリティ・ホールが見つかるという記事も出ています。Internet Explorer には、修正されていないセキュリティホールが2004年 1月10日時点で、23個あるそうです。
Linux カーネルと Ethereal の修正パッケージが公開されています。Linux カーネルに関しては、RedHat Linux 7.1 から 8.0 までのセキュリティ修正パッケージも公開されています。RedHat Linux 7.1 から 8.0 までバージョンは、サポート期間は 2003年12月31日で終了ですので、おそらく、今後は、修正パッケージは公開されることはないと思います。
Sun Solaris 8 の tcsh でビルトインされている ls-F を実行すると、他のユーザの権限を取得できてしまう問題についての情報、lftp に含まれる問題に関する追加情報、インターネット定点観測システムの 2003/12/31 から、2004/1/6 までの観測データについてのレポートです。
PostgreSQL の 7.4.1 のドキュメントが公開されています。ダウンロードも可能です。
ZDNet がリニューアルしたそうです。
Unix 系の OS で動作するオープンソースの Windows NT / 2000 互換のファイル、プリントサーバ。Samba 3.0.2 のプレビュー版。
セキュリティ監査ツール。変更点などの詳細は、LSAT Changelog にあります。
Linux カーネル。多くの修正や、機能追加が行われているようです。変更点や、修正点については、ChangeLog-2.6.1にあります。
年末は掃除とか、正月の準備とかで非常に忙しかったです。年末年始でも、Windows 関連では、また多くの問題が報告されています。
年末に、Cygwin で、Apache DSO 版の mod_php4 の作成に挑戦してみました。何とか成功しましたので、その時の作業メモ(Cygwin で Apache 1.3.29 と PHP 4.3.4 の mod_php4 をコンパイルする)を作成しました。
Bugtraq にいろいろと問題が報告されています。現在(2004.01.04 の夜)、secutiryfocus のアーカイブに接続できなくなっているようですので、別のアーカイブとして、Neohapsis Archives にリンクしています。Internet Explorer 関係では、これら以外にも問題が指摘、報告されていますので、アクティブスクリプトを無効にするなど、対処を行っておいた方が安全です。
showHelp() 関数を使って、任意のプログラムを実行できてしまう問題についての報告です。
Microsoft Word 2000、2002(XP)、2003 で、html 形式で保存した時に、パスワードを無効にすることが可能なため、パスワード保護が保護が回避できてしまうという問題についての報告です。
タグに、NO-BREAK SPACE( ) や、ZERO WIDTH SPACE(​) などを含めることで、ブラウザによっては、クロスサイトスクリプトを許してしまう可能性があるという指摘です。
少し前に、バージョン管理システムの CVS 1.11.11 と CVS 1.12.5 が公開されましたが、その時に、セキュリティ修正が行われた詳細が Secunia に出ていました(CVS pserver "CVSROOT/passwd" Privilege Escalation Vulnerability)。CSV pserver として動作させている時に、悪意のあるユーザが "CVSROOT/passwd" の書き込み権限を取得することが可能という問題のようです。
CVS pserver を動作させている場合は、安定版の CVS 1.11.11 か、CVS 1.12.5 にバージョンアップすることで問題を回避できるようです。
ZDNet から。2003年のウイルスの集計について。
@IT から。Windows で使用できるセキュリティツールやコマンド、パケットフィルタリングの使い方などの紹介。
ネットワーク負荷の監視、グラフ化ツール。詳細は、MRTG の ChangeLog にあります。
システムに、RootKit が仕掛けられていないか検地するツール。新しい Linux カーネルでの promisc モードの検知能力の向上、新しい RootKit や CGI バックドアの検知機能の追加、バグ修正などが行われています。
オープンソースのファイル転送ツール。デフォルトの remote shell が ssh に変更されているそうです。また、他にもバグ修正が行われています。
日本語入力システム。環境に依存する問題の修正やバグ修正が行われています。
Cygwin 1.5.7-1 が公開されたので rsync の問題に追記しました。
1月25日分を追加。
1月18日分を追加。
1月11日分を追加。
このページを作成。1月 4日分を追加。
LastUpdate: 2004-02-01 | HOME