Web/メールサーバ

Apache,qmailなどのサーバ側ソフトウェア関連

2009年9月 8日 (火)

OpenSocialを調べる

OpenSocialというか、mixiアプリを作るので調査中

・本山のデベロッパーガイド
・スパイスラボのラボブログ: OpenSocial JavaScript API について調べる
・typea.infoのmixi アプリ データの永続化

・goo Developer's Kitchenのアプリデータを更新、取得、削除する

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

2008年12月 2日 (火)

perlとapacheとsqlite

apacheでperl CGIの中でsqliteをDBD::SQLite経由で使っている時
apacheのerror_logに以下のメッセージが出力されることがある

[Mon Dec 01 21:44:26 2008] [error] [client <IPアドレス>] closing dbh with active statement handles during global destruction., referer: http://<URL>

たぶん、ここらへんの話

DeNA 技師のメモ:Perl DBI: MySQL から SQLite への移行
Charsbar::Note: DBD::SQLiteとprepare

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

2008年11月20日 (木)

munin+qmail

muninを使用中
うちのqmailは普通にsyslogdで取っているのでmunin exchangeで配布しているqmailsendが使えない。
なので、courier_を改造してqmailsendを作った。

#!/bin/sh
#
# Plugin to show amount of individual outgoing smtp-replies per hour
#
# Contributed by Memoro@cocolog
#
#based on courier_

#%# family=manual
#%# capabilities=autoconf


# Set the location of the mail logs
COURIER_LOG=${logfile:-/var/log/maillog}
SERVICE="qmail"
OFFSET_FILE=/var/lib/munin/plugin-state/qmsends_${SERVICE}.offset
LOGTAIL=${logtail:-/usr/bin/logtail}

mktempfile () {
mktemp -p /tmp/ $1
}

case $1 in
autoconf|detect)
if [ -f ${COURIER_LOG} -a -x ${LOGTAIL} ]
then
echo yes
exit 0
else
echo "no (either $COURIER_LOG was not found, or logtail was not in your path)"
exit 1
fi
;;
config)
cat < graph_title Qmail outgoing SMTP replies
graph_args --base 1000 -l 0
graph_vlabel replies/hour
graph_category Mail
graph_total Total
graph_info This graph shows qmail-send transaction response codes.
graph_order res250 res421 res441 res442 res450 res451 res452 res454 res472 res500 res501 res511 res522 res550 res551 res552 res553 res554 res557
res250.label 250 Mail delivery ok
res250.min 0
res250.draw LINE1
res421.label 421 Service unavail or timeout
res421.min 0
res421.draw LINE1
res441.label 441 No established connection
res441.min 0
res441.draw LINE1
res442.label 442 Connection Died
res442.min 0
res442.draw LINE1
res450.label 450 Mbox unavail or greylist
res450.min 0
res450.draw LINE1
res451.label 451 Err processing or greylist
res451.min 0
res451.draw LINE1
res452.label 452 Insufficient storage space
res452.min 0
res452.draw LINE1
res454.label 454 TLS not available now
res454.min 0
res454.draw LINE1
res472.label 472 DNS transaction timeout
res472.min 0
res472.draw LINE1
res500.label 500 Unsolicited mail
res500.min 0
res500.draw LINE1
res501.label 501 Syntax error
res501.min 0
res501.draw LINE1
res511.label 511 Blocked or blacklisted
res511.min 0
res511.draw LINE1
res522.label 522 Mailbox full
res522.min 0
res522.draw LINE1
res550.label 550 Mailbox unavailable
res550.min 0
res550.draw LINE1
res551.label 551 User not local
res551.min 0
res551.draw LINE1
res552.label 552 Content or storage error
res552.min 0
res552.draw LINE1
res553.label 553 Mailbox name not allowed
res553.min 0
res553.draw LINE1
res554.label 554 Session failed or blocked
res554.min 0
res554.draw LINE1
res557.label 557 Too many duplicate msgs
res557.min 0
res557.draw LINE1
EOF
exit 0
;;
esac


ARGS=0
`$LOGTAIL /etc/hosts 2>/dev/null >/dev/null`
if [ $? = 66 ]; then
if [ ! -n "$logtail" ]; then
ARGS=1
fi
fi

TEMP_FILE=`mktempfile munin-qmail.XXXXXX`

if [ -z "$TEMP_FILE" -o ! -f "$TEMP_FILE" ]; then
exit 3
fi

