pukiwikiでwikiスパムを撃退する

誰でも編集できるのがwikiのいいところであるが、折角のシステムもスパムのターゲットにされてしまうと大変である。
実はこのブログの大本となっているrutakewikiというwikiも残念ながら有名になるに従ってwikiスパムのターゲットとなり、内容と全く関係ないリンク満載の新規ページが作られるようになった。
あまりに頭にきたので内部LANと特定のIP以外からは編集不可能にPHPのコードを変更したのだが、そこまでしなくてもpukiwikiには編集に認証を必須とする仕組みがありこれでwikiスパムを撃退できる。

続きを読む

カテゴリー: pukiwiki | タグ: , | コメントする

こんな定額制はいらない

Docomoがデータ通信の定額制を始めるという。
しかし、FTPやSSHができないという。
メールやWebの閲覧だけならネットカフェでも十分だから、こんな定額制は意味がない

カテゴリー: つぶやき | コメントする

HTTPヘッダー書き換えFirefoxプラグイン Modify Headers

携帯端末を偽装して開発する時などにどうしてもHTTPHeaderを加工する必要がある。そういう需要がある人にはありがたいツール。
これまで同種のツールにはParosを利用してきたが、ParosはProxyとして動作するのでFirefoxのみで完結するわけじゃないのが玉に瑕。ただしリクエストの再送などはParosの出番が残されている。
現在のバージョンは0.7だが、十分使い物になる。

カテゴリー: soft | タグ: , , , | コメントする

一定日数経過したバックアップファイルを消す方法

emacsやviでも編集後自動的にファイル名~でbackupファイルが作成される
これはこれで設定ファイルの変更ミスしたときにリカバリーできるのでありがたいが、一定時間経過してしまえば不要となるし、攻撃の足がかりとなる可能性もあるので古いバックアップファイルは消してしまおう。
30日経過したバックアップファイルを列挙(あらかじめディレクトリは移動しておくこと)
$ find . -name “*~” -type f -mtime +30
いちおうこの実行結果を見て問題なければ消してしまおう
$ find . -name “*~” -type f -mtime +30 | xargs rm
なお、最終更新日付の条件は不正アクセス対策入門の入門という本にのっていた方法を加えさせていただいた。

カテゴリー: 小技 | タグ: | コメントする

SELinux事始め

CentOS5をインストールして使い始めたのはSELinuxをそろそろ本格的に実運用モードにもって行きたいと思ったのであるが、のっけから躓いている。
php経由でpostgresqlに接続できないんですが・・・エラーログの内容を見てもちんぷんかんぷんなのでこれからサルでもわかるSELinuxとでも称して地道に連載して知識を蓄えていくことにしよう。
先は長い!

カテゴリー: SELinux | タグ: , | コメントする

CentOS5で最小ネットワークインストール構成に後からXWindowを入れる

前回のCentOS5ネットワークインストールをした後の話である。
普段であればサーバー用途なのでGUIは入れないで後はyumでがつがつサーバーソフトウェアを入れていくのだが、せっかくLinuxデスクトップを利用しているのでCentOSでもXwindowを入れてみることにした。
デスクトップ用途だとディスクがいったい何枚必要になるのかわからないので、そういった意味でもネットワークインストール最小(途中でフリーズする危険がインストールサイズが大きくなるほど多い)でインストールを完了させ、その後yumで後からXwindowを入れるのがディスク1枚ですむので地球に優しいのである。
さてかといって一つ一つyumのパッケージを入れるのは大変なのでパッケージのさらにパッケージというのがyumにはある。実はコレインストール時に選ぶパッケージ群とほぼ同じと考えてよい。以下のコマンドをrootで実行する。するとインストーラーで見慣れた名称が現れるはずだ。
# yum grouplist
最小限のXwindowsSystemとGNOMEデスクトップを入れる。
# yum groupinstall “X Window System” “GNOME Desktop Environment”
さすがにパッケージのサイズはトータルで300Mほどあるはずなので1時間ほど覚悟しよう。インストールが完了してもこのままではハードウェアの設定がすんでいないのでstartxしても立ち上がらない。

