2009/09/14 (月)

2009-09-14:apache の keepalive

apache の keep alive を off にしているシステムがあって、なんでそうしているのかが不明。
だめなクライアントがいたとかだったかなぁ。。。うーむ。

comment

2009/09/10 (木)

2009-09-10:mod_security2 で特定 REMOTE_ADDR を拒絶

トラックバックスパムUZEEEEEE!!!
というわけで、弊サイトでは mod_security2 を使って apache2 レベルで業者さんをはじいています。
レシピはGot Rootさんからもらってきてる。

が、ときたますり抜ける人たちがいて、手動でちまちま削除したりするんだけど、よく見ると特定の IP アドレスからのお客さんだったりして、ローカルルールで個別にブラックリストにしてみました。

SecRule REMOTE_ADDR "^208\.109\.93\.49$" phase:1,log,auditlog,deny

こんなルールをたとえば localrules.conf とかの名前で用意して、apache の方の設定の <IfModule mod_security2.c> なセクションに

Include localrules.conf

と書いた後、apache の再起動。
localrules.conf の編集後も apache 再起動しないと読み込まれないので要注意。

comment

2009/06/05 (金)

2009-06-05:mod_security ルールファイル更新

最近またトラックバックスパムがひどくなってきた。
ちまちま手で消しては、b2evolution のローカルブラックリストに単語追加をしていたのだけど、いい加減にうっとうしくなったので、mod_security のルールファイルを更新。
作業は http://www.gotroot.com/tiki-index.php?page=mod_security+rules からとってきたファイルを展開して、中のルールファイルでファイル参照が決めうちになっているものを修正するだけ。/etc/asl/whitelist とあるのをなおすのが2箇所かな。

とりあえずは、しばしこれで様子見です。

comment

2008/09/02 (火)

2008-09-02:debian etch で mod_security2

ちょっと前にここの blog のトラックバック受付を有効にしたんですが、きちんとトラックバックスパムが来るようになりました。。。:-|
というわけで、mod_security で撥ねてしまえ、という設定のオハナシ。

mod_security は debian のオフィシャルには入ってないので、apt-get はできない。
http://etc.inittab.org/~agi/debian/libapache-mod-security2/2.5.x/etch/
ここから

  • libapache2-mod-security2_2.5.5-1~etch1_i386.deb
  • mod-security2-common_2.5.5-1~etch1_all.deb

をとってきて、dpkg -i でインストール。

Debian の apache は /etc/apache2/ 以下にいろいろファイルが置かれる。モジュールの場合、/etc/apache2/mods-available/ 以下に実体が置かれ、/etc/apache2/mods-enabled/ 以下にシンボリックリンクを張ると有効になる、という仕組み。
dpkg では /etc/apache2/mods-enabled/mod-security2.load しか用意してくれず、設定ファイルの mod-security2.conf は自分で用意する必要がある。
とりあえず、旧サーバで使ってたころのファイルを持ってきた。
。。。うまくいかない。

バージョンが1から2になって Derective が変わりまくっているのね。
http://www.modsecurity.org/documentation/ の「ModSecurity 1.x to 2.x migration Matrix」を見ながら、ぽちぽちと修正。

ルールファイルは http://www.gotroot.com/tiki-index.php?page=mod_security+rules から Free Rules の All in one downloads for modsec 2.5 の gzip ファイルをもらってくる。
/etc/modsecurity/ というディレクトリを作って、そこに展開し、/etc/apache2/mods-available/mod-security2.conf には

Include /etc/modsecurity/00_asl_rbl.conf

といった感じに記述してルールファイルを読み込んでいく。
もらってきたルールファイルはそのままだと「/etc/asl/whitelist」みたいな決め打ちファイル名が見つからなくて怒られるので、適宜編集。
05_asl_scanner.conf の中に書かれてる modsec-clamscan.pl は modsecurity-apache_1.9.5.tar.gz の中の util フォルダにある。自分はこれをまとめて /etc/modsecurity/util/ とコピーしてみました。

とりあえず、もらってきたルールを全適用して様子を見ていますが、そんなに重たくはないみたい。
Core2 Duo 3.16GHz のサーバ、というのもあるかもしれませんけど。
しばらくは audit ログとか、CPU load average とかを監視してみます。

comment

2007/02/06 (火)

2007-02-06:mod_security 導入

おかげさまでここのブログもトラックバックスパムなお客さんがいっぱいいらっしゃるようになりました。
というわけで、トラックバックスパム対策。

b2evolution をいじることも考えたんですが、もっと入口からおさえちゃえ、と mod_security を導入することにしました。
以下から Debian なパッケージをもらってきて dpkg -i でインストール。

http://www.modsecurity.org/download/

ルールは以下から取得。

http://www.gotroot.com/tiki-index.php?page=mod_security+rules

/etc/apache2/mods-available/mod-security.conf を書いて、a2enmod mod-security でモジュールを有効にしてから

