[FreeBSD] denyhostsを導入

今年最後のエントリは今更感のあるsshのセキュリティについて.

最近になって,とあるIPから頻繁にsshへユーザ名を変えながらのアクセスがあるようになり,連日auth.logがそのログで埋まってしまうようになりました.
このまま放置しておくとログ確認するのも面倒だし,何より不安なので,今更ながらsshのセキュリティ強化をすることにしました.
続きを読む

[FreeBSD][nginx] http-auth-digestモジュールパッチ

nginxは標準ではDigest認証に対応していません.
そのため,Digest認証をするために,samizdatco氏の作ったnginx-http-auth-digestというサードパーティモジュールを利用します.

FreeBSDのportsで,HTTP_AUTH_DIGESTオプションをオンにすると導入されるモジュールも同じです.

このモジュールですが,とあるバグを抱えています.(2012/10/20現在)
URIによっては認証が正常に行われず,401←→認証の無限ループが発生するというものです.

例えば,以下のようなURLにアクセスした際に問題が発生します.

http://example.com/hoge.php?param=foo

このバグを修正するためのパッチを作成してみました.

続きを読む

[Lua] サーバの状態監視スクリプト

Webサーバをapacheからnginxに移行してみて1ヶ月ほどが経過しました.

導入時は色々手間取りましたが,導入完了後は特にトラブルなく,apacheよりサクサク動いてくれています.

nginxのモジュールに lua-nginx-module というものがあります.
このモジュールを使うことで,ページの生成やリダイレクトなど,様々なnginxの操作をLuaスクリプトで行うことができるようになります.

例えば,Luaスクリプトでコンテンツを動的生成したい時は以下のような一文で実現できます.

content_by_lua "ngx.print('Hello, world!')";

今回はこのモジュールを使用して,サーバの状態をjsonで吐いてくれるスクリプトを組んでみました.

続きを読む

HDDのRMA申請をしてみた (その1:申請~発送)

つい先日,自宅のNASのハードディスクが1つお亡くなりになりました.

実は,自分のHDDの故障に遭遇したのは今回が生まれて初めてです.
これまでは結構短いスパンでHDDを大容量のものへ交換して,古いものは譲るなり売るなりしていたので,ハズレを引かなかったこともあり,これまで縁のないことでした.

しかしそこは流石ZFS,新しいHDDを買ってきて交換した後,1つのコマンドだけで無事復旧しました.

# zpool replace tank /dev/ad2

さて,取り出したHDD(Western Digital社製 WD20EARS-00MVWB0)ですが,これは2010年10月に購入したものであり,その時期のWD製HDDには3年間のRMA保証が付帯していた(現在のGreenの保証は2年間)ことを思い出したので,初めてのRMA申請に挑戦してみることにしました.

続きを読む

[UTM] [EFW] Endian Firewall Community 2.3 を使ってみた

UTM(統合驚異管理)というものがあるらしい。 Wiki によると、

統合脅威管理(とうごうきょういかんり、英語:UTM;Unified Threat Management)は、コンピュータウイルスやハッキングなどの脅威からネットワークを効率的かつ包括的に保護する管理手法。
ファイアウォール、VPN、アンチウイルス、不正侵入防御(IDS・IPS)、コンテンツフィルタリング、アンチスパム等の機能をセキュリティアプライアンスとしてゲートウェイ1台で処理する。そうすることにより管理者の管理負担も軽減され、導入コストも低くなるというメリットがある。

via: 統合脅威管理 – Wikipedia

とかなんとか。

OSS な UTM 向け OS を紹介してもらったので、試しにインストールしてみた。

続きを読む

[wordpress] [php] PCLZIP_ERR_BAD_FORMAT (-10) と出てプラグインのアップグレードが出来ない

WordPress のプラグインのアップグレードが来てたので、アップグレードしようと、リンクをクリックした。

が、次のようなエラーを吐いてアップグレードしてくれない。

PCLZIP_ERR_BAD_FORMAT (-10)

プラグインのアーカイブをダウンロードはしてきてるけど、展開が出来てない様だ。

続きを読む