よりセキュアにJoomla!
linux.comで「Securing Joomla! installations」という記事がありました。
簡単に
- PHP4かPHP5を使用する。
- ディレクトリは、chmod 755にファイルはchmod 644にする。
(できるだけ書き込み不可にする。全部やるとエラーが出る。) - グローバルコンフィグレーションのサーバータブでchmod の設定を行う。
(ディレクトリは、chmod 755にファイルはchmod 644) - 複雑な文字数の多いパスワードにする。
- rootのhtaccessを使う。
- register_globalsはオフにする。
- php.iniに以下を追加する。
allow_url_fopen = OFF
disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open - administratorフォルダにhtaccessでアクセス制限をかける。
- 以下のサイトをチェック。
- 絶えず、セキュリティリストをチェックし、エクステンションのバージョンアップを行う。サーバーログもチェックしなよ。と
超言葉足らずですが、要点はこんなところかと思います。中にはサーバーによってできないものもあるかと思いますが、気をつけましょう。
特にhtaccessで制限をかけることは、簡単なので最初にしておきましょう。
- Root/administratorフォルダ
- Root/xmlrpcフォルダ
Joomla!1.5の日時表示が修正されていた
最新のリビジョンのJoomla!1.5RC4をエクスポートして、比較してみました。
とりあえず、記事の日時の問題は以下でクリアしそうです。
JoomlaRoot/libraries/joomla/utilities/date.php
を
へ
を
へ 変更する。
Joomla!1.5 DemoをRC3からRC4に変更しました。手順は、先日テストサーバーで行ったのと全く同じで問題ありませんでした。VideoBarのデモのためにテンプレートに少し手を加えていたのを忘れていて消しちゃってから少しあわてましたが・・・。(全然バックアップせずに行っていた。)
少し違う点は、Demoとはいえ公開しているサイトなのでDemoRootにリダイレクトさせる.htaccessを設置してから行いました。
日時の文字化け
そういえば、記事の日時がローカルテストサーバーのJoomla!1.0.13でいつも文字化けしていたことを放置していました。
2007/12/07 Friday 08:01:00 ???? (?W????)
こういうの見たことありませんか?
以下を変更してみました。
これは、Windowsサーバーでは発生するようです。プラットホーム依存ぽいです。Ubuntuでは、
2007/12/07 金曜日 08:01:00 JST
などと表示され、正常です。
ROOT/includes/joomla.php
を
のように変更してみました。
すると、
2007/12/07 Friday 08:01:00 東京 (標準時)
に変わりました。あれれれれこれって・・・はじめて見る気がするのは私だけでしょうか(いつも表示させていないからか?)・・・
SJISの部分や、行番号(変更したりで)は、環境により異なるかもしれません。
また、表示の仕方を変更したいときや、表示するものを変更したい場合は、
ROOT/language/japanese.php
をたとえば、
のようにすれば
2007/12/07 Friday
となります。書き方は、http://jp.php.net/strftimeのパラメータ項を参照してください。
文字化けな方は、お試しあれ
早速テストサーバーのJoomla!1.5をRC4にアップグレードしてみた
Myサーバー(Ubuntu)のRC3(実は、RC3だったかRC2だったか定かでない。)をRC4にアップグレードしました。
本家には下記のように書いてあった。
- Backup all files; backup your database.
- Delete all Joomla! core files, but leave any third-party extension files in place, including your configuration.php file.
- Upload/copy contents of RC4 package.
- Execute the MySQL commands to be found in /installation/sql/mysql/diff.sql to implement the necessary database changes.
- Delete the entire /installation directory.
フムフム...
バックアップしてから・・・面倒だからやらない。
configuration.phpと後でインストールしたエクステンションのファイルを残してすべてのファイルを削除。
サーバーのRCのルートにJoomla-1.5RC4.zipを置いて
unzip Joomla-1.5RC4.zip
上書きのメッセージがでるが、Yes。
diff.sqlをインポートしたらいいのか?・・・中を覗いてみるとRC1 to RC2など他のバージョンの物もあるようだ、危ない危ない。うちのは、たしかRC2からRC3にしたような気がしたがいろいろあって覚えていない。ですが、幸いRC2 to RC3は無かったので
RC3 to RC4の部分のみをコピーし、phpMyAdminでRCのデータベースを開き、SQLメニューからテキストエリアに貼り付け、実行。
installation フォルダを削除。
管理画面に入り、System Infoを開きパーミッションを確認。新調されたフォルダは、すべて赤になっている。
パーミッションを変更。
すんなり完了。テストしていたエクステンションも何事もなく動いています。





