sudo /etc/init.c/apache2 force-reload

ログを見ていると、トラックバックスパムを試みている人たちがガンガン蹴られてます。いい感じ。
ただ、すっごくマシンが重たくなった気もする。(^^;
苦情が出てから考えよう。

ちなみにこのサーバ、subversion を http で提供していたりするんですが、もらってきたルールそのままだと普通にはねられる。
ルールをいじろうかとも思いましたが、svn で提供している URL には mod-security を適用しない、という逃げでとりあえず回避。

comment

2004/09/21 (火)

2004-09-21:apachectl start できず

apachectl configtest は OK なのだが、いざ sudo apachctl start をすると起動しない。なんでかわからず30分も悩んでしまった。
原因は ServerName で指定した名前がひけなかったこと。
/etc/hosts に書いておしまい。しょぼん。

comment

2004/08/28 (土)

2004-08-28:画像ファイルの強制読み込みなおさせ

HTML の出力の際に HTTP の header で Pragma: no-cache やCache-Control: no-cache を入れたり、HTML 内に<meta> で同じようなものを入れても、対象は HTML のみで、HTML 内で使われている画像ファイル等には効かないことを知る。
apache の access_log を見ると、gif とか jpg に対してはばっちり 302 Not Modified。
.htaccess に以下のように記述すると、画像も強制的に読みなおさせるようにできる。

<Files ~ "\.(gif|jpg)$">
    Header set Pragma no-cache
    Header set Cache-Control "no-store, no-cache, must-revalidate"
    Header append Cache-Control "post-check=0, pre-check=0"
    Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT"
</Files>
comment

2004/05/05 (水)

2004-05-05:apache 1.3.x + tomcat 5.0.x + mod_jk2 on Vine Linux

昨日の作業をまとめてみた。
apache2 が広まってきた中、あまのじゃく的に apache1.3 系列での tomcat 導入手順紹介を書いてみた。
どなたかの参考になれば。。。

apache 1.3.x + tomcat 5.0.x + mod_jk2 on Vine Linux

comment

2004/05/04 (火)

2004-05-04:tomcat と mod_jk2

手元のマシンに tomcat を入れてみる。
tomcat5 なバイナリをもらってきて展開するだけ。
ここまではいいんだけど、apache と連動しようとしてmod_jk2 を入れようとするとむずかしい。
いまってもう、世間的には apache は 1.3 ではなく 2 なのね。

comment

2003/09/06 (土)

2003-09-06:apache/IIS + PHP + PDFlib on Win XP Pro

先日のまとめページに、IIS 版を追記。
さらに慣れない環境で苦労。。。
apache/IIS + PHP + PDFlib on Win XP Pro

comment

2003/09/03 (水)

2003-09-03:apache + PHP + PDFlib on Win XP Pro

やんごとなき理由で Windows 環境で apache を動かし、そこで PHP 使って PDFlib で PDF ファイル作りたい、ということで環境を作ってみた。
長いんで別ページにまとめてます。
apache + PHP + PDFlib on Win XP Pro

comment

2003/07/25 (金)

2003-07-25:Apache on Windows のライセンス

ApacheをWindows系のOS上で利用する場合のライセンスに関する問題について。[www.apache.jp]
気づくのが遅いな。初出は 2003.07.18 じゃんか。

comment

2003/06/10 (火)

2003-06-10:個人証明書の CRL

個人証明書をひとつ失効させて、apache に CRL(証明書失効リスト)を読ませてみる。

openssl ca -revoke newcerts/{シリアルナンバー}.pemopenssl ca -gencrl -out /usr/local/apache/conf/ssl.crl/ca-bundle.crl

apache の httpd.conf に SSLCARevocationFile を設定して再起動。

comment

2003/03/10 (月)

2003-03-10:apache+mod_dav の個人認証

apache + mod_dav で BASIC認証を使った読み込み・書き込み権限管理の環境作り。各ディレクトリごとに .htaccess を置いてメソッドを Limit する。
ファイルリストに .htaccess が出てしまうのが気持ち悪いが、mod_dav 自体を hack する必要がありそげなので、とりあえず放置。
だいたいの期待する機能は実現できそう。
jasmine に apache と php を入れる。
security.debian.org がこんでて openssl パッケージが手に入らなかったのでmod_ssl は組み込んでない。後日やらねば。

comment

2003/01/13 (月)

2003-01-13:apache アクセスログのディレクトリごと取得

自宅の web server のアクセスログ・エラーログの整理。2001年7月からある。2002年11月のエラーログが非圧縮で 1MByte を超えていた。わはははは(泣)
今後はアクセスログをディレクトリごとにとるようにした。/usr/local/apache/conf/httpd.conf などに以下のように書いておく。

SetEnvIf Request_URI "/medakare/(.*)$" medakareCustomLog /usr/local/apache/logs/medakare/medakare_access_log common env=medakare

エラーログはこの方法ではうまくいかない。

comment