動いているサービス
Blog用
・movable type
※apache22
※php5
※postgres
メール用
・fetchmail
・popfile
・qmail
・ucspi-tcp
Windows用
・samba
ネットワーク用
・natd
・ipfw
リモートログイン用
・sshd
・bruteblock
バックアップ用
・rsync
DNSサーバ用
・ddclient
DHCPサーバ
・isc-dhcp
動いているサービス
Blog用
・movable type
※apache22
※php5
※postgres
メール用
・fetchmail
・popfile
・qmail
・ucspi-tcp
Windows用
・samba
ネットワーク用
・natd
・ipfw
リモートログイン用
・sshd
・bruteblock
バックアップ用
・rsync
DNSサーバ用
・ddclient
DHCPサーバ
・isc-dhcp
いい加減古くなってきたので、更新してみましたが
大台のバージョンがあがっていたのと、ダイナミックタイプにしてみようと
いろいろ調べてみました。
つまずいたこと
1.MovableType4をインストールするのに、ダイナミックタイプでデータ管理するには、
データベースが必要で、そのためにPostgresqlを入れたのだがPHPを入れただけでは駄目で、
DBIのPostgresqlを入れないといけないがPHPとかのオプションには無く、P5-Class-DBI-Pgという
Portをインストールしなければならなかった。
2.データの移行自体は、書き出しとインポートでそのままできたが、
ダイナミック型に変えるとアーカイブとかのリンクがうまく動かない。
リンク自体のUrlがちゃんと入ってない。
1度アーカイブに入る記事を書くとフラグが立つみたいで、テスト記事を日付だけ更新して
アーカイブごとに入るように変更を掛けた。1度掛けると記事を消してもちゃんとリンクされた。
3.ダイナミック型にすると.htaccessが使えるようにしないと駄目で、Apacheの設定変更。
4.MovableType4では、大量の記事の場合ページ分けすることができないようなできるようなことを
書いてあり。説明があいまいでかなり迷い。
参考のがわかりやすい。
アーカイブテンプレートの「Entry Listing」とテンプレートモジュールの「Content Navigation」が
編集するファイル。英語版落としてきたのでかなり迷いました。
いまだにテンプレート等を正しく理解していないため、かなり時間が掛かりました。
自分ではそんなファイル名付けることがないので、
気がつかなかったのだが、Sambaのローカル文字コードをEUCにしていると
ファイル名に丸の数字を使うとおかしくなる。
8.3ファイル名から使っているのでそういう文字を自分では使わないのだが、
Windowsからの使用者とかは遠慮なく使うので、問題発生した。
ってことで、UTF-8だといけるようなのでUTF-8に変更。
http://www.monyo.com/technical/samba/docs/Japanese-HOWTO-3.0.ja.txt
ここにちょっとだけ載っているが、UNIX側で変換しなければUTF-8でいいようですが
バックアップは平気かな?
構成
FreeBSD7.0R
2009/6のPorts
1.sendmailを止める。
/etc/rc.conf
+sendmail_enable=”NONE”
2.Portsのインストール
・tcpserver(sysutils/ucspi-tcp)
後々のためにSSLをONでインストール
・spamassassin(mail/p5-Mail-Spamassassin)
インストール後。
vi /etc/rc.conf
+spamd_enable=”YES”
/usr/local/etc/rc.d/sa-spamd start
次のQmail-scannerをmakeするときに起動していないと認識できないようです。
・qmail-scanner(mail/qmail-scanner)
qmailをインストールするときに、SMTP_AUTH、QMAILQUEUE、MAILDIRQUOTAにチェックを入れる
3.qmailの設定
・controlファイル
/var/qmail/control
作成
me
defaultdomain
locals
rcpthosts
・aliasファイル
/var/qmail/alias
適当にあて先指定
・起動ファイル
cp /var/qmail/boot/maildir /var/qmail/rc
・ローカル用sendmail入れ替え(ローカルでMailコマンドを打ったときに届くようにするため)
mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
・qmail-smtpdの起動ファイル
vi /etc/smtp.rule
+:allow
/usr/local/bin/tcprules /etc/smtp.cdb /etc/smtp.tmp <
/etc/smtp.rule
(ここにQMAILQUEUEを入れるという記述をよく見るがやってみた結果。起動時に組み込むと
動作しているので、tcpserver起動時に設定してある。もし条件付けでSPAM設定をONOFFしたいのであれば
smtp.ruleで入れるほうがいいのかもしれない。)
vi /usr/local/etc/rc.d/tcpserversmtp.sh
+#!/bin/sh
+QMAILQUEUE=”/usr/local/bin/qmail-scanner-queue.pl”
+export QMAILQUEUE
+/usr/local/bin/tcpserver -x /etc/smtp.cdb -u 98 -g 98 0 smtp
/var/qmail/bin/qmail-smtpd &
chmod 755 /usr/local/etc/rc.d/tcpserversmtp.sh
自分からスパムメールを送ることはないので外部からのみスパムチェックを行う。
実行ユーザーとグループが98なのは、qmail-scannerを実行するためqscandのユーザーとグループ。
・qmail-scannerの設定
cp /var/spool/qscand/quarantine-events.db.tmp
/var/spool/qscand/quarantine-events.db
cp /var/spool/qscand/quarantine-events.txt.sample
/var/spool/qscand/quarantine-events.txt
chown qscand /var/spool/qscand/*
コピーしなくてtxtの方だけを作成して/usr/local/bin/qmail-scanner-queue.pl
-gでdbの作成可能。
その場合もユーザ変更をしておくこと。
(他のweb等では、sudoなどで実行権限などを変更して実行しろと書かれてあるが出来上がったDBファイルの
所有者だけの問題と思われる。)
・spamassassinの設定
・/usr/local/etc/mail/spamassassinに設定ファイル集があります。
cp /usr/local/etc/mail/spamassassin/local.cf.sample
/usr/local/etc/mail/spamassassin/local.cf
設定の方法は、他のWEBに任せます。
昔のイメージがあったので、バックアップ=tarだと思っていたのだが
tarのバックアップは、危険よとか書かれていた。http://www.linux.or.jp/JF/JFdocs/Backup-mini-HOWTO/tar-gz.html
要は、afioでやると壊れた以降のデータも救い出せるからデータ壊れた場合にマシになるとのことです。
またafioでは、差分だけのバックアップも楽だよ(ファイル名を流してやるだけでそれらをアーカイブしてくれる。)
FreeBSDではafioはportsで入っていたので早速インストール。
うちでは、
1.1月に1回全体バックアップ
2.毎日1月に1回からの差分
3.上記バックアップが壊れた場合の1週間に1度の全体バックアップ
の3つをすることにします。
1.backupmonth.sh
#! /bin/csh
rm -f /BACKUP/*.day
rm -f /BACKUP/*.month
/usr/bin/find /TESTDATA/ | /usr/local/bin/afio -ovZ -L
/tmp/sabun.log /BACKUP/`date +%m%d`.month
2.backupday.sh
#! /bin/csh
/usr/bin/find /TESTDATA/ -cnewer /tmp/sabun.log |
/usr/local/bin/afio -ovZ -L /tmp/sabun.log /BACKUP/`date
+%m%d`.day
3.backupweek.sh
#! /bin/csh
rm -f /BACKUP/*.week
/usr/bin/find /TESTDATA/ | /usr/local/bin/afio -ovZ /BACKUP/`date
+%m%d`.week
の3つを1月と毎日と毎週で起動中。
もう少しするなら毎週のバックアップとるときは毎日の差分はいらないとかあるんだけど、どうせ夜だし
影響少ないからいいやと思ってそのまま。
Xeonマシーンがあったので、FreeBSD7のamd64版を入れてみたのだが
やたらlsの反応が悪い。メモリーが4GBあったのでamd64にしたが
i386版を入れ直してみると反応が戻ったのでamd64での不具合ぽいです。
amd64だとAMDCPUのが断然速いと言うのを聞いたことがあったが
使用に耐えないほど変な動作するとは思わなかった。
1000個ほどあるディレクトリをlsで表示すると何十秒もかかる。ってのが今回の不具合でした。
1週間ほどで2件ほどアクセスしてきているところが
1個は、
122.216.23.213(上位は、Ucom)
Network Information: [ネットワーク情報] a. [IPネットワークアドレス] 122.216.23.208/29 b. [ネットワーク名] TK0008510119 f. [組織名] デジトイズ 株式会社 g. [Organization] DigiToys Inc. m. [管理者連絡窓口] JP00022296 n. [技術連絡担当者] JP00022296 p. [ネームサーバ] [割当年月日] 2007/09/21 [返却年月日] [最終更新] 2007/09/21 17:02:14(JST)
この会社のWEBページはhttp://digitoys.jp/index.htmlだと思われる。
で、もう1つのアドレスが
219.94.147.177(さくらインターネット株式会社)
Network Information: [ネットワーク情報] a. [IPネットワークアドレス] 219.94.147.0/24 b. [ネットワーク名] SAKURA-NET f. [組織名] さくらインターネット株式会社 g. [Organization] SAKURA Internet Inc. m. [管理者連絡窓口] KT749JP n. [技術連絡担当者] KW419JP p. [ネームサーバ] ns1.dns.ne.jp p. [ネームサーバ] ns2.dns.ne.jp [割当年月日] 2006/10/19 [返却年月日] [最終更新] 2006/10/19 13:23:03(JST)
ここは、ホスティング会社なのでどっかの馬鹿会社がボット化してるんだろう。
でもおもしろいのは、上のデジトイズ 株式会社のWEBサーバがさくらにあるってことです(w
この会社って存在してるのか?
連絡するかどうか迷うところだ。
どっちも逆引き設定してないくらいのレベルなので、ろくに管理できてないから言っても無駄かなと思います。
むしろわざと逆引きしてないのか?
海外からSSHアクセス大量にきてた時にも逆引き設定してないところが9割くらいあったので
やっぱりそういう管理が甘いところに集まるのかな。
入れ替えたときにサーバー機のメール設定は後回しにしていて
最近tcpserverを使ったPOP3Sに変更してみたのだが、
どうも証明書の関係でタイムアウト待ちがあるのかかなり遅かったので、
解消しようといろいろやってみるが、
POP3SとMaildirとQmailで調べてみると、「Courier-imap」を使用するのが多いようで、
インストールしてみることに、少し仮想環境で実験してうまくいったので変更。
うちがやったやり方。
環境FreeBSD7+qmail+Maildir
1.Courier-imapをPortsからインストール。
2.証明書の作成(オレオレ証明書)
/usr/local/etc/courier-imap/pop3d.cnfを編集
(同じところにサンプルがあります。)
/usr/local/share/Courier-imap/mkpop3dcertを実行
勝手に上のファイルを参照して証明書を作ってくれます。
3.認証システムの設定ファイル
/usr/local/etc/authlib/authdaemonrcを編集
authmodulelistorigを編集(認証の種類。全部載ってるのが無駄なだけなので)
4.起動時に自動起動の設定(rc.confの編集)
courier-imap-pop3d-sslとcourier-authdaemondの2つを起動する。
pamを使った認証の場合はこれだけで認証されます。
思ってたよりずいぶん楽に終わりました。
韓国や、中国のIP防いでも全然SSHのアタックが続くので、
いっそ日本以外からのSSH接続を切ってしまいました。
IPリストは、
一網打尽(WindowsNT/2000/XP/Vista/ インターネット&通信)
と
ftp://ftp.apnic.net/apnic/stats/apnic
の情報からJP算出し、ループで、ipfwのテーブルに登録
ここ2日ほどの結果は、SSHへの攻撃ありませんでした。
また、たぶん攻撃しようとしたアクセスは13件でした。
メールも海外全部Spam送りにしてしまいたいです。
メールももう少しスマートなやり方ないかなと思います。
まあ、メールは自分では扱えないのですが。
簡単なのは、メールアドレスを相手ごとに変えていくのが1番いいのかな?
いままでずっと/var/log/messageに出ていたエラーメッセージ
hostname dhcpd: if hostname.network IN A rrset doesn’t exist
add hostname.network 300 IN A 192.168.1.2: timed out.
を出なくしようと、いろいろやってみることに。
環境は、FreeBSD7Releaseでやってます。
まず、bind(named)の設定変更をしてみた。
1.bindがDynamic DNSを受け付けなければならない。
これは結構すぐだと思ったのですが
allow-updateを/etc/namedb/named.confに加える。
だけで終わるはずだったのですが、なぜかうまくいかない。
エラーは、dns_rdata_fromtext: ./master/192.168.1.rev:2: near eol:
unexpected end of input
まあ書き込めないとのことなのでmasterディレクトリをchownしてbindにして、再起動。
で再起動した後に見るとさっきchownしたのが元に戻ってました。
で、/etc/namedbの下には、他にいくつかディレクトリがあって
いかにもっていう「dynamic」って言うディレクトリがしかもオーナーがbindってことで
ここのzoneファイルとrevファイルを置かないといけないようで、ここに配置することで
無事DNSのDynamic DNSの受け付け設定成功。
おそらくセキュリティあげるために変更になっているのだと思います。
2.でもこれだけでは、さっきのエラーは直らなくて、次の問題は
dhclientが/etc/resolve.confを書き換えてしまうため、
dhcpdが追加をISP側のnameserverに
問い合わせに行ってるようで、当然拒否とかつながらないわなってわけでした。
で/etc/dhclient.confにdhclientがdhcpサーバからもらう情報を選ぶというのがあって
resolv.conf が勝手に書き換わる:リファレンス – ZDNet Japan
をやってみたのですが、相変わらず書き換わってしまいました。
たぶん設定で絶対に全部送るって設定になってるのかな?どっちにしろこれでは
不都合なので、またいろいろ調べると
dhclient.confで上書きする設定をすることができるとのことなので
雨と樹海とFreeBSDとresolv.confを勝手に書き換えちゃ嫌
supersedeというコマンドで上書きをしてもらえるので、
これでdhclientによる/etc/resolve.conf
書き換えの被害は終了。
やっと初期のエラーはなくなりましたが、
zone ‘network’ allows updates by IP address, which is
insecure
ってエラー?が出るようになりました。探してみると
@IT:Dynamic DNSとnsupdateコマンド(3/3)
IPアドレスでDNSupdateを受け付けるのは危険だよってことらしいですが、
起動時だけなのでいいかな。