2006.01.11

存在しないドメイン宛のメール

自宅サーバはダイナミックDNSを使って運営していて、さらにそこにメールサーバまであったりする。
で、昨日のlogwatchからのメールを見ていてまずいと思ったのでpostfixの設定を見直した。
何がまずいかというと、自宅サーバのメールに使っているドメイン名をexample.comとして書いていくと、hoge@example.comというようなメールアドレスをうちでは使っているのだけど、嫌メールの送信者がfoo@happy.example.comという様なアドレスにメールを送ってきた。
で、メールサーバはhappy.example.comなんてドメイン名を知らないものだからこの間やったpostfixからプロバイダのsmtpサーバへのリレーの設定に基づいてプロバイダのメールサーバ経由でfoo@happy.example.com宛てにメールを送りに行くという非常にまずい感じになっていた。

どうにかせねばとマニュアルを眺めたところtransport(Postfixのぺーじより)の設定でうまくいった。

/etc/postfix/main.cfに

transport_maps = hash:/etc/postfix/transport

を追加

/etc/postfix/transportに

example.com       smtp:mail.example.com
fw.example.com   :
sv.example.com   :
.example.com      error:mail is not deliverable
*               smtp:プロバイダのメールサーバ

を書いてpostmap /etc/transportをやってpostfixを再起動。

main.cfのrelayhostはコメントアウトした。

これをやっておくと、hoge@fw.example.comやfoo@sv.example.com宛てのメールはそのまま配送され、uni@example.com宛てのメールはmail.example.comへ送られる、それ以外のたとえばhoge@happy.example.com宛てのメールはエラーになり、example.com以外のドメインあてのメールはプロバイダのメールサーバ経由で送られる

| | コメント (0) | トラックバック (0)

2006.01.05

自宅サーバ迷走中:結局OSを入れ替える

graph apacheあたりがCPUを喰いまくった結果応答出来なくなっているのだろうと思ってsnmpとmrtgで監視。昨日一晩放置してみた結果、CPUのLoadAverageは関係ありませんでした・・・で、NetBSD2.1に戻したorz
orz各種ソフトウエアの設定ファイルのバックアップはとってあったので3時間ほどで元の環境に戻った。(14時からの空白が再インストール中)
とりあえず、今週末まで落ちないでくれればこれで良しとしよう。

