2004-08-31

buffer over flow 狙いのワームのログを残さない

ずいぶん前から気にはなっていたんだけど放置していた。しかし自分のサーバのログのほとんどがワーム(だって自分もほどんどアクセスしないし)なだけにこの状態はかなりチェックが難しい。急に思い立ってこのログが記録されないようにする方法を考えた。

失敗ってゆーかそりゃー無理な方法

しばらくこの方法に固執してた(恥ずかしー)

  • HTTP Status を元にアクセス制限
  • HTTP Status を元に SetEnvIf

無理っす。HTTP Status は実際のアクセスを受け取ったあとでセットされるものだけど、SetEnvIf やアクセス制限は HTTP リクエストヘッダで判断する。まだ Status はセットされてません。

Web で見つけた情報

AGOBOT のログを記録したくない - トラブル雑記帳

「CustomLog で 414 な status になったときの request を記録しないフォーマットにする」

って方法。CustomLog を変更しちゃうのが微妙に気持ち悪いけど、これは確実でなおかつ早い。上のページでの !414 ってのは通常のリクエストの中の 414 っていうパラメータにも反応しちゃうような気もするけど大丈夫でした。

他に思いついているだけで実践していない方法

  • フィルタを書く
    • これは Apache の再起動をせずにログの記録について柔軟な設定ができる。(フィルタは Apache と同時に Apache が起動してくれるし、落ちたら Apache が再起動してくれる。)この場合は 414 の status についてアクセスログを記録しないだけだから、まぁなんとか楽に書けそう。
  • WAF(Web Application Firewall)で弾く
    • mod_security というほんとの WAF でもいいし、mod_reqrite でも弾けるような気がする。Squid は使ったことないんで分からないけど、考え方は mod_rewrite + mod_proxy と同じだと思う。要するにワーム撃退用の Web サーバを本番サーバの前に置くってこと。やり方がタコだと必要なアクセスを弾いちゃう可能性があるのと、今回の目的にはやや大げさな点か。でも本番の Web サーバがより安全になるって意味では応用が効くし、考えてもいいかな。

夫婦心中:「ずっと一緒にいたかった」77歳と76歳

from MSN-Mainichi 今日の話題

切ない。

切ない。

どうなんでしょうねぇ。人生って。現代人の生活って。

加古川7人刺殺:入院していた藤城容疑者を逮捕 兵庫県警

from MSN-Mainichi 今日の話題

こういう感想の持ち方もどうかと思わなくはないが、犯人が事情聴取可能な状態に回復できて本当に良かったと思う。例えばこれが死なないまでも植物状態とかであったら、最近では最も後味の悪い事件になっていたかもしれない。

小学校教諭:佐世保事件で「殺されるのは当たり前」 愛知

from MSN-Mainichi

こらこらこら。

どういう言い方であったかは定かでないが、それゆったらすべての事件の犯人に相応の理由があるだろうが。どんな理由があっても法治国家で認められないから犯罪なんだってことをちゃんと教えないといけないし、法が認めてもやっちゃいけないことがあるってことを、小学校段階のうちにこそ教えなきゃいけないんじゃないか。

どの程度であったにせよ、この話題で誤解を与える余地があったのは教師としての資質に大きな疑問があるでしょ、この人。

About

例によって個人のなんちゃらです

Recent Posts

Categories

Tool 日々 Web Biz Net Apple MS ことば News Unix howto Food PHP Movie Edu Community Book Security Text TV Perl Ruby Music Pdoc 生き方 RDoc ViewCVS CVS Rsync Disk Mail FreeBSD Cygwin PDF Photo Zebedee Debian OSX Comic Cron Sysadmin Font Analog iCal Sunbird DNS Linux Wiki Emacs Thunderbird Sitecopy Terminal Drawing tDiary AppleScript Life Money Omni PukiWiki Xen XREA Zsh Screen CASL Firefox Fink zsh haXe Ecmascript PATH_INFO SQLite PEAR Lighttpd FastCGI Subversion au prototype.js jsUnit Apache Trac Template Java Rhino Mochikit Feed Bloglines CSS del.icio.us SBS qwikWeb gettext Ajax JSDoc Rails HTML CHM EPWING NDTP EB IE CLI ck ThinkPad Toy WSH RFC readline rlwrap ImageMagick epeg Frenzy sysprep Ubuntu MeCab DTP ERD DBMS eclipse Eclipse Awk RD Diigo XAMPP RubyGems PHPDoc iCab DOM YAML Camino Geekmonkey w3m Scheme Gauche Lisp JSAN Google VMware DSL SLAX Safari Markdown Textile IRC Jabber Fastladder MacPorts LLSpirit CPAN Mozilla Twitter OpenFL Rswatch ITS NTP GUI Pragger Yapra XML Mobile Git Study JSON VirtualBox Samba Pear Growl Mercurial Rack Capistrano Rake Win RSS Mechanize Sitemaps Android JavaScript Python RTM OOo iPod Yahoo Unicode Github iTunes God SBM friendfeed Friendfeed HokuUn Sinatra TDD Test Project Evernote iPad Geohash Location Map Search Simplenote Image WebKit RSpec Phone CSV WiMAX USB Chrome RubyKaigi RubyKaigi2011 Space CoffeeScript Nokogiri Hpricot Rubygems jQuery Node GTD CI UX Design VCS Kanazawa.rb Kindle Amazon Agile Vagrant Chef Windows Composer Dotenv PaaS Itamae SaaS Docker Swagger Grape WebAPI Microservices OmniAuth HTTP 分析基盤 CDN Terraform IaaS HCL Webpack Vue.js BigQuery Middleman CMS AWS PNG Laravel Selenium OAuth OpenAPI GitHub UML GCP TypeScript SQL Hanami Document SVG AsciiDoc Pandoc DocBook Develop Jekyll macOS Node.js Vite Heroku Transformer AI Data Cloud Wasm