Archive for the ‘Perl’ Category
サーバー監視スクリプトを修正しました。
以前作成したサーバー監視スクリプトにバグが見つかったので修正しました。
Socketで接続後にレスポンスから取得した文字列が静的コンテンツと動的コンテンツの場合で違うことが判明したのです。
これは常識?( ゜Д゜ )
■静的コンテンツの場合
・HTTPヘッダー終了後にコンテンツのソース
■動的コンテンツ(CGIやPHP)の場合
・HTTPヘッダー終了後にコンテンツのサイズ?らしき数字(英数字の時もある)
・次行にコンテンツのソース
・最後に0
というようなレスポンスだったので、これに対応させるよう修正を加えました。
perlとsocketでwhois
なぜ今更こんなものを!?
それはAccessCheckerを作り直そうと思っているからです。
現在のAccessCheckerのwhois検索機能というのはサーバーにwhoisコマンドがインストールされていないと使えないのです。
そこで作り直すにあたり、まずwhois検索機能をsocketやってみよう!ということです( ´ー`)
ソースはこちらから⇒whois.pl
使い方は至って簡単
解凍してwhois.plとwhois.txtを同じ場所に設置して
と実行するだけです。
POP3なWEBメーラーを作りたいが・・・
IMAP対応ならRoundCubeとかSquirrelMailとかあるからいいんだけど、IMAPイラネは自分にとってはなんというかもぅ・・・┐(´д`)┌
今はXOOPSのWebmail2を使ってるんですが他にはPOP3対応となるといいのがぜんぜんないのよね〜・・・;-(
そこでPerl+Ajax+MySQLでゴリゴリ動いてPOP3対応でPOP before SMTP対応でSMTP AUTH(SASL)対応なWEBメーラーを自分で作ってしまおうかと妄想してる訳で御座います。
サーバー監視スクリプト(HttpdChk.pl)
プロバイダから貸してもらえるWEBスペースはperlが使えてtelnet、sshでのログインも可能でcronまで使えるのです。
そこで以前から自宅サーバーを監視するのにhttp接続を行うperlスクリプトを書いて(wgetもインストールして)ずっと監視してきていたのですが、結構適当に作ったスクリプトだったのでちゃんと作り直そうと思ったのです。
今回はwgetや余計なライブラリ、モジュール等をできるだけ使わないように書き直しました。
.htaccessで国内からのPOSTのみを許可する設定(国内ホスト一覧の自動更新スクリプト付き)
今まではmod_rewriteを使ったPOST制限を行っていたのですが、mod_rewriteはCIDRによる記述が出来ないため、ホストによる制限部分がどうしても正確性に欠けてしまうため、国内からのPOSTでも拒否されてしまうことがたまにありました。
そこで.htaccessでmod_rewriteを使わずに以下の条件を満たす方法を模索しました。
・制限するスクリプトを限定する
・制限するのはPOSTのみ
・国内ホストからのみ許可する
・REQUEST_URIが指定した文字列にマッチする場合は国内外問わず許可する
・国内ホストの一覧は自動更新する
FTPに対する不正なアクセスを遮断。-getApnicCidr2FTP-
だいたい週1くらいの間隔でFTPサーバーへAdministratorとか存在しないアカウントでログインを試みようとする輩がおります。
しかも何時間も継続して・・・
まぁ〜ほとんどが中国方面からなんですがね(゜Д゜#)
regexpじゃん?
先日このサイトのアクセス解析のリファラーで見つけたMonkey TracksさんにCIDRを算出するスクリプトを作ってみた。についてコメントが書いてありました。
恐縮です。(/ω\)
Postfixのcidr_tableを自動更新
Postfixのスパムメール対策(排除率は99.975%だった)を導入してからかれこれ2ヶ月程経ちましたが、現在も順調にスパムメールをバッサバッサと切り捨ててくれてます:−)
そこで次のステップということでcidr_tableを自動更新させようと思います。
いやはや。
このサイト(CMF)は元々プロバイダのWEBスペースで運営していたのですが、自宅サーバーにしてからプロバイダのWEBスペースは使い道がなくなってしまったわけですが、プロバイダのWEBスペースはTelnetが使えるので、コッソリWgetをインストールしてさらにそのWgetを定期的に実行するスクリプトを作成して、万が一自宅サーバーが落ちた時に携帯へメール通知がくるようにした訳で御座います。
Postfixのスパムメール対策Ver3
————————————
※(2007/7/18追記)
本スパムメール対策は基本的に海外ホストからの非スパムメールを受取ることがほとんど無く、
国内ホストからのスパムメールが少ない環境の方ならば幸せになれるかもしれません、
それ以外の環境で使用すると思わぬ弊害(reject_unknown_clientによるREJECT等)や逆効果といった自体を
招く可能性がありますので、導入される場合はPostfixのスパムメール対策の説明を一通り目を通して頂き、貴殿の運用ポリシーに合っているか等十分検討して下さい。
本記事の詳細についてはPostfixのスパムメール対策をご覧下さい。
————————————
CIDRを算出するスクリプトを作ってみた。で作成したcidr_tableをPostfixに導入してみました。
現在のpostfixのスパムメール対策でも十分スパムを排除できてきるのですが、maillogを見ていてウチに来るスパムメールはほとんどが海外から来ていて国内からはほとんど来ていないということに気が付いたのです。

