Archive for the 'LINUX' Category

新自宅サーバー機

自作PC, LINUX No Comments »

買うお金が溜まったので新しい自宅サーバー機用のパーツを購入。から1週間、今日すべてのパーツが揃ったので組み立てました。

新自宅サーバー機

右が今のサーバー機、左が新サーバー機

ケースは同じなので違いが分かりません(゚Д゚)

Clamav0.93がリリース

LINUX 2 Comments »

今回はVineSeedにclamav-0.93-1vl5.src.rpmがあったので、以前の手順でアップグレードしました。

ところでVine5はまだなのかな〜?

vine seedにpostfix-2.4.7を発見!

LINUX No Comments »

ということでアップグレード!

1.http://vinelinux.org/vineseednews.html#postfix-2.4.7-1vl5をwgetしてくる

2.sleepパッチを当てるためにsrc.rpmをインストール

3.http://k2net.hakuba.jp/pub/postfix-sleep.patchを2.4.7用に編集

4.specファイルにpostfix-sleep.patchを追加

5.使わないldap、mysql、postgresをspecファイルから除外

ここまでやったところで面倒くさくなってやめました・・・(A`)

以前書いたcheck_policy_serviceで自作のスクリプトへ渡すことにでここのところずっと仕事でpostfixを弄っていたのでちょっとしんどくなったのですヨ。

今週の中頃から運用が始まったのですが現在↑のフィルタサーバー2台で約300万/日のメールを捌いています。

実際には動的IPらしきホストからのもをsleep 35>ポリシーサービスという流れにしてあります。

これで全体の6割は流量制限できている感じです。

細かいチューニングがまだまだ必要そうですけど・・・・

というかこんなにメールが多いとは思わなかったです・・・

vine4.2.1がリリース???

雑記, LINUX No Comments »

今朝apt-get -s upgradeしたらvine4.2.1らしきものがリリースされてたのでアップグレードしてみた。

特に変化なし・・・

現在のところ公式にも載ってないのでなんだったのかわかりません∩(・∀・)∩

侵入コンテスト、LeopardとVistaは陥落するもUbuntuは健在

さすがUbuntu!!といいたいところだけど、一般的なアプリケーションの数でいえばVistaの方が圧倒的に多い分不利なような気がするけど・・・

まぁ〜Ubuntuは好きだからいいけどね(´∀`*)

check_policy_serviceで自作のスクリプトへ渡すことに。

LINUX, Perl No Comments »

先週の土曜日あたりから親知らずがコンニチハしてきて若干痛いです(´;ω;`)

さて先日のsmtpguardですが、元々はqmail用だったみたいですね・・・

ubuntuのリポジトリにはpostfix-smtpguardっていうのがありますが。

で、肝心の会社のフィルタリングサーバーの件ですが、結局check_policy_serviceを通して自分で書いたスクリプトでフィルタリングすることにしました。

先日書いたように、本来はGateWay的なポジションにあるサービスなのでスパムをゴリゴリ弾くわけにもいかないので以下のような運用ポリシーにしました。

1.逆引き不可&逆引きしたホスト名が動的IPっぽいとこからきたものであった場合にcheck_policy_serviceでスクリプトに渡す。
2.スクリプトはエンベロープのFROMとTOのFQDNを組み合わせたキーにして値にリクエスト時間を記録する(同一キーの記録数はコンフィグで指定)。
3.スクリプトは2のキーからのリクエストが一定時間内(この時間もコンフィグで指定)にコンフィグで指定した回数を超えた場合は450で要求を拒否する。
4.スクリプトはリクエストがある毎にコンフィグで指定した時間を越えた2のキーは削除していく。
5.チェック対象のFROM、TOのFQDNはコンフィグで定義しておいてこれに該当しないものはスルーする。

といった感じ。

上記のスクリプトはperlで作成してデータの記録にはDB_File(BTREE)を使用。

正確には4→3→2の順番で2は3の条件を満たしていない場合のみ実行されます。

このスクリプトはすでに作成済みで後はpostfixに組み込んでテストするだけです。

ちなみにコンフィグは以下のようなフォーマットに
[FROM FQDN][TAB|SPACE][TO FQDN][TAB|SPACE][LIMIT TIME][TAB|SPACE][LIMIT COUNT]
example.com   example.jp   5   10

上記の場合example.comからexample.jpへの送信は5分間に10通まで要求を受け付けるという設定。

前回はお客さんのメールサーバーからリレーされてくるだけだと思っていたのですが、このサービスのサーバー管理者から詳細を聞いてみたところお客さんのメールサーバー(お客さんのエンドユーザーが外部へ送信する場合)だけでなく外部(お客さんのエンドユーザー宛)からも送信されてくるみたいで、さらに外部からのスパムが今回の悩みのタネだったというオチ。

そこで、上記スクリプトで外部からのFROM(スパマーがよく使うフリーのメアド)とTO(お客さんとこ)のFQDNをキーにして短時間に大量にスパムが送られてきてもコンフィグで指定した一定時間の間に一定数に達した時点で450で弾いて配送数を制御してしまおうと思ったのです。

こうしておけば正常なメールが弾かれてしまっても再送されてきたときに許容数を超えていなければちゃんと要求を通すことができるというのが今回の目玉。

最初はコンフィグでのチューニングがとても大変かもしれませんが、それはこのサービスのサーバー管理者が担当するのでキニシナイ!

smtpguard

LINUX No Comments »

仕事の関係でスパムメール対策をすることに・・・

まぁ〜いきなり降って沸いた話だったので詳細はまだ分かっていないのですが、会社のサービスでメールのウィルスチェックサービスをやっていて、お客さんのメールサーバーからリレーされてきたメールをウィルスチェックしてるんだと思われる。

そこへかなりのスパムメールが来ていて相当な負荷が掛かっているらしい・・・

そこでスパム対策の為にフィルタリングサーバー(postfix)を別途設置してこのサーバーでスパムを抑制して負荷を軽減しようということらしいのですヨ。

サーバー監視スクリプトを修正しました。

LINUX, Perl No Comments »

以前作成したサーバー監視スクリプトにバグが見つかったので修正しました。

Socketで接続後にレスポンスから取得した文字列が静的コンテンツと動的コンテンツの場合で違うことが判明したのです。

これは常識?( ゚Д゚ )

■静的コンテンツの場合
・HTTPヘッダー終了後にコンテンツのソース

■動的コンテンツ(CGIやPHP)の場合
・HTTPヘッダー終了後にコンテンツのサイズ?らしき数字(英数字の時もある)
・次行にコンテンツのソース
・最後に0

というようなレスポンスだったので、これに対応させるよう修正を加えました。

load averageが22を突破した

LINUX 4 Comments »

来週広島に出張にいかされそうです(´・ω・`)

