本日,メチャ風強し。加えて,雨。しかーし,春の雨だねぇ。あったかダヨ~ン。
白鶺鴒がうろちょろしとったんで撮ってみた。あやつら,雨・風にも負けず元気。可愛いノォ!!
![]() |
![]() |
![]() |
![]() |
Windows 版の PHP5.6.7 が Mar-19 23:50:34UTC に出ていた。結構な数のバグフィックスと CVE-2015-0231 (bug #68976), CVE-2015-2305 (bug #69248), CVE-2015-2331 (bug #69253) へのパッチが含まれているようだ。
CVE-2015-0231 については,以前の PHP5.6.5 でも修正が入っていた覚えがあるのだが,この脆弱性に対する問題はまだまだ残っているのだろうか。まっ,とにかく,アップデートした。(サーバ OS : Windows7HP+SP1(x86)).
ところで,新バージョンは OPcache に関するいくつかのバグフィックスを含んでいた。もっとも, Bug #67937 ではなんら新しい報告はないので,あの件に関しては何も変わっていないのかもしれないが,一応,試しに OPcache をサーバ上で有効にしてみた (Mar-29@6:55)。吉と出るか凶と出るか。ドキドキ。
インストールについて詳しい情報が必要な場合は,「PHP 5.5.16 から PHP 5.6.0 への移行」をご覧ください。
追記(4/14):
自鯖上の OPcache だが,あれ以来 2 週間以上ちゃんと動いている。なんでかは解んない(汗)。でも,パフォーマンスが良くなって,嬉しいッ!!
3/1 に Delonix から ‘Smoke signals’ という件名のメールが来た,he-he。彼の言うことには,「毎回,次のメッセージが出るようになっちゃったんだけど: Forbidden You don’t have permission to access / on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.」。これって 403 Forbidden のデフォルトメッセージだよね。
彼には, o6asanの掲示板の英語版に新トピックを立ててもらって, access-denied.conf ファイルを確認した。自鯖のアクセス管理は conf ファイルでやっている。 .htaccess でやるほうが普通だと思うけど。まあとにかく,ファイルん中に彼のカレント IP があったんで,削除した。ちゃんとアクセスできるようになったみたい。
Delonix とはときどきメールのやり取りをするので,こんな方法で連絡がついたが,それほど近しくないビジターのためには,やっぱ, 403 Forbidden メッセージのカスタマイズをやっとかんといかんなということで, 403.html ファイルをこさえた。中には右図のようなことを書いた。
これを使うためには,ちゃんと表示ができないといけないので, access-denied.conf ファイルに下記の太字行を書き加え, Apache httpd をリブートした。
<Directory “G:/WEB”> <<— G:/WEB は自鯖のドキュメントルート
<RequireAll>
Require all granted
Require not ip xxx.xxx.xxx.xxx/xx
Require not ip yyy.yyy.yyy.yyy/yy
</RequireAll>
<Files “403.html”>
Require all granted
</Files>
</Directory>
以上!!
Apache HTTP Server 2.4.12 が出た。 CVE-2014-3583, CVE-2014-3581, CVE-2014-8109, CVE-2013-5704 のパッチが入ってる模様。 httpd-ssl.conf に下記の行が追加されている。 2.4.11 はリリースされず,欠番になった。
# Define a relatively small cache for OCSP Stapling using
# the same mechanism that is used for the SSL session cache
# above. If stapling is used with more than a few certificates,
# the size may need to be increased. (AH01929 will be logged.)
#SSLStaplingCache “shmcb:c:/Apache24/logs/ssl_stapling(32768)”
# Seconds before valid OCSP responses are expired from the cache
#SSLStaplingStandardCacheTimeout 3600
# Seconds before invalid OCSP responses are expired from the cache
#SSLStaplingErrorCacheTimeout 600
このバージョンは, openssl-1.0.1l とともにビルドされているので, OpenSSL Security Advisory [08 Jan 2015] 関連の問題も対処済みになった。
VC11 用の httpd-2.4.12-win32-VC11.zip を我が家用 ( Windows7 x86 ) にダウンロード。 Apache 2.4.x conf 情報が必要な方は,「Windows7上にWamp系WebServerを建てる-#1。」を見てください。
皆さま, Adobe Flash Player の新バージョンが出るまで, Google AdSense を停止することにしました。 Google AdSense に罪はないのですが,ご存知の通り, AdSense は時としてよくないサイトを表示してしまうことがあります。そんなわけで,現時点では― CVE-2015-0313 がゼロデイ攻撃に利用されている今という意味ですが― hxxp://www.retilio.com/skillt.swf の危険を回避するには止めたほうがいいだろうと判断したわけです。Adobe Flashの新たなゼロデイ脆弱性を確認、不正広告に利用。この悪しき swf は Dailymotion などを通して広がっているみたいですね。
Adobe Flash Player の新バージョンでゼロデイが解消されたら, Google AdSense を復帰させるつもりです m(_”_)m。
追記(2/5):
Adobe Flash Player の新バージョンが出ましたね。今 (16 時), うちの IE, FireFox, Google Chrome 上で version 16.0.0.305 になっているのを確認しました。速やかに,新バージョンに更新しましょう。
2 ・ 3 日うちには, Google AdSense を復帰させるつもりです。今後は, CVE-2015-0313 狙いの悪性 swf に感染したら,それは,皆さん各自の責任ですよぉ(爆)。
追記2(2/7):
Google AdSense を復帰させました。
前回作ったリポジトリの使い方を書こうと思う。
リポジトリを利用しようと思う CentOS7 にログインする。例えば, VPS とか,開発用の VM とか。
sudo yum install yum-plugin-priorities
yum repolist
sudo vi /etc/yum.repos.d/myrepo.repo
priority=2
‘ を追記する。wget http://www17130ue.sakura.ne.jp/~myrepo/x86_64/RPM-GPG-KEY-o6asan
sudo mv RPM-GPG-KEY-o6asan /etc/pki/rpm-gpg/
準備完了。自前リポジトリの 1 回目の使用時に, CentOS7 が RPM-GPG-KEY-o6asan をインポートしていいか聞いてくるので, ‘y’ を入力する。
注) クライアント PC から公開鍵を削除する方法。
クライアント PC には秘密鍵はないので, ‘gpg --delete-key <email@address>’ をやっても, ‘Unknown system error’ が戻ってくるだけで,削除はしてくれなかった。下記を使うとうまくいった。
$ sudo rpm -e [package]
当然ながら,正確なパッケージ名がいるが,それは下記で調べることができる。
$ rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}n'
例えば, CentOS-7 Key については,下記が戻ってくる。
gpg-pubkey-f4a80eb5-53a7ff4b –> gpg(CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>)
なので,
$ sudo rpm -e gpg-pubkey-f4a80eb5-53a7ff4b
とやると,削除することができる。
追記:
あとで気付いたが, Apache の rpm を作ったときの記述だと,秘密鍵なしの状況でも gpg --delete-key RSA鍵ID で公開鍵を消せたと書いてある。今回はできなかったんだが,なんでだろ。バグだったりして。
現在,さくらの VPS に event + suEXEC + FPM で WEB サーバを構築しようとしている。そのために,前回, ‘--enable-fpm’ 付きの php.rpm を作ったわけだが, ‘rpm -ivh’ でインストールするときの依存関係でうんざりしたので,自分用にリポジトリを作ることにした(爆)。
sudo adduser --gid xxxx myrepo
sudo passwd myrepo
sudo chmod 710 /home/myrepo
sudo su - myrepo
mkdir public_html
cd public_html
mkdir x86_64
exit
まだ,記事にしていないのだが,実はすでに Apache httpd で suEXEC サポート用の構築をしている。そんなわけで, User と Group はそれ用のものがあるわけだ。この記事に出てくる設定で,ご自分用のリポジトリを作る場合は,各自のシステムに合わせて,用語を読み替えていただきたい。
httpd conf から ‘Options Indexes’ を削除してあるのだが,リポジトリのディレクトリについては,インデックスを表示したい。そのためには, .htaccess において, ‘Options Indexes’ が使えないといけないので,以下のところを変えた。
UserDir enabled normuser1
—>> UserDir enabled normuser1 myrepo
AllowOverride FileInfo AuthConfig Limit Indexes
AllowOverride FileInfo AuthConfig Limit Indexes Options=Indexes
sudo systemctl restart httpd.service
sudo su - myrepo
cd public_html/x86_64
vi .htaccess
chmod 640 .htaccess
exit
rpm --addsign rpmbuild/RPMS/x86_64/*
sudo gpg --gen-key
sudo gpg --export -a 'o6asan' > RPM-GPG-KEY-o6asan
sudo gpg -o file.secret --export-secret-key o6asan
sudo mv /home/vmowner/file.secret /home/rpmbuilder/file.secret
gpg --import file.secret
vi .rpmmacros
%_signature gpg
%_gpg_name <Owner name>
sudo yum install createrepo
sudo createrepo /path to/x86_64
やっと,リポができたワイ。 URL は http://www17130ue.sakura.ne.jp/~myrepo/x86_64/。
次回は,使い方を書くつもり。
Windows 版の PHP5.6.5 が Jan-22 03:24:41UTC に出た。結構な数のバグフィックスと CVE-2015-0231 (bug #68710), CVE-2014-9427 (bug #68618), CVE-2015-0232 (bug #68799) へのパッチが含まれているようだ。
PHP5.6.5 ChangeLog には “Fixed bug #68799” が見つからなかったんだが,書き忘れかな。 5.5.21 のにはあったんだが……。まっ,とにかく,アップデートした。(サーバ OS : Windows7HP+SP1(x86)).
インストールについて詳しい情報が必要な場合は,「PHP 5.5.16 から PHP 5.6.0 への移行」をご覧ください。
当初の予定では, suEXEC サポートの話を書くはずだったのだが,ちょっと困ったことが。今回,さくらの VPS には, event + suEXEC + FPM のシステムを構築しようとしているのだが, CentOS7 標準の php.rpm はビルド時に ‘--enable-fpm‘ オプションが付与されていないみたいなのだ。 Apache httpd 上での event + suEXEC については,標準で動きそうなんだけどね。 php.rpm のビルドオプションは, ‘php-devel’ パッケージをインストールすると,下記のコマンドで参照できる。 CentOS の rpm においては ‘php -i’ では,ビルドオプションは見えないようだ。
$ php-config --configure-options
そんなわけで, ‘--enable-fpm’ オプション付きの php.rpm をリビルドすることにした。本当に必要なんかね,これ?まっ,いいけど!!
VPS に開発系のパッケージは入れたくないので,そこでは rpm を作れない。で, NJ2100 上に開発用仮想環境を作ることにした。仮想マシンには, VMware(R) Player 6.0.4 build-2249910 と CentOS7 (「開発およびクリエイティブワークステーション」を選択し,「開発ツール」にチェックを入れた)を使用。やり方は,「CentOS6の練習-#13(仮想マシンとして使う)」と大体一緒。
大体一緒だったんだけどね,今回の仮想マシンは,イーサネットデバイスを認識してくれなかった。これ,困るじゃん。 NJ2100 には SiS Ethernet Controller がついてる。「どうすりゃいいんじゃ」と思ったが,ネット上にたくさん解決方法のページがあった。私としては,その中のこちらのページをおすすめする。
みーんな,同じこと書いてある。曰く「vmnetcfg.exe と vmnetcfglib.dll をお使いなさい。 VMware-workstation-full-10.0.x-xxxxxxx.exe のような VMware Workstation の無償評価版を展開すれば,手に入るよ。」と。ところがさ,ベンダーさんから,評価版を落として調べてみたけど,入ってなかった。評価版は,すでに ‘VMware-workstation-full-11.0.0-2305329.exe’ になっていて, 64 ビット版に変わっており,どうも仕様が違うようだ。ウェーン。
どっかに, VMware Workstation 10 がないかって探した探した。だって,今,公式からバージョン 10 を落とすとなると,製品版を買うしかないわけだが,それは「なんじゃそれっ?」状態しょっ。結局, filehorse.com で見つけて,ダウンロードした。みんなも問題の 2 ファイルほしいかしらん?一応, zip にしてみたよ。これって,グレーゾーンかな?何はともあれ,ネットにつながる開発用仮想マシンが手に入った。
さて,実際のリビルド作業。当然ながら,すべて仮想マシン上で行う。参考ページとしては,公式のここを見た。
sudo useradd rpmbuilder
sudo passwd rpmbuilder
sudo useradd -s /sbin/nologin mockbuild
sudo su - rpmbuilder
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
wget http://vault.centos.org/7.0.1406/updates/Source/SPackages/
php-5.4.16-23.el7_0.3.src.rpm
rpm -ivh php-5.4.16-23.el7_0.3.src.rpm
$ cd ~/rpmbuild/SPECS/
vi php.spec
rpmbuild -ba php.spec
rpmbuild -ba php.spec
ところで,仮想マシンは, GUI で使っている。ここで, FileZilla を FTP クライアントとして使いたかったんだが,標準のリポジトリにはなかったので, filezilla.rpm も作った。このビルドのときに, wxGTK3-devel を要求されて, epel リポを有効にした。
sudo yum install epel-release
wget ftp://fr2.rpmfind.net/linux/fedora/linux/development/rawhide/source/
SRPMS/f/filezilla-3.10.0-1.fc22.src.rpm
rpm -ivh filezilla-3.10.0-1.fc22.src.rpm
cd ~/rpmbuild/SPECS/
rpmbuild -ba filezilla.spec
こんなとこかな。