最近、RedHat 7.2 で Web サーバを構築したので、一応、そのメモ。
まず、インストールが完了したら、不要なサービスを切って、セキュリティ、バグ関係のアップデートを行う。RedHat 7.2 のバグフィックス、アップデートについては、Red Hat Support のページを参照。
いつも時間を合わせるのに、ntpdate を使っているのだが、インストール時に入っていない場合は ntp をインストールする必要がある。
RedHat CD-ROM Disk1 に入っているので、そこから rpm パッケージを取り出してインストール。
ntp のインストールには以下の2つのパッケージをインストールする必要がある。
libcap-1.10-5.i386.rpm ntp-4.1.0-4.i386.rpm
rpm コマンドを実行して ntp をインストールして、NTPサーバにアクセスして時刻を合わせる。
# rpm -ivh libcap-1.10-5.i386.rpm ntp-4.1.0-4.i386.rpm # ntpdate [NTPサーバ] # clock -w
NTPサーバは、プロバイダが用意している場合はそのサーバを指定。Asahi-net の場合は、
# ntpdate ntp.asahi-net.or.jp
と実行すると、時間が合わせられる。プロバイダが NTPサーバを用意していない場合は、
ntp1.jst.mfeed.ad.jp (210.173.160.27) ntp2.jst.mfeed.ad.jp (210.173.160.57) ntp3.jst.mfeed.ad.jp (210.173.160.87)
を利用させてもらうという方法があるようだ。ただ、この3つのサーバは、テスト的に公開されているだけなので、Experimental NTP Servers (Public Stratum 2) というページをチェックしておく必要がある。
clock コマンドは ハードウェアクロックを現在のシステムクロックに合わせるという機能があるので、特に不都合あるということが分からない人は実行しても問題ない。
一応、Web サーバなので、Apache をインストール。といっても、特に注意することもなく、インストール可能。
$ tar zxvf apache_1.3.24.tar.gz $ cd apache_1.3.24 $ ./configure $ make $ su # make install
SSL や、PHP などのモジュールを使用する場合は、 --enable-module=so などのオプションをつけてコンパイルするくらい。後は、/usr/local/apache/conf/httpd.conf を編集して、
# /usr/local/apache/bin/apachectl configtest
を実行して、 Syntax OK と表示されれば問題ない。
後は、 httpd.conf に必要な設定。ログの取り方とかを変更してみる。一週間ごとにログをローテートさせるとか。ServerSignature は大して効果はないけど、 Off にしておくと、無駄な情報を提供しないようになるので、 Off に設定。
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined CustomLog /www/logs/access_log combined CustomLog "|/usr/local/apache/bin/rotatelogs /www/logs/access_log 604800 540" combined CustomLog "|/usr/local/apache/bin/rotatelogs /www/logs/error_log 604800 540" combined ServerSignature Off
安全にサーバにログインするために sshd の設定
ssh で DSA 鍵を作成
$ ssh-keygen -t dsa $ cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys
sshd の設定
# vi /etc/ssh/sshd_config
以下のように、ssh のプロトコルはバージョン2のみ、Rootによるログインは認めない、通常のパスワードによるログインを認めない、X のフォワーディングはしないように設定。
Protocol 2 SyslogFacility AUTHPRIV PermitRootLogin no PasswordAuthentication no X11Forwarding no
後は、サーバ上に ~/.ssh/authorized_keys を置き、 クライアントに ~/.ssh/id_dsa を置いた状態で、ssh でログインしてみて、パスフレーズによるログインができるようになれば成功。
sshd の設定で通常のパスワードによるログインはできないように設定しているので、少しは安全かも。
参考になるかも。
最近、肩こりがひどいので。
第3回 読者調査結果発表 〜Webアプリケーションのセキュリティ〜
まだまだWebアプリケーションのセキュリティ対策が進んでいないようだ。
Windows XP しか無理かもしれないが、起動時間が短縮されるのは嬉しいかもしれない。
エレコム、冷却ゲルを使用したノートPC冷却用グッズ「冷え冷えシート」
実際に買って試してみたが、結構いいかもしれない。
ウイルスと同じような感じがする・・・。
VineLinux 2.5 をインストールしてみた。インストールしたハードウェアは CPU が Pentium Pro 200MHz、メモリが 64MB と少し昔の非力なマシンだったが、それでもそれほど問題もなくインストールは完了した。
デスクトップは GNOME 環境を撰択したはずだが、初回起動時に startx で X を起動させると、なぜか WindowMaker が起動。ランレベルが 3 だと、インストール時の設定は反映されないのかも。
とりあえず、 ~/.wm_style を編集して GNOME が起動するように設定した。~/.wm_style が WindowMaker になっていた部分を以下のように変更。
GNOME
なんとなく、日経ネットワークセキュリティを読みながら、セキュリティツールのインストールなどを行ってみたので、そのインストールメモでも。使い方などの詳しい情報は雑誌で。OS は VineLinux 2.5 なので、他の OS ではこの通りに作業してもインストールできる保証はありません。
$ wget http://www.hping.org/hping2.0.0-rc1.tar.gz $ tar zxvf hping2.0.0-rc1.tar.gz $ cd hping2 $ ./configure $ make $ su # make install
$ wget http://www.atstake.com/research/tools/nc110.tgz $ mkdir nc110 $ mv nc110.tgz nc110 $ cd nc110/ $ tar zxvf nc110.tgz $ make linux DFLAGS="-DGAPING_SECURITY_HOLE -DTELNET"
make に失敗した場合は、 netcat.c の 1317行目から1320行目までの
#ifdef HAVE_BIND .............. #endif
を削除して make コマンドを再度実行。
./nc -h
を実行してバージョンが表示されれば成功。
$ wget http://www.wiretrip.net/rfp/bins/whisker/whisker.tar.gz $ tar zxvf whisker.tar.gz $ cd v1.4/ $ perl whisker.pl
ヘルプ画面が表示されれば成功。
$ wget http://packetstormsecurity.org/UNIX/misc/rcpt-analisys.tgz $ mkdir smtp-cracker $ mv rcpt-analisys.tgz smtp-cracker/ $ cd smtp-cracker/ $ tar zxvf rcpt-analisys.tgz $ mv rcpt-analisys.tgz ../ $ gcc -Wall -O3 smtp-cracker.c -o smtp-cracker $ ./smtp-cracker
ヘルプ画面が表示されれば成功。
$ wget http://www.openwall.com/john/john-1.6.tar.gz $ tar zxvf john-1.6.tar.gz $ cd john-1.6/src/ $ make linux-x86-any-elf $ cd ../run/ $ ./john
バージョンが表示されれば成功。
あと、apt-get で Ethereal や nmap、Nessus などをインストールしておけば充分かも。とりあえず、サーバのセキュリティチェックなどを定期的に行っておくと少し安心。どちらにしても、セキュリティアップデートはこまめに。
ネタ的に FreeBSD に Apache 2.0.35 と PHP 4.2.0 RC4 をインストールしたので、そのメモ。何も考えずに Apache 2.0.35 をインストールした後、PHP 4.2.0RC4 をインストールしようとしたら、FreeBSD の場合は GNU pth をインストールするように言われてしまったので、PHP のインストールの前に Ports などでインストールする必要があります。
PHP はマルチバイト対応と最適化オプションを付けてコンパイルしています。
$ tar zxvf httpd-2.0.35.tar.gz $ cd httpd-2.0.35 $ ./configure --enable-so $ make $ su # make install
# cd /usr/ports/devel/pth # make install # exit
$ tar zxvf php-4.2.0RC4.tar.gz $ cd php-4.2.0RC4 $ ./configure \ --with-apxs2=/usr/local/apache2/bin/apxs \ --without-mysql \ --with-pgsql \ --enable-trans-sid \ --enable-mbstring \ --enable-mbregex \ --enable-mbstr-enc-trans \ --enable-inline-optimization \ --disable-debug \ --with-tsrm-pth $ make $ su # make install
実際にベンチマークを取ってみた感じとしては、Apache 2.0 になったからといって速くなったわけではなさそう。オプションを付けずにインストールした場合は 1.3.24 の方がパフォーマンスは良かったような気がする。
FreeBSD の問題なのか、Apache の問題なのかはよく分からないが、まあ、詳しく調べたわけではないし、試しただけなので、何とも言えない。・・・しばらくは様子を見るくらいで、Apache 2.0 を実際のサーバに使うことはなさそう。
IBM、マイクロソフト、およびベリサイン社が、 Webサービスを向上させる新しいセキュリティ仕様を発表
仕様だけなのでどうなるのか分からないけど。
かなりまとまっていて、結構面白い。それにしても、IEのセキュリティホールの数の多さは何とも言えないものがある。個人的には Mozilla に期待したい。
世界のサーチエンジン利用率でgoogleが第一位 - オランダの調査会社
Google のシェアは全世界で 46.5% ということらしい。
とりあえず、勉強と言うことで。
政府が公開している情報。読んでおいた方がいいかもしれない。
クラスタは何台までOK?―性能から見たWebLogicクラスタの適正台数―
結構、気になったので。
参考になるかもしれない
どこかではあまり役に立たないと言う話もあったが・・・。
Windows 2000 SRP2はキャンセル,MSがセキュリティ関連のリリース計画を表明
運用の手間がかかるから SRP の頻度を落とすというのは、あまりよくないと思うのだが・・・。
VMware のような仮想マシンを Linux で提供するツール。結構面白そうだが、試している時間がない・・・。
Tripwire の運用方法について。かなりよくまとまっているような気がする。
日本語に特化した RedHat ベースの Linux。今回は、RedHat 7.2 ベースらしい。インストールしてみたが、かなりいい感じ。
PHPの次期バージョンのβ版。Apache 2.0.35 に対応したリリースらしい。そろそろ正式版がリリースされるといいのだが・・・。
様々なプラットホームに対応したWebブラウザ。とりあえずの区切になりそうな 1.0 のリリース侯補。問題はいくつかありそうだが、早くリリースされると嬉しい。
VineLinux 2.1.5で ext2 ファイルシステムを ext3 に変更する方法
VineLinux のメーリングリストで、既にファイルが存在する ext2 のパーティションを ext3 に変換することが可能という情報があったので、試してみた。
ファイルシステムが ext2 の /dev/hda1 を ext3 に変更するための例ということで。
ext3 を使用するには、カーネル 2.2.19 以降が必要なので、カーネルが 2.2.18 以下の場合はアップグレードしておくこと。
カーネルのアップグレードについては、http://www.vinelinux.org/manuals/kernel-upgrade.html を参照。
また、e2fsprogs というパッケージが必要なので、なければ追加する必要がある。
$ rpm -qa | grep e2fsprogs
を実行して、何も表示されなければ e2fsprogs パッケージをインストールする。
# apt-get install e2fsprogs
まず、シングルモードにした方が安全なので、root で
# telinit 1
を実行してシングルモードで起動する。本当は、対象のパーティションをアンマウントした方が安全だが、アンマウントしなくても大丈夫のようだ。
次に、
# tune2fs -j /dev/hda1
を実行。ジャーナリング領域が追加される。後は、ファイルシステムが正常かどうかをチェック。
# fsck /dev/hda1
変換された hda1 が ext3 として認識するように /etc/fstab で ext2 を ext3 に変更する。
再起動して、
# df -T
を実行して、ファイルシステムの形式が ext3 と表示されれば成功。
http://www.turbolinux.co.jp/knowledge/public/361.html では、ext2 を ext3 ファイルシステムに変換する以外にも、新規で ext3 ファイルシステムを作成する方法も記載されているので、こちらを参考にした方がいいかもしれません。
時期バージョンの PHP ベータ版。RC3になった。
オープンソースのIDS。1.8.4 と 1.8.5 の両方にあったバグフィックスらしい。
結構気になった話。最近はそんな方法でスパイ行為をやっているのか、と思ってしまった。
「セッションハイジャックとクロスサイト・スクリプティング」という項目の説明が結構分かりやすくてよかった。
相変わらず時間がないので、短めに。
PHP の動作を速くするには、いくつか方法があるが、とりあえず、プログラムを高速に動くようにチューニングする以外の方法をメモ。
一つはコンパイル時に、
--enable-inline-optimization --disale-debug
を追加して configure を行う。メモリの使用量は少し多くなるが、有効な方法らしい。
stripコマンドを使用する事で、少しは高速になるようだ。php を apache の実行モジュールとしてコンパイルした場合のPHPモジュールは、
/usr/local/apache/libexec/libphp4.so
にあるので、root で
# strip /usr/local/apache/libexec/libphp4.so
として、シンボルを削除すると結構速くなる。何か問題があるかもしれないので、こういうチューニングは自己責任で。
昔有名だったサービスが今はどうなっているのかを集めた情報。結構懐かしいものもある。
オープンソース開発者のための支援ページの日本語版ができたらしい。
MS-Unisysの“反UNIX”キャンペーンサイトはUNIXベース
結構笑えるネタ。UNIXをやめようというキャンペーンで使用していたサーバは FreeBSD だったらしい。今はWindows の IIS で動いているらしい。
フリーのデータベース管理システム。いつの間にかリリースされていたらしい。
Mozilla 0.9.4 ベースのブラウザ。Linux版もリリースされたらしい。
Webサーバ。今までベータ版だったが、今回は正式リリースらしい。いろいろな機能が拡張されたので、テスト的に試してみる必要がありそう。
世界的に良く使われている Red Hat Linux の次期バージョンのベータ版。
PHPの次期バージョンのベータ版。もうすぐ正式版がリリースされるかも。