Home > UNIX

2005.06.02

smtpfeed

よく聞く例えとして
Sendmail → 直列配送
Sendmail + smtpfeed → 並列配送

メーリングリストも無いけど
smtpfeed で配送高速化

DNS への問い合わせとか
メールの配送なんかを同時にやる感じ
WIDEパッチは、いらなそう?

apt-get install smtpfeed

/etc/mail/sendmail.mc

FEATURE(nocanonify)dnl
MAILER_DEFINITIONS
Msmtpf, P=/usr/sbin/smtpfeed, F=mDFMuXz, S=11/31, R=21, E=\n, L=990,
T=DNS/RFC822/SMTP, A=smtpfeed
MAILER(smtp)dnl
define(`SMART_HOST’, `smtpf:LMTP’)dnl


mailertable にも追記しとけと
/etc/mail/mailertable

smtpf:LMTP


まんま書くと、エラー?(動いたけど)
no RHS for LHS smtpf:lmtp

右と左がアレって意味なのかな

.(ドット) [タブ] smtpf:LMTP

こんな感じで。


syslog-ng
/etc/syslog-ng/syslog-ng.conf

destination smtpflog { file(“/var/log/smtpf.log” owner(“root”) group(“adm”) perm
(0640)); };
filter f_smtpflog { facility(local5); };
log { source(src); filter(f_smtpflog); destination(smtpflog); };


logrotate

/var/log/smtpfeed.log {
compress
notifempty
rotate 8
postrotate
/etc/init.d/syslog-ng reload >/dev/null
endscript
}


logcheck
/etc/logcheck/logcheck.logfiles

/var/log/smtpfeed.log

2005.05.26

WebDAV

Debian でも WebDAV / Apache は 1.3.26
sudo apt-get -s install libapache-mod-dav

文字化け対策
WindowsXP なら問題なかったけど
Windows2000 だと化け化け

sources.list (Woody 用)
deb http://ftp.arege.jp/debian-arege woody libapache-mod-encoding
deb-src http://ftp.arege.jp/debian-arege woody libapache-mod-encoding

apt-get update
apt-get -s install libapache-mod-encoding


mkdir /var/www/html/dav
chown www-data:www-data /var/www/html/dav
cd /var/www/
htpasswd -c .dav_htpasswd davuser

/etc/apache/httpd.conf

LoadModule encoding_module /usr/lib/apache/1.3/mod_encoding.so


Alias /dav/ /var/www/html/dav/
DAVLockDB /var/lock/DAV/DAVLock
# DavServerEncoding UTF-8

DAV On
DAVMinTimeout 1800
Options +Indexes
IndexOptions FancyIndexing
AuthType Basic
AuthName “Please Input WebDAV ID/Pass”
AuthUserfile /var/www/.dav_htpasswd
Require valid-user
AuthGroupFile /dev/null




EncodingEngine on
NormalizeUsername on
SetServerEncoding UTF-8
DefaultClientEncoding JA-AUTO-SJIS-MS MSSJIS
AddClientEncoding “cadaver/” EUC-JP
AddClientEncoding “Microsoft .* DAV” MSSJIS
AddClientEncoding “xdwin9x” SJIS


Fedora でも WebDAV

WebDAV

20050526.jpgちょっと便利なファイルサーバー?
よく知らないけど、先日 samba 立てたばかり・・
FedoraCore3 だと元からほぼ使える状態

Apache は 2.0.52
ルートフォルダとか変えるの面倒
何かと制限うるさい感じ


mkdir /var/www/html/dav
chown apache:apache /var/www/html/dav
cd /var/www/
htpasswd -c .dav_htpasswd davuser

/etc/httpd/conf/httpd.conf

Alias /dav “/var/www/html/dav”

DAV on
# SSLRequireSSL
AuthUserFile /var/www/.dav_htpasswd
AuthGroupFile /dev/null
AuthName “Please Input WebDAV ID/Pass”
AuthType Basic
require valid-user
Options Indexes



Windows2000 だと文字化けする
mod_encoding
rpm -ivh mod_encoding-20040616-1.fc3.webdavjp.1.i386.rpm

しかも売りの、ドラッグ&ドロップが出来ない
エクスプローラーからなら、なんとかいける・・

80番空けるだけで、外から使えたり
だったら SSL でやった方がよさげ

samba とぶつかるようなので止める
samba のファイルそのままコピーしてもダメ?
大きいファイル、タイムアウトする?


WebDAVサーバーを構築するには
WebDAVサーバにアクセスするには
Fedora Core 3 で WebDAV/Subversion を使おう
WebDAVサーバの構築 1 2

2005.04.27

RRDtool & HotSaNIC