if [ $ARGS != 0 ]; then
${LOGTAIL} -f ${COURIER_LOG} -o ${OFFSET_FILE} | grep "$SERVICE" > ${TEMP_FILE}
else
${LOGTAIL} ${COURIER_LOG} ${OFFSET_FILE} | grep "$SERVICE" > ${TEMP_FILE}
fi

echo res250.value `grep _250_ ${TEMP_FILE} | wc -l`
echo res421.value `grep _421_ ${TEMP_FILE} | wc -l`
echo res441.value `grep \#4\\.4\\.1 ${TEMP_FILE} | wc -l`
echo res442.value `grep \#4\\.4\\.2 ${TEMP_FILE} | wc -l`
echo res450.value `grep _450_ ${TEMP_FILE} | wc -l`
echo res451.value `grep _451_ ${TEMP_FILE} | wc -l`
echo res452.value `grep _452_ ${TEMP_FILE} | wc -l`
echo res454.value `grep _454_ ${TEMP_FILE} | wc -l`
echo res472.value `grep _472_ ${TEMP_FILE} | wc -l`
echo res500.value `grep _500_ ${TEMP_FILE} | wc -l`
echo res501.value `grep _501_ ${TEMP_FILE} | wc -l`
echo res511.value `grep _511_ ${TEMP_FILE} | wc -l`
echo res522.value `grep _522_ ${TEMP_FILE} | wc -l`
echo res550.value `grep _550_ ${TEMP_FILE} | wc -l`
echo res551.value `grep _551_ ${TEMP_FILE} | wc -l`
echo res552.value `grep _552_ ${TEMP_FILE} | wc -l`
echo res553.value `grep _553_ ${TEMP_FILE} | wc -l`
echo res554.value `grep _554_ ${TEMP_FILE} | wc -l`
echo res557.value `grep _557_ ${TEMP_FILE} | wc -l`

rm ${TEMP_FILE}

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

2008年11月 8日 (土)

smtpの受信拒否

smtpサーバで、受信拒否を行いたい場合の手法
antibadmail
こいつがport25で受信して、たとえばport10025で起動させてるqmailとかに引き渡す、という手法

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

2008年11月 3日 (月)

lsyncとか

つれづれ日記より何点か

lsyncd - Live Syncing (Mirror) Daemon
 rsyncdの発展系みたいな感じ
sshdの設定
pdnsd
 DNSのキャッシュサーバ。pdnsd配布元


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

2008年10月15日 (水)

パケットdrop

SPAMをたくさん送ってくるIPアドレスからのパケットを受け取らないようにしてみた。
いまんところ、以下の感じで設定している。(RedHat系の/etc/sysconfig/iptables形式)

-A RH-Firewall-1-INPUT -s 116.0.106.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 116.1.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 119.94.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 122.126.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 122.136.0.0/13 -j DROP
-A RH-Firewall-1-INPUT -s 122.146.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 122.156.0.0/14 -j DROP
-A RH-Firewall-1-INPUT -s 122.168.9.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 124.21.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 124.6.154.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 125.22.244.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 125.24.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 125.89.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 125.95.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 189.106.169.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 189.128.0.0/11 -j DROP
-A RH-Firewall-1-INPUT -s 190.21.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 190.46.157.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 190.95.0.0/19 -j DROP
-A RH-Firewall-1-INPUT -s 190.95.64.0/18 -j DROP
-A RH-Firewall-1-INPUT -s 201.222.192.0/18 -j DROP
-A RH-Firewall-1-INPUT -s 201.244.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 201.246.64.0/18 -j DROP
-A RH-Firewall-1-INPUT -s 203.177.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 203.73.233.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 203.73.242.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 203.82.16.0/21 -j DROP
-A RH-Firewall-1-INPUT -s 210.192.197.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 211.166.11.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 217.104.128.0/17 -j DROP
-A RH-Firewall-1-INPUT -s 218.19.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 218.20.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 218.211.18.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 218.90.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 219.137.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 219.68.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 220.101.214.0/24 -j DROP
-A RH-Firewall-1-INPUT -s 220.138.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 221.200.0.0/14 -j DROP
-A RH-Firewall-1-INPUT -s 222.172.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 222.72.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 58.69.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 58.8.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 59.115.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 59.92.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 59.96.0.0/16 -j DROP
-A RH-Firewall-1-INPUT -s 60.16.0.0/13 -j DROP
-A RH-Firewall-1-INPUT -s 84.90.0.0/15 -j DROP
-A RH-Firewall-1-INPUT -s 89.178.0.0/16 -j DROP

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

