nginx

nginxはNginx, Inc.によって開発されているWebサーバー。
イベント駆動アプローチを採用しており、静的ファイル配信を得意とする。
多くのリクエストを簡単に捌けることから、リバースプロキシ用途やVPSなどで人気がある。
2条項BSDライセンスで公開されている。

こういった利点に対し、以下のような欠点もある。

PukiWiki を動かすときの注意

PukiWikiのパッケージには、設置した階層以下の全てで.htaccessの利用が許可されている場合のWebアクセス制御サンプルしか収録されていない。
このためnginxで運用するには、nginx.confなどで自らアクセス制御の設定を行い、部外秘のファイルを非公開にする必要がある。

Example

server {
	listen 80;
	listen [::]:80;

	server_name wiki.example.org;

	root /var/www/wiki.example.org/;
	index index.php;

	location / {
		try_files $uri $uri/ =404;
	}

	# deny .htaccess, .htpasswd, .gitignore and .git/
	location ^~ /. { deny all; }

	# deny directories
	location ~ ^/(attach|backup|cache|counter|diff|lib|plugin|wiki|wiki.en)/ { deny all; }

	# deny files
	location ~ \.(htaccess|ini\.php|lng\.php|skin\.php|txt|gz|tgz|zip)$ { deny all; }

	location ~ \.php$ {
		# ↓スペースを取り除くこと
		fastcgi_pass unix:/ run/php/php7.0-fpm.sock;
		fastcgi_split_path_info ^(.+?\.php)(/.*)$;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include fastcgi_params;
	}
}

危険性

pukiwiki.ini.phpにはadminパスワードが記載されている*1ため、絶対に漏らしてはいけない。
nginxでPukiwikiを動かす場合、pukiwiki.ini.phpがダウンロードできないことを必ず確認してください

"403 Forbidden"が返ってくるか、真っ白なページが表示される*3場合は問題ありません。

コメント



*1 平文パスワードではなくハッシュ化されている。しかし、総当たり攻撃に対して脆弱*2
*2 ストレッチングされていないため。またmd5/sha1を選択した場合はソルトさえ付与されていないため。
*3 スクリプトとして実行されてしまっているが、何もechoしないため問題にならない。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-06-04 (月) 06:13:19
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.471 sec.

OSDN