20050427hot.jpgHotSaNIC でデータ集めて
RRDtool でグラフを描く感じ?
CPU の状況とか、グラフで確認出来ます

apt-get install rrdtool librrds-perl(/unstable)

HotSaNIC のダウンロード
tar zxvf hotsanic-0.5.0-pre5.tgz
mv ./HotSaNIC /usr/local/
cd /usr/local/HotSaNIC/

./setup.pl を実行、全部 Yes あとで調整出来る

その他設定
/usr/local/HocSaNIC/settings
DAEMONDIR=”/usr/local/HotSaNIC”
BINPATH=”/usr/bin”
WEBDIR=”/web/HotSaNIC”


一度動かして、データ取れるまで放置
./rrdtimer -D

ページ作ったり、画像作ったり
./makeindex.pl
./convert.pl

起動時に実行するように
cp ./rrdgraph /etc/init.d/
update-rc.d rrdgraph defaults

いろいろ出来て、楽しめそうですが
一番HD容量の監視をしたかったのに、画像の通り
単位変えたい・・ってより自動で変わらないの?


詳しく書いてあります
面白く書いてあります

2005.04.20

Clam Antivirus

メールは来ないけど、ウィルスチェックもしてみる
apt-get install clamav-daemon clamav-milter clamav-freshclam 他
なんかもう、色々と言われるがままに関連するものを

設定は、あまり難しいことはない気が
更新データのダウンロード先を日本にした位?

Sendmail → milter ( → clamav → spamassassin ) →
Sendmail が受け取って、チェックしてどこかに配送。


Sendmail 連携設定
/etc/mail/sendmail.mc

INPUT_MAIL_FILTER(`clamav’, `S=local:/var/run/clamav/clamav-milter.ctl, F=, T=S:4m;R:4m’)dnl
define(`confINPUT_MAIL_FILTERS’, `clamav,spamassassin’)dnl


clamav & milter 起動 & Sendmail を再起動
ウィルスは、この辺から送って貰いテストしてみる。

SpamAssassin

メール来ないけどスパム対策
学習型フィルター搭載らしい
Sendmail → milter → SpamAssassin
milter は仲介役みたいな感じ

apt-get install spamass-milter

新しいバージョンを欲しがるので
Depends: libgcc1 (>= 1:3.4.1-3) but 1:3.0.4-7 is to be installed
Depends: libstdc++5 (>= 1:3.3.4-1) but it is not going to be installed

apt-get install libgcc1/unstable libstdc++5/unstable
apt-get install spamass-milter/unstable

本体が一緒に入らない
こっちも unstable 入れないと変な動きする
apt-get install spamassassin/unstable
→ apt-get install debconf/unstable
→ apt-get install perl-base/unstable perl-modules/unstable perl/unstable
→ apt-get install libhtml-parser-perl/unstable libdigest-sha1-perl/unstable

※ unstable は自己責任で


デーモンモードにする
/etc/default/spamassassin

ENABLED=1


milter設定
/etc/mail/sendmail.mc

INPUT_MAIL_FILTER(`spamassassin’, `S=local:/var/run/sendmail/spamass.sock, F=,T=S:4m;R:4m;E:10m’)dnl


sendmail -d0.1 で MILTER が
出なければ使えるようにしないとダメ


既存のルールを取って来る
~/.spamassasin/user_prefs
wget この辺

スパム(spam)と、普通(ham)を覚えさせる
gzip -d sample-nonspam.txt.gz
wget この辺
tar jxf yoh_spam_050102.tar.bz2