続きを読む

カテゴリー: CentOS, Linux, 人気記事 | タグ: , | 1件のコメント

PHPで画面が真っ白になる時はエラーを疑え!

PHPで画面にまったく何も表示されずソースを見てもほとんど何も出力されていない時がある。
実はこれ複数原因があるが、以下見ていこう。
まずは出力の文字コードが違う場合IE6だと画面が真っ白になる。この場合はソースの表示をさせると本来出力される内容が出てくるのでその場合はエンコーディングの自動選択を選ぶ(もしくはわかっていればそのエンコードを指定する)
次にソースを見ても手がかりとなるような出力がない場合だが、コレは単純でphp.iniでエラーがApacheのエラーログに出力されるようになっているだけだ。エラー情報は開発中は画面に出たほうがうれしいのだが、運用時に出してしまうとPHPのバージョンがわかってしまったりして思わぬ攻撃の手がかりを与えることになりかねない。ほとんどのディストリビューションのデフォルトではPHPのエラーはApacheのエラーログに出力されるようになっている。
もし出力するようにしたければphp.iniの以下の場所を変えて、Apacheを再起動すればよい。
display_errors = Off←On
RedHat系のディストリビューション(Fedora,CentOS)であればエラーログの場所は下記にあるはず。
/var/log/httpd/error.log
VineLinuxではApacheのバージョンが1か2によるが
/var/log/apache/error.log
/var/log/apache2/error.log
開発サーバーであれば画面に表示するように変更してもいいだろう(というか変更すべき!)

カテゴリー: PHP, 人気記事 | コメントする

Fedora7,CentOS5でパッケージ管理のaptがなくなった???

元はDebianのパッケージ管理システムであるapt
Debianのみならずその派生であるUbuntuやKNOPPIXなどでもベースはaptである。
RedHat9の頃から非公式ではあるがaptが使え、RedHat系のFedoraやCentOSなどでもaptを使うことができた。今回CentOS5をインストールするにあたっても標準パッケージ管理であるyumは最初の一回すなわち
yum install apt
だけで後はaptで運用していくつもりが、なんと見つからない。あわててFTPサイトをのぞいてみると今までextrasにRPMパッケージがあったのに今回のバージョンからなくなっているのだ!
これまでほぼaptでパッケージ管理をしてきた身にはyumはどうにもしっくり来ないがしかたなく身に着けなければならないのだろうか?
だれかCentOS5用のaptパッケージを見つけたら情報ください。

続きを読む

カテゴリー: Linux | タグ: , | 2件のコメント

Fedora7が不安定

実験用にマルチブートでFedoraCoreを入れたことはあってもメインでは使ったことがないとはいえ相変わらず人気があるディストリビューションなので昔の勘を取り戻すべくFedoraCore4以来のFedora7を(ややこしいな)デスクトップマシンにインストールして検証しているのだがどうにも不安定だ。
まずXを含めてインストールしstartxするとXが立ち上がらない。これは後ほど解決するにしても昨日発覚したのが、起動して別のマシンからSSH接続しようとしたら、1時間ほどで接続できなくなった。pingをうったら反応があるのでsshdだけがおかしくなったのかコンソールの前に立つと大量のカーネルエラーメッセージが出ていた。
マシンとの相性もあるかもしれないが(nForce2チップセットのキューブベアボーン)こういったGUIを立ち上げていない状態でのフリーズはこれまでのLinux使用経験上あまりない。別のマシンにインストールして様子を見るか・・・

カテゴリー: Linux | タグ: , | コメントする

SE Linuxを恒久的に無効にする

前回の一時的にSELinuxを無効にするだと再起動するたびにsetenforce 0をしなければいけない。
どうせ家の中でしか使わないからずっとSELinuxOFFでいいという人に贈る
“/etc/selinux/config”を開く、下記の行を入れ替える
SELINUX=enforcing
以下のように
SELINUX=disabled
次回再起動からはこの設定が生きてくる。

カテゴリー: Linux | タグ: | コメントする