pkgsrcがなぜかどれもmake出来なくなったので必要だったwgetやらnet-snmpやらbashやらはバイナリパッケージからインストール。
自分でソースをとって来てコンパイルしたphpも途中で怪しいエラーが出たけどなぜかrootでmakeしたら通ったのでまぁいいや(汗(もちろん一般ユーザのホームに一般ユーザで展開してconfigureかけた奴ですよ)
postfixは師匠に/etc/mailer.confに目を通すと幸せになれるといわれたので見てみると∑( ̄□ ̄;)なんとインストール済み。
新旧設定ファイルのpostconf -nをdiffして設定を移植。master.cfのsmtpのコメントをはずすだけで動いた

| | コメント (0) | トラックバック (0)

2006.01.04

自宅サーバ迷走中:snmpで監視してみよう

apacheもphpも今まで使っていたバージョンの物に戻したのにやっぱりサーバが途中で止まります。orz
とりあえずもうちょっとあがいてみようとsnmpを入れて監視することに。

NetBSDのpkgsrcから

  • net-snmp(どこに設定ファイルを保存するかわからないけどとりあえずオプションで指定して使えば問題なし(汗))

mrtgを入れたマシンにもnet-snmpをパッケージから入れた

とりあえずsnmpは/usr/pkg/share/examples/net-snmp/EXAMPLE.confを/etc/snmp.confとかにコピーして

/usr/pkg/sbin/snmpd -c /etc/snmpd.conf -p /var/run/snmpd.pid

とかやって起動。(一応rc.d用に起動スクリプトも作った)

snmpはudpのポート161を使うらしいのでipf.confに

pass  in  quick proto udp from any to any port = 161 group LAN側IFのin
pass  out quick proto udp from any port = 161 to any group LAN側IFのout

を追加

mrtgを動かす方のマシンから

snmpwalk -v1 -c コミュニティ名 IPアドレス .1.3.6.1.4.1.2021.2

とやってずらずらと結果が返って来ればおk(.1.3.6.1.4.1.2021.2はsnmp.confに書いてあったサンプル)

| | コメント (0) | トラックバック (1)

2005.12.31

apache2.2とNetBSD3.0とPHP5.1.1

昨日サーバがよく止まるorzと書いたけど、OSを疑う前にまず初めて入れたPHP5を疑ってみた。
で、PHP-4.4.1をビルドして入れてみたら止まらなくなった∑( ̄□ ̄;)
topで見てもメモリやCPUの利用量がそんなに違うというわけでも無いんだけどなぁ
でも、とりあえず今までは2時間以上連続稼働できてなかったのが、入れ替えたら動くようになったのでこれが原因だったのだろうorz
あとはログを監視する仕組みを入れるのと、メールは全部宅内サーバに転送するという仕組みを作ったらだいたい完成。
NetBSDについてるMTAはsendmailらしいんだけど、sendmailの設定は昔挫折したっきりなのでこれもpostfixと差し替えてしまおうと思う。

#追記 冷静に考えたら.forwardを書くだけでいけるのでpostfixを入れるのはやめた。

| | コメント (2) | トラックバック (0)

2005.12.27

GnuPGの鍵破棄証明書

破棄証明書というのは万一マシンがクラッシュしたりした場合に鍵を無効にする為のデータだ。で、今まで作って無かったんだけど、思い立って作って印刷してヒミツのメモ帳wに貼っておいた。
GnuPGは破棄証明書を作ってそれをインポートすること(鍵を無効化する方法)によって鍵が無効になるらしい。
・・・でも、私は鍵サーバに鍵を登録してるわけじゃないのであまり意味が無いのかもしれないが、万一秘密鍵が無くなった!とかうっかり公開!とか言うことになった場合には今鍵を置いているところに無効化した鍵を置いておくと良いらしい。
参考にしたサイト

| | コメント (0) | トラックバック (0)

2005.11.26

NetBSD ipfのログ

何がおかしいか調べるときはログファイルを見ないと~
と思い/var/log以下を調べて見るもそれっぽいログファイルが見つから無くってナニゴト!と思ったんだけどマニュアルを色々読むと、ipmonというプログラムでログをとるらしいので、作業リストに追加した。
あと、sysctlを毎回実行するのが面倒だorzの件は師匠からのコメントで解決
/etc/sysctl.confってサンプルファイルがあったのに気付かなかった自分の捜し物の下手さにビックリ(´Д⊂

まだ、keep stateしてるハズの物が帰り道で止められてしまうルールを一応掲載
まずそうな物は一通り止めてるハズなんだけど、まずくなさそうな物まで止まってたり勘違いによる穴もありそう。
webサーバのポート80から香港とかのIPアドレス宛のAS付きのパケットもだいぶ捨ててるみたいだ

ipfwにもkeep-stateはあったけどそれを通すにはcheck-stateが必要だったし、TCPで使うよりは主にUDPで使った(外に向かったUDPの帰り用のルールを一時的に作成してcheck-stateでまとめて通過させる)
ipfの場合にはフィルタに前にその部分があるようなので、設定でcheck-stateに外とする部分は入れなくても良いはずなんだけどA/SAを通す部分を入れておかないととりあえずsshが通らない
もうちょっとTCP/IPについてよく勉強しないとだめそうorz

| | コメント (0) | トラックバック (0)

2005.11.20

ルータをNetBSDに置き換える事前準備

作業を始める前にやっておくこと

  • インストールするNetBSDのCDイメージをゲットしておく
    (バージョンなど調べる )
    3.0 RC1が最新らしいけど2.1を入れておくのが無難か?
  • ルータを止める前にブロードバンドルータでサーバのTCP80と25が外から見えるようにしておく。
    (止めたらサーバのDefaultGWを変更)
  • インストールしたらとりあえずNICを使えるようにしてブリッジとして動作するようにする
  • /etc以下のpppoe.confとipnat.confとipf.confのいじり方を調べる
  • divertの意味と内容の再確認orz
    divert無しでipfのルールを書くらしい?FreeBSDでppp内蔵のnat使った時と同じって事か
  • 帯域制御のやり方(altqが使えた気がする)
    altq入りkernelを作らないといけないらしいのでkernelの再ビルドの方法
    (これはとりあえず基本的なブロードバンドルータとしての機能が動いてからでもいいや
  • NetBSDのパッケージ管理について
    バイナリパッケージでは無いらしいんだけど、それなら各種デーモンは自分で好きなオプション付けてビルドした方がよさそう

NetBSDがらみリンク

| | コメント (1) | トラックバック (1)

2005.11.04

PHPに重大な脆弱性だってさ

今日webサイトを巡回していたらPHPに重大な脆弱性があるという記事をちらほら見かけた。
自宅のサーバにもPHPは入っているので出先から返ってきて早速PHP日本ユーザ会をチェック
PHP <= 4.4.0 , PHP5 <= 5.0.5 にセキュリティー上の 欠陥があります。とのこと 自宅のサーバに入れてあるのは4.4.0なのでこれはまずいと思い、早速4系の最新版の4.4.1をインストールすることに。 いつもの通りソースからコンパイルして入れているのでソースをダウンロードして展開・・・
configureのオプション何を付けたかすっかり忘れてるよorzとりあえず

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-gd --with-zlib-dir=/usr/local/zlib --with-jpeg-dir=/usr/local/jpeg-6b --enable-mbstring

とかやってみた。
とりあえずgdも使えるし、p2も問題なく動いているので良いでしょう。
日経BPの記事によるとPHP4.4.xではソースコード埋め込み定数参照の仕様が変更されているため,プログラムが動作しなくなる場合がある。 との事なので、ちょっと様子を見て今後の対策を考えよう

脆弱性の詳しい内容については大垣 靖男氏のblogに書いてあるので、読んでください。
自分がよく理解していないので易しく書き直すことができませんorz

| | コメント (0) | トラックバック (0)

2005.10.23

LANTANK:要らないサービスを止めてみる

とりあえず使わないサービスが起動してるのも嫌なのでその辺を停止させることに。
LinuxはFedoraCoreしかよく分からないけど、Linuxなのだからinittabを見たら何かわかるのではと思い見てみる。
id:2:initdefault:
あれ?runlevel2で起動するようになってる・・・RedHat系とランレベルの数字の割り振り違うのかな(RedHat系はネットワークの使えるマルチユーザモードは3)
まぁその辺はなんか変な感じだけど、置いておくとしてinittabのもうちょっと下の方を見てみると
l2:2:wait:/etc/init.d/rc 2
とあった。ざっとだけ眺めて/etc/rc2.d以下のS数値サービス名のスクリプトを呼び出しているらしいことがわかった。
おおよそRedHat系と同じらしい。
chkconfigコマンドは無いらしいが、googleで検索した結果update-rc.dコマンドを使うとだいたい同じ事ができるらしいということがわかった。
(参考サイト:UNIXな生活)debianでのrunlevelの考え方も載ってた。

さて、/etc/rc2.d以下のスクリプトを眺めて後は
# update-rc.d -f サービス名 remove
するだけなのだが何が要らないのか考えてみた。

  • inetd telnetdを呼び出してるだけっぽいので要らない
  • wizd AVel LinkPlayer用サーバだと思うから要らない
  • mt-daapd 確かiTuneサーバ用だから要らない
  • akadavsvr webdavは使わないから要らない
  • thttpd-raidsetup 中身を見たらraidがsetupされてるか確認してraidになってたら停止する物らしいので要らない
  • mdnsresponder 何これ?
mDNSResponderというサービスが何をしてるのかわからない。一応DNSって名前だからDNSがらみなのだろうけどLANTANKには既にbindをインストール済みだから、変なDNSサービスが立ち上がってると困る・・・ 再びグーグル先生に問い合わせてみるとMacOsXで使うマルチキャストDNS用のコマンドらしい・・・ よく分かりませんorz

検索結果のうち日本語で書いてあるサイトを上から順に見てみると・・・kotomixというblogの記事に
mdnsresponder.exeとbonjourサービス
mDNSResponder.exeはなにかって言うと今まではiTunesがネットワーク上の他のiTunes端末を検知するのに使ってた技術を外出しにしたプログラムです。
とあったので、これも要らない様だ。

thttpd-raidsetupはlink元が絶対パス指定なのが悪いらしくupdate-rc.dコマンドで扱えなかった為自分でリンクを削除した。
で、再起動をかけてsshでログイン。さっきまでいろいろなプロセスがごちゃごちゃと起動していたが、起動直後の状態でps ax|wc -lの結果が25というすっきりした状態になった。

| | コメント (0) | トラックバック (0)

2005.09.14

FedoraCore4のftpクライアント

FreeBSD4.10Rにipfw+natd+mpdという組み合わせのルータを使っているのですが、そのルータから外へ出ているFedoraCore4マシンからのftpが通らなくなりましたorz
(niftyのftpサーバにrdfを送るシェルスクリプトが動いてない事に気が付いた)
で、通らないままだと困るので原因探し。
ipfwとnatの設定間違えてるのかと思い、ルールを確認したけど駄目でした。
(ftpサーバのIPアドレスを直指定しててIPアドレスに変更があった筋を疑ったけど違った)
で、ちょっと思いついてWindows2000のマシンからそのルータ経由でffftpで接続したところ接続できてるorz
モードの確認もしたしおかしいなぁと2時間くらい悩んだところでFedoraCore4に付いてたftpクライアントを疑うことに。
lftpというクライアントを使ったらあっさりと接続できましたorz
なんで?orz

| | コメント (0) | トラックバック (0)

2005.08.25

bw_mod

mod_throttleがapache2系でも使えたらうまいこと行くのではないかと思い、色々調べたらbw_modというのがだいたい同じらしいということを知り、とりあえず入れて見た。
makefileが無かったのでbw_mod0.6.txtを見て

apxs -i -a -c bw_mod-0.6.c

でさっくりとインストール完了

設定方法についてはテキストファイル読み中orz

| | コメント (0) | トラックバック (0)

mod_limitipconn

この間サーバのOSを入れ替えたのだけれども今まで使ってたmod_limitipconnがmakeできなくなったΣ(・ω・ノ)ノと思ったらただ単にapache2系を使っているのに1系のソース持ってきてただけだったorz

mod_limitipconのページからソースをダウンロードして
MakefileのAPXSとAPACHECTLをフルパスで書いて
make installして接続を制限したい場所に
MaxConnPerIP 3
とか書くと1IPアドレスあたりの接続数を3に制限できる

後は1IPアドレスあたりの接続数じゃなくてディレクトリへの接続数とか設定できるといいんだけどorz

| | コメント (0) | トラックバック (0)

2005.08.07

おうちサーバ入れ替え

やっとhttp(apache)+phpとpostfixが動くようになってやれやれといったところです。
apacheは自分で色々モジュールを追加したりする都合があったので元々ソースから入れようと思っていたのですが、postfixはパッケージで楽しようと思いyumから入れたのですが、動きませんでしたorz
ソースから入れた方が楽ってどういう事ですかヽ(`Д´)ノ
あとはphpにGD入れてコンパイルしなおして、fetchmailとかprocmailとかspamassasinとか入れたら元通りです。
ftpコマンドの仕様が違っていて、今まで使っていたココログと@ホームページを連動させるスクリプトを書き直さないといけないという課題は残っていますが、まぁこれはしばらく手動で何とかすることにしましょうorz

| | コメント (0) | トラックバック (0)

2005.08.06

おうちサーバのOS入れ替え

というわけでOSを入れ替えてみた
仕事の都合上FedoraCoreのレベル上げをしなければならないのでFedoraCore4を投入。
サーバに使うのはどうかという意見があったりするし(SDRIの記事)(FedoraCoreUsersML)、それを読んでなるほどとも思うけど、他に常時いじれる環境を作れないしLinuxZaurusのクロスコンパイル環境をラクチンに手に入れたい(以前FreeBSD上で作って失敗してる)しおうちサーバだし、ということでインストールしてみることに。

・・・が、インストールが終わってみればいきなり
swapの行のfstabがおかしいといわれたり(LABELがおかしいらしかったので/dev/hda2を直指定)
特定のグループ以外でもsuできたり(pamの設定をいじる)
sshでrootがログインできちゃったり(sshd_configいじった)
最小構成でインストールしたハズなのにcannnaやらmozillaやらgnomeやらの名前の付くパッケージが入ってたり
(とりあえず放置。cannnaは起動時に立ち上がらないようにした)
と、やたら疲れました。(´Д⊂

iptableの練習も兼ねてルータに放り込んでみようかと思ったけどルータはFreeBSDのままで行こうと思いましたorz
(ipfilter入れて使ってみようかな・・・)

| | コメント (0) | トラックバック (0)

2005.07.17

C860とpdaXromとKWINS

LinuxZaurus SL-C860にKWINSを挿して使っているのですが
pdaXromでも使えそうで使えていなかったのをイロイロ調べて使えるようにしました。


  1. authdrv_c860-1.2.0_arm.ipkを展開してpostinstを書き換えて実行
  2. rootfs-slc860-20031107.tar.bz2からauthdrvを取り出して/usr/sbinへコピー
  3. /usr/etcを作成
  4. ppp設定でdevをttyS3にして電話番号 ユーザ名 パスワード 初期化コマンドを設定
    (ここでMake connect VIAの項目にチェックを入れると接続できなくなる)
  5. dorecognize ttyS3 debug call 4で作った設定名

ここまでやると最後の手順で一度は切断されますが、再び実行すると接続されるハズです。
これでさらばQT決定な気がします。

2005/07/17 authdrvのファイル名間違っていたので修正しましたorz

| | コメント (0) | トラックバック (0)

2005.07.12

SL-C860にpdaXrom入れてみた

SLC860を普通に使うことに飽きてきたし見た目が素敵そうだし、
日本語で頑張って普及活動をしている人もいるので入れてみました。

その1
http://pdaxrom.org/index.php?showid=40&menuid=11から
RC9 of pdaXrom version 1.1.0 (Kathrin)をもらってきて解凍し
initrd.bin tools.tar updater.shをSDカードのルートにコピー

その2
普通はやらなくてもいいかもしれないけど変にパーティション切られてもやなので
http://pdaxrom.sourceforge.jp/wiki/
のルートに121MB欲しいをよく読む
その3
サービスメニューを起動
(電池をはずし、ACアダプタをはずし5秒ほど待った後にOKを押しながら電源入れると出る)
そこからインストールを選びpdaXromのインストーラを起動
その4
3 NAND Flash Utilsを選択し3 Fix Sharp loader NAND 64MB limit (SL-C760/C860 only)を選択
再起動
その5
再びサービスメニューを起動
3 NAND Flash Utilsを選択し1 Resize root partitionで121と入力
再起動
その6
再びサービスメニューを起動
1.Install new ROMを選択
再起動
その7
ログインプロンプトが出るのでrootでログインし(パスワードは無し)startx
ヤター
pdaXrom
・・・あれ?swapとか作らなくっていいんだっけ(汗

#うっかりFix Sharp loader NAND 64MB limitをやる前にパーティションを切って次に進んだためにエラーでインストールが止まりました。orz
よくよく読んでNAND 64MB limitをやってからインストーラを起動したらうまくいきました。
#日本語入力できるようにしないと~

日本語で詳しく解説を行っているサイト:pdaxrom.jp(Randolphさんのwiki)

| | コメント (0) | トラックバック (0)

2005.07.03

spamassasinとゴミメール

自宅ではメールを一旦自宅サーバにfetchでとって来させてそれをIMAPで読んでいます。
ゴミメールがうるさいのでspamassassinを入れているのですが、最近それを抜けるゴミメールが多くて嫌な感じです。

sa-learn --spam ゴミメールの入ってるディレクトリ

で、抜けてきた奴らを学習させればいいのですが、sa-learnはどうやらmbox形式(ディレクトリの中に1メール1ファイル)を読むみたいでうちではMaildir形式でサーバ上にメールを置いているので、仕方なくqmail3でjunkboxをローカルに置いて貯まってきたらそれをftpでサーバにアップロードして、そのアップロードしたディレクトリをsa-leranさせてます。

実はqmail3にもjunkフィルターがあるのですが、spamassassinがあるのであまり使ってません(汗

追記
・・・と思ったけどqmail3でIMAPを使っててjunkboxがローカルにあるとqmail3のfilterがうまく動かない模様_| ̄|○
サーバ上にjunkboxを作って貯まったらローカルに移してFTPで送るしか無いのか(汗

| | コメント (0) | トラックバック (1)

2005.06.15

ホームページ自動更新スクリプト

去年作ったココログの更新履歴を@ホームページに反映させるスクリプトがいつのまにか動かなくなっていた。
普段はcronで動かしてるけどとりあえず何が悪いのか確かめる為に手動で起動させてみると・・・

Cannot get remote directory listing because: 425 Can't build data connection: Connection refused.
Cannot get remote directory details (/homepage)

途中で動かしてるmirrorがなにやらエラーを吐いている。
普段使っているftpクライアントではファイルをアップロードすることができているのを確認。
ちょっと思い当たることがあってpassive_ftp=trueをmirror.defaultに追記
動いたー(/´∇`)/
確かうちの環境だとftpはpasvにしないと使えないハズなのに何でここだけpassive_ftp=falseにしてたのだろう・・・
それで今まで動いていたのが不思議だorz

| | コメント (0) | トラックバック (0)

2005.03.07

qmail3(2.9.12.1806)日本語化

qmail3日本語化ファイル

2.9.12のスナップショット版のスパムフィルタには時々データベースが壊れてしまうというバグがある様なのでNightly Build版を入れてみました。
で、menus.xmlに変更があったようなので入れ替えました。

toolbar.xmlは2.9.10.1518から変更は無いようです

| | コメント (0) | トラックバック (0)