sa-learn –ham ./sample-nonspam.txt
sa-learn –spam ./sample-spam.txt
sa-learn –spam ./spam/*

あとは、ほっとけばいいのかな?


起動順でエラーが出るので変更
update-rc.d -f sendmail remove
update-rc.d sendmail defaults 25

S19spamassassin → S20sendmail → S20spamass-milter
S19spamassassin → S20spamass-milter → S25sendmail


※ ご注意
unstable 入れまくったら
以前入れた oinkmaster が気づけば消え
Perlのバージョンが微妙にズレてて入らず
ずいぶんとシステムがおかしくなりました

やけになったら入れ直せたけど、悲しい
stable な環境を壊したくない人は気をつけましょう

やけな結果
apt-show-versions | grep unstable

libstdc++5/unstable uptodate 1:3.3.5-12
libgcrypt11/unstable uptodate 1.2.0-11
cf/unstable uptodate 3.7Wpl2-2
libgnutls11/unstable uptodate 1.0.16-13
debconf-english/unstable uptodate 1.4.48
gcc-3.3-base/unstable uptodate 1:3.3.5-12
zlib1g/unstable uptodate 1:1.2.2-4
spamass-milter/unstable uptodate 0.3.0-1
libtasn1-2/unstable uptodate 0.2.10-4


apt-show-versions | grep testing

libdb3/testing uptodate 3.2.9-22
grub/testing uptodate 0.95+cvs20040624-16
libpcap0.8/testing uptodate 0.8.3-5
spamassassin/testing uptodate 3.0.2-1
libpcre3/testing uptodate 4.5-1.1
libdigest-sha1-perl/testing uptodate 2.10-1
perl-modules/testing uptodate 5.8.4-8
libwww-perl/testing uptodate 5.803-4
snort-rules-default/testing uptodate 2.3.2-2
libc6/testing uptodate 2.3.2.ds1-20
snort/testing uptodate 2.3.2-2
libhtml-parser-perl/testing uptodate 3.45-2
spamc/testing uptodate 3.0.2-1
oinkmaster/testing uptodate 1.1-1
snort-common/testing uptodate 2.3.2-2
libncurses5/testing uptodate 5.4-4
libgdbm3/testing uptodate 1.8.3-2
perl/testing uptodate 5.8.4-8
mb2md/testing uptodate 3.20-1
libssl0.9.7/testing uptodate 0.9.7e-3
libgpg-error0/testing uptodate 1.0-1
perl-base/testing uptodate 5.8.4-8
libdb1-compat/testing uptodate 2.1.3-7
libcompress-zlib-perl/testing uptodate 1.34-1
libdb4.2/testing uptodate 4.2.52-18
libio-zlib-perl/testing uptodate 1.04-1
debconf/testing uptodate 1.4.30.13
libmilter0/testing uptodate 8.13.4-1
libgcc1/testing uptodate 1:3.4.3-12
libopencdk8/testing uptodate 0.5.5-10


woody 使ってる意味無いような( ゚-゚)

Sendmail

たぶん一番有名なメールサーバー
とりあえず受信は Qpopper にしとく

apt-get install sendmail
apt-get install cf
apt-get install qpopper

unable to qualify my own domain name
名前解決出来ないと怒るので hosts か dns で

環境的に aaa.net と bbb.net が
外からは、両方同じIPになります
今回の sendmail は aaa.net で
bbb.net 宛は relay する感じ。


sendmail.mc から sendmail.cf は
make して sendmail 再起動
db系は makemap するだけでOK


access_db 有効化
内部192.168.0. をRELAYする

/etc/mail/sendmail.mc

FEATURE(access_db)dnl


/etc/mail/access

192.168.0 RELAY



mailertable 有効化
内部 bbb.net へ送信

/etc/mail/sendmail.mc

FEATURE(mailertable)dnl


/etc/mail/mailertable

bbb.net esmtp:[192.168.0.bbb]

[ 逆引きさせない ]

relay-domains 有効化
外から受け取るようにする

/etc/mail/sendmail.mc

define(`confCR_FILE’, `/etc/mail/relay-domains’)dnl


/etc/mail/relay-domains

aaa.net
bbb.net



bbb.net から受け取れないので追記
ローカルドメイン使わなければOKぽいけど?
(bbb.net は Fedora を使ってます)

/etc/mail/access

localhost.localdomain RELAY


マスカレードすればいいかも
あくまで sendmail の設定

/etc/mail/sendmail.mc

MASQUERADE_AS(`$m’)dnl



外から使うならそれなりに認証を
POP Before か SMTPAUTH あたり
今回は SMTPAUTH でいってみる

SMTPAUTH 設定
sendmailconfig した時に
libsasl とか足りなければ入れる

/etc/mail/sasl/Sendmail.conf

pwcheck_method: sasldb
#pwcheck_method: PAM
auto_transition: true


認証IDの追加
saslpasswd -u aaa.net test
ID test@aaa.net で認証する

確認
sasldblistusers
/etc/sasldb

user: test realm: aaa.net mech: CRAM-MD5
user: test realm: aaa.net mech: DIGEST-MD5
user: test realm: aaa.net mech: PLAIN


この辺が出ればOK

50-AUTH DIGEST-MD5 CRAM-MD5 PLAIN LOGIN ← 対応してる認証方式
250-DELIVERBY
250 HELP
AUTH CRAM-MD5 ← 使った認証方式
334 PDIyODk2NjA1ODEuMjUyMjQzNUBkZ ← パスワード的なもの
235 2.0.0 OK Authenticated ← 成功



Maildir へ配送
courier-pop とか
Maildir に対応した物を入れる

ローカル配送を procmail に変更する
/etc/mail/sendmail.mc

FEATURE(`local_procmail’)


procmail の設定
/home/.procmailrc

LOGFILE=$HOME/procmail.log
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR


メールフォルダ作成
maildirmake Maildir

/bin/mail が Maildir の
チェックが出来ないから使ってない


POP before SMTP
受信したら、送信出来るようになる
Sendmail+DRAC+Qpopper で

Debian だとパッケージがあったり
apt-get install qpopper-drac

/etc/drac/dracd.allow
strings /var/lib/drac/dracd.db

/etc/mail/sencmail.mc

LOCAL_CONFIG
## Custom configurations below (will be preserved)
#dynamic relay authorization control map
Kdrac btree /var/lib/drac/dracd
LOCAL_RULESETS
SLocal_check_rcpt
#allow recent POP/IMAP mail clients to relay
R$* $: $&{client_addr}
R$+ $: $(drac $1 $: ? $)
R? $@ ?
R$+ $@ $#OK

2005.04.19

Can’t locate module

・ 問題
Can’t locate module char-major-10-135
という警告が出るようになりました

・ 原因
Real Time Clock サポートを
有効にしなかったのでしょう。

・ 対処
Real Time Clock を有効にすれば出なくなりますが
これは必須ではないので必ずしも有効にする必要はありません。
警告が邪魔なようであれば
次のような行を /etc/modutils/aliases に記述して
update-modules を実行すれば、以降この警告は出なくなります。

alias char-major-10-135 off


どっちがいいんだろ?
/etc/modules.conf
alias char-major-10-135 off

どっちも update-modules したら
元に戻ったりするので、こんな感じで

/etc/modutils/arch/i386

#alias char-major-10-135 rtc
alias char-major-10-135 off


その後 update-modules で。

swap領域の追加。

swap領域を増やしたいな、と
入れ直し?とか思ったらこんな方法が

増やしたい容量(メガ)× 1024 = count
384×1024 = 393216
現状、約128Mなので512Mにする感じ

dd if=/dev/zero of=/swapfile bs=1024 count=393216
mkswap swapfile
swapon swapfile

cat /proc/swaps で
/swapfile が表示されてればOK

起動時に自動で有効にする
/etc/fstab

# (file system) (mount point) (type) (options) (dump) (pass)
/swapfile swap swap defaults 0 0



スワップ領域追加
パーティションを追加する場合

2005.04.15

snort

IDS(Intrusion Detection System)
俗にいう、侵入検知システム
ネットワーク型IDSということで
データの監視をするみたいです

自動でルールを更新してくれる
oinkmaster を使うなら
snort は unstable版 を入れた方がいいっぽい(下の方に)


apt-get install snort
debconf は eth0 192.168.0.0./24 root

syslogへ出力
/etc/snort/snort.conf

output alert_syslog: LOG_AUTH LOG_ALERT


logrotate
/etc/logrotate.d/snort

/var/log/snort/portscan.log /var/log/snort/alert {
daily
rotate 30
compress
notifempty
create 600 snort snort
sharedscripts
postrotate
/etc/init.d/snort restart > /dev/null
endscript
}


logcheck使ってたら、見るログに追加
/etc/logcheck/logcheck.logfiles

/var/log/snort/alert

(syslogに出力したら意味なさげ)

ACTIVE SYSTEM ATTACK!
というメールが来るようになってビビる。


ルールを自動でアップデート
apt-get install oinkmaster

更新先のファイルが無いとエラーが
確認すると、どうも更新が有料とかなんとか
5日遅れでいいなら無料らしい

どっちにしろ、登録が必要で
登録してログインすると Oink Code を取得出来る

更新先の変更
/etc/oinkmaster.conf

#url = http://www.snort.org/dl/rules/snortrules-snapshot-2_2.tar.gz
url = http://www.snort.org/pub-bin/oinkmaster.cgi//snortrules-snapshot-2.2.tar.gz


更新出来るようになったので cron に登録
/etc/cron.d/oinkmaster

/usr/sbin/oinkmaster -o /etc/snort -b /etc/snort/backup



ルール更新して snort を起動すると
そんなルールないです、とエラー
2.2用のルールなのに snort -V で 1.8.4Beta とか
サイト探したけど、1.8用のルールないっぽい

一度全部消す
apt-get remove –purge snort

新しいのを入れる
apt-get install snort-rules-default/unstable snort-common/unstable snort/unstable
apt-get install stat も要るっぽい

設定はsyslogへ出力くらいで
logrotateは、勝手にやってくれる

snort -V で Version 2.3.2
ルール更新してもOK(新しい分にはいいらしい)


詳しい説明や設定はこの辺で
Snortとは?
日本 Snort ユーザ会

« Previous | Next »