そんなことより今朝方会社からいつものように自宅サーバーへSSHでログインしようとしたが、なかなかレスポンスが返ってこなくてログインできなかった。

いつもなら速攻ログインできるのに・・・(´・ω・`)

2分くらい待ってようやくログインできたので、なにが原因なのか調べてみたらMySQLのコネクションのプロセスがずっと張り付いていたので、これはもしや!と思いapacheのアクセスログを見てみたらもの凄い勢いでこのブログへアクセスしてるオバカさんを発見しましたヨ。

このブログだけならまだしも、他のコンテンツ(CGI)にも同様のアクセスが・・・

1秒間に5つくらい同時にブログやCGIにアクセスされたらたまったもんじゃありません┐(´д`)┌

俗に言う巡回ツールでしょうか?

とりえあえずそのオバカさんはアクセスできないようにIPで切っておきました。

Clamav0.92.1にアップグレード

LINUX 2 Comments »

私がアップグレードすると最新版がリリースされるのは仕様でしょうか・・・(´・ω・`)

そんなボヤキはさておきw

さすがに前回のようにVineSeedにあるはずもないので、今回は自分でRPMをビルドしました。

手順は以下のとおり

著名な某大学からスパムメールがきましたよ( ´ー`)

LINUX No Comments »

今日たまたま気が付いたのですが、著名な某大学のメールサーバーからいかにもスパムっぽいメールを送ろうとしてるログを発見しました( ´ー`)

いちおうホスト名、メールアドレスは伏せておきますね。

Feb 6 03:47:49 www postfix/smtpd[7441]: connect from www.??????.ac.jp[???.??.??.???]
Feb 6 03:47:55 www postfix/smtpd[7441]: NOQUEUE: reject: RCPT from www.??????.ac.jp[???.??.??.???]:
450 <hogehoge@****.com.ar>: Sender address rejected: undeliverable address: host ****.com.ar[***.**.***.**]
said: 550 User unknown / Usuario desconocido / Usuario desconhecido (in reply to RCPT TO command);
from=<hogehoge@****.com.ar> to=<???@ohtanz.com> proto=ESMTP helo=<mail.??????.ac.jp>
Feb 6 03:47:55 www postfix/smtpd[7441]: disconnect from www.??????.ac.jp[???.??.??.???]

こんなログが昨日の3時からずっとリトライされてました( ´ー`)

幸いにもFROMの検査結果でNGとなってREJECTされていたので配送されることはなかったのですが、ちょっと気になったのでこのメールを許可して受信してみました( ´ー`)