Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Linux
今月(ローテート設定によって変わる)の RADIUS 認証通過者ランキングを、毎日 logwatch してみる。完璧にお遊びです(が、考えようによってはセキュリティ + 利用状況把握と言えなくもない)。freeradius-1.1.3-1.5.el5_4 + logwatch-7.3-6.el5 on CentOS 5.4 にて。なお、いつも通りの copy & paste configuration です :-)


cat << '_EOF_' > /etc/logwatch/conf/services/radiusd.conf
Title = "FreeRADIUS Auth Ranking"
LogFile = radius
_EOF_

cat << '_EOF_' > /etc/logwatch/conf/logfiles/radius.conf
LogFile = radius/radius.log
Archive = radius/radius.log.*.gz
_EOF_

cd /etc/logwatch/scripts
mkdir logfiles services shared
touch /etc/logwatch/scripts/services/radiusd
chmod +x /etc/logwatch/scripts/services/radiusd

cat << '_EOF_' > /etc/logwatch/scripts/services/radiusd
#! /bin/sh

grep "Auth: Login OK:" | awk '{print $10}' | sort | uniq -c | sort -nr | head -n 10
_EOF_


出力例はこんな感じ。言うまでもないかもしれませんが、ユーザ名の前に書かれた数字は回数を表します。


 --------------------- FreeRADIUS Auth Ranking Begin ------------------------ 

14 [user01]
12 [user02]
7 [user03]
6 [user04]
6 [user05]
5 [user06]
4 [user07]
4 [user08]
3 [user09]
2 [user10]

---------------------- FreeRADIUS Auth Ranking End -------------------------


ちょろっと探した感じでは、FreeRADIUS 向けの Logwatch スクリプトの決定版はなさそうですね。
Category: Web
Twitter の検索ウィジェット(ここでも使ってます)が「Twitter / 検索ウィジェット」のページで作成できるのですが、
注:リツイート(ツイートの共有)は、初期設定では含まれません
と書かれている通り、「RT」という文字が tweet に含まれていると、検索結果に表示されません。

で、いろいろ試した結果、検索クエリを「OR」で始める(例えば「OR your_keyword」)と、RT が含まれるようになるみたい。内部的に、検索クエリの頭に「-RT 」という文字列を自動的に付加しているようなので、最終的なクエリが「-RT OR your_keyword」となる、というだけです。SQL Injection 的なアプローチですね(いや、悪いことはしてないですけど)。
※ここにサンプルを載せていたのですが、あまり良い感じに比較結果が出なかったのでやめました。
新しい(公式の機能としての)RT の扱いがどうなっているのかはよく分かりませんでした。

あと、日本語を検索クエリに指定することができないのはちょっと残念ですね。Twitter Search は日本語に対応しているようなので、しばらくすれば対応するのではないかと期待しています。
Category: Linux
以前書いた記事の構成が、某運用環境で採用されることになりました。

再掲すると、
UserDir public_html
RewriteEngine on
RewriteMap vhostusers txt:/path/to/vhostusers.txt
RewriteCond ${vhostusers:%{HTTP_HOST}} .+
RewriteRule ^/(.*)$ /~%0/$1 [PT,NS]
というように、VirtualHost コンテキストを使わずに自前で HTTP_HOST を読んで、UserDir に rewrite してしまえば、
  1. バーチャルホストがたくさんある環境でも設定は 1 個で済む (マッピングファイルとして外部化できる)
  2. サブドメインを増やすのに Apache の再起動が不要 (マッピングを書き換えれば瞬時に反映される)
  3. しかも、サブドメインごとに CGI などの実行権限を切り替えられる (UserDir だから suEXEC できる)
といいことずくめな設定です。サブドメインとユーザ間のマッピングは RewriteMap によって実現されます。この例では、/path/to/vhostusers.txt に
# Subdomain          User Name
www.example.com user001
first.example.com user001
second.example.com user002
third.example.com user003
のように書くことができます。

これを応用すれば、SNI を使わなくても、ワイルドカード SSL を使って複数の VirtualHost を 1 つの IP アドレスでホストすることができますね(同じドメイン配下のサイトであれば)。

 *

追記: これだと DirectorySlash でダメなケースがありますね。後日追記します。
Category: Web
Lyrics Online に、CSS / JavaScript の勉強も兼ねて「人気のキーワード」を付けてみた。Google の API に callback function の名前を渡して、相手先から呼んでもらうのね。なるほどって感じ。

ちなみに、人気のキーワードは ExtraEngine から引っ張って来ました。何だか、凄いことになってますが...。
Category: Computer
ある日曜日の ExtraEngine 利用状況。Google 先生によると、ユニーク クエリ数で 431547 だそうです。「アニソン★歌詞検索」のクエリ数の倍くらいでしょうか。さすが、デフォルト有効になっているだけありますね。

タイムゾーンが書いていないのですが、GMT (日本時間 + 9 時間) なのかな。そうだとすれば、ピークが日本時間の 9:00 PM、最低値が 5:00 AM となって、直感に合う。