プロバイダから貸してもらえるWEBスペースはperlが使えてtelnet、sshでのログインも可能でcronまで使えるのです。
そこで以前から自宅サーバーを監視するのにhttp接続を行うperlスクリプトを書いて(wgetもインストールして)ずっと監視してきていたのですが、結構適当に作ったスクリプトだったのでちゃんと作り直そうと思ったのです。
今回はwgetや余計なライブラリ、モジュール等をできるだけ使わないように書き直しました。
プロバイダから貸してもらえるWEBスペースはperlが使えてtelnet、sshでのログインも可能でcronまで使えるのです。
そこで以前から自宅サーバーを監視するのにhttp接続を行うperlスクリプトを書いて(wgetもインストールして)ずっと監視してきていたのですが、結構適当に作ったスクリプトだったのでちゃんと作り直そうと思ったのです。
今回はwgetや余計なライブラリ、モジュール等をできるだけ使わないように書き直しました。
今まではmod_rewriteを使ったPOST制限を行っていたのですが、mod_rewriteはCIDRによる記述が出来ないため、ホストによる制限部分がどうしても正確性に欠けてしまうため、国内からのPOSTでも拒否されてしまうことがたまにありました。
そこで.htaccessでmod_rewriteを使わずに以下の条件を満たす方法を模索しました。
・制限するスクリプトを限定する
・制限するのはPOSTのみ
・国内ホストからのみ許可する
・REQUEST_URIが指定した文字列にマッチする場合は国内外問わず許可する
・国内ホストの一覧は自動更新する
だいたい週1くらいの間隔でFTPサーバーへAdministratorとか存在しないアカウントでログインを試みようとする輩がおります。
しかも何時間も継続して・・・
まぁ〜ほとんどが中国方面からなんですがね(゜Д゜#)
先日このサイトのアクセス解析のリファラーで見つけたMonkey TracksさんにCIDRを算出するスクリプトを作ってみた。についてコメントが書いてありました。
恐縮です。(/ω\)
Postfixのスパムメール対策(排除率は99.975%だった)を導入してからかれこれ2ヶ月程経ちましたが、現在も順調にスパムメールをバッサバッサと切り捨ててくれてます:−)
そこで次のステップということでcidr_tableを自動更新させようと思います。
このサイト(CMF)は元々プロバイダのWEBスペースで運営していたのですが、自宅サーバーにしてからプロバイダのWEBスペースは使い道がなくなってしまったわけですが、プロバイダのWEBスペースはTelnetが使えるので、コッソリWgetをインストールしてさらにそのWgetを定期的に実行するスクリプトを作成して、万が一自宅サーバーが落ちた時に携帯へメール通知がくるようにした訳で御座います。
————————————
※(2007/7/18追記)
本スパムメール対策は基本的に海外ホストからの非スパムメールを受取ることがほとんど無く、
国内ホストからのスパムメールが少ない環境の方ならば幸せになれるかもしれません、
それ以外の環境で使用すると思わぬ弊害(reject_unknown_clientによるREJECT等)や逆効果といった自体を
招く可能性がありますので、導入される場合はPostfixのスパムメール対策の説明を一通り目を通して頂き、貴殿の運用ポリシーに合っているか等十分検討して下さい。
本記事の詳細についてはPostfixのスパムメール対策をご覧下さい。
————————————
CIDRを算出するスクリプトを作ってみた。で作成したcidr_tableをPostfixに導入してみました。
現在のpostfixのスパムメール対策でも十分スパムを排除できてきるのですが、maillogを見ていてウチに来るスパムメールはほとんどが海外から来ていて国内からはほとんど来ていないということに気が付いたのです。
IPアドレスとネットマスクからCIDRを算出するスクリプトを作ってみました。
いったい何のために???というのも、まだ試してはいないのですが、Postfixのsmtpd_client_restrictions部分にcidr_tableを導入してみようかと思ったのです。
LINUXなWEBサーバーからLdapを使用してWindows 2003 Server上のActiveDirectoryに接続して、lockoutTimeやlastLogon等の日付を取得してきて、これらをブラウザ上から確認できるようにするPHPスクリプトを仕事で作成したのですが、これがまぁかなりの曲者だったので参考になればと思いここでちょっと紹介したいと思います。