メールのエラー

メールログの中で、spamメールのエラー処理を行っているときに、他のsmtpサーバから応答に現れるURL
・Yahoo US: 421 deferral: Message temporarily deferred - [numeric code]
Connected_to_相手IP_but_greeting_failed./Remote_host_said:_421_Message_from_(こっちのIP)_temporarily_deferred_-_4.16.50._Please_refer_to_http://help.yahoo.com/help/us/mail/defer/defer-06.html/

・schweikert.ch: Postgrey Help
deferral: 相手IP_does_not_like_recipient./Remote_host_said:_450_4.2.0_:_Recipient_address_rejected:_Greylisted,_see_http://postgrey.schweikert.ch/help/2600.com.html/Giving_up_on_相手IP./



failure: 相手IP_failed_after_I_sent_the_message./Remote_host_said:_550-Your_message_has_been_rejected_as_it_appears_to_contain_malware./550-Our_AV/AS_software_(ClamAV)_has_identified_it_as/550-'Sanesecurity.Spam.8733.UNOFFICIAL'./550-If_you_are_sure_your_e-mail_did_not_contain_malware,_you_can_report/550-a_false_positive_by_going_to_the_following_page:/550-http://www.clamav.net/sendvirus.html/550-If_you_were_trying_to_contact_abuse@zen.co.uk_or_postmaster@zen.co.uk/550-please_ensure_they_are_the_only_recipient(s)_of_your_report_to_ensure/550_that_your_email_will_not_be_scanned_for_spam_or_malware./

・中国QQ:http://mail.qq.com/zh_CN/help/content/rejectedmail.html
failure: 相手IP_failed_after_I_sent_the_message./Remote_host_said:_550_Error:_content_rejected.http://mail.qq.com/zh_CN/help/content/rejectedmail.html/

・ETH ISG:Postgrey - Postfix Greylisting Policy Server
deferral: 相手IP_does_not_like_recipient./Remote_host_said:_450_:_Recipient_address_rejected:_Greylisted_for_300_seconds_(see_http://isg.ee.ethz.ch/tools/postgrey/help/gov.cz.html)/Giving_up_on_相手IP./

・SURBL Lists:SURBL Lists
failure: 相手IP_failed_after_I_sent_the_message./Remote_host_said:_552_uratenewsnick.com_in_multi.surbl.org:_Blocked,_uratenewsnick.com_on_lists_[ab][jp][sc][ws],_See:_http://www.surbl.org/lists.html/

・AOL:Error RLY:BD
Oct 15 07:14:34 ns2 qmail: 1224022474.366629 delivery 2890078: deferral: 相手IP_failed_after_I_sent_the_message./Remote_host_said:_421-:__(RLY:BD)_http://postmaster.info.aol.com/errors/554rlybd.html/421_SERVICE_NOT_AVAILABLE/

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

2008年7月18日 (金)

Webサービス運用時の閲覧高速化技術

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール
ブラウザで表示する時に何がコストが高いのか、といった内容を紹介してるっぽい
とりあえずあとで調べてみるのでメモ書き。

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

2008年6月25日 (水)

NTLM認証付きのProxy経由のWindows updateが失敗する

NTLM認証付きのProxy経由のWindows updateが失敗する件について

Windows Updateを行うと、[高速][カスタム]の画面まですすまず、「番号:0x80072F78」というエラーで失敗する。
でも、それ以外の普通のWebについては問題がないような感じの時。


ISA Server を実行するサーバーを経由して Windows Update Version 6 の Web サイトにアクセスするときにエラーが発生する
【Squid FAQ】 L11.3 NTLM認証を使うとWindowsUpdateができません。
Re: [squid-users] ACL problems for a newbie.

Windows Updateの一部がNTLM認証情報を使わないことにより、この現象が発生しているらしい。
なので、Windows Updateのサイトにたいしては認証を行わせないようにすることで、現象の回避ができるとのこと。

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

2008年6月20日 (金)

postfixでvpopmail/qmailadminみたいなこと

qmailサーバをpostfixに置き換えたいなと思って代替案を捜索

Phamm
RavenCore

RavenCoreが結構いい感じかも?

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