42
みんなそろそろ 707やめようぜ (;´Д) 2016/06/04 @nullpopopo

みんなそろそろ707やめようぜ (;´Д`)

Embed Size (px)

Citation preview

Page 1: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

2016/06/04@nullpopopo

Page 2: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

名前: Yasutaka HamadaTwitter: @nullpopopoおしごと: サーバーエンジニア https://ll4u.in/Blog: http://nullpopopo.blogcube.info/

Page 3: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

Blog: http://nullpopopo.blogcube.info/

Page 4: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

今日は何しにきたの?

Page 5: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

こいつのデバッグしにきました。

https://github.com/nullpopopo/ichigeki

Page 6: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

USPマガジン (現 シェルスクリプトマガジン) vol.0 で北朝鮮謹製Linux Redstar Linux インストールレポート執筆

Page 7: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

シェルスクリプトマガジン vol.22 ではさくらインターネット 石狩データセンターへ取材しに行きました。

Page 8: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

「ツールがなくてもサーバー構築でたじろがない! 一撃シェルスクリプト道場」連載してました。

http://codezine.jp/article/corner/573

Page 9: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

最初にごめんなさい

Page 10: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

今日のメインテーマは WordPress ではありません。でもちょっとだけ WordPress が関係します。

Page 11: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

今日のメインテーマはセキュリティです。

Page 12: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

ところで皆さん、WordPressはどんなサーバーで動かしていますか?

Page 13: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

共用サーバーVPS

クラウドKUSANAGI

wordpress.com専用サーバー

etc...

Page 14: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

ドキュメントルート(WEBサーバーが公開するディレクトリ)以下のパーミッションって、何にしています?

Page 15: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

755705711700701777707

Page 16: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

707 ...

Page 17: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

今日問題にするのはコイツですこいつ。

707

Page 18: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

質問

Page 19: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

ドキュメントルート以下ディレクトリのパーミッションを707にしている方、その理由を教えていただけますか?

Page 20: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

Page 21: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

Page 22: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

Page 23: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

UNIXのパーミッション

Page 24: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

Read 4Write 2

Execute 1

Page 25: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

UNIXのユーザー・グループの概念

Page 26: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

usergroupother

Page 27: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

パーミッション 707 とは自分と「他人」に対して読み(4)書き(2)実行(1)の権限を与えることになります。

つまり、他人がファイル置き放題。こわい。

Page 28: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

実例

Page 29: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

じゃあパーミッション何だったらいいのよ?(#・∀・) プンスコ!!!

Page 30: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

その前に前提条件があります。

Page 31: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

apacheがsuEXECに対応していること (最近のサーバー、少なくともApache 2.0では対応している。)

Page 32: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

suEXECとはApacheユーザはWebサーバを実行しているユーザIDとは異なるユーザIDでCGIプログラムやSSIプログラムを実行することができる

引用: suEXEC サポート - Apache HTTP サーバhttp://httpd.apache.org/docs/2.0/ja/suexec.html

Page 33: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

/home/nullpopopo 以下のオーナーは nullpopopoapache(httpd)の実行ユーザーは apache

Page 34: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

[nullpopopo@wwwXXXX ~]$ ls -l | grep wwwdrwx---r-x 5 nullpopopo users 1024 Jun 4 10:26 www

Page 35: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

[nullpopopo@wwwXXXX ~]$ cd ${HOME}/www[nullpopopo@wwwXXXX ~/www]$ ls -lAtotal 180-rw----r-- 1 nullpopopo users 0 Feb 18 10:08 .htaccess-rw----r-- 1 nullpopopo users 418 Feb 14 04:11 index.php-rw----r-- 1 nullpopopo users 19935 Jun 4 10:26 license.txt-rw----r-- 1 nullpopopo users 7360 Jun 4 10:26 readme.html-rw----r-- 1 nullpopopo users 5032 Jun 4 10:26 wp-activate.phpdrwx---r-x 9 nullpopopo users 2560 Jun 4 10:26 wp-admin-rw----r-- 1 nullpopopo users 364 Jun 4 10:26 wp-blog-header.php-rw----r-- 1 nullpopopo users 1476 Jun 4 10:26 wp-comments-post.php-rw----r-- 1 nullpopopo users 2853 Jun 4 10:26 wp-config-sample.php-rw----r-- 1 nullpopopo users 1569 Feb 14 04:30 wp-config.phpdrwx---r-x 7 nullpopopo users 512 Jun 4 10:30 wp-content-rw----r-- 1 nullpopopo users 3286 Feb 14 04:11 wp-cron.phpdrwx---r-x 16 nullpopopo users 4608 Jun 4 10:26 wp-includes-rw----r-- 1 nullpopopo users 2380 Feb 14 04:11 wp-links-opml.php-rw----r-- 1 nullpopopo users 3316 Feb 14 04:11 wp-load.php-rw----r-- 1 nullpopopo users 33837 Jun 4 10:26 wp-login.php-rw----r-- 1 nullpopopo users 7887 Feb 14 04:11 wp-mail.php-rw----r-- 1 nullpopopo users 13106 Jun 4 10:26 wp-settings.php-rw----r-- 1 nullpopopo users 28624 Jun 4 10:26 wp-signup.php-rw----r-- 1 nullpopopo users 4035 Feb 14 04:11 wp-trackback.php-rw----r-- 1 nullpopopo users 3061 Feb 14 04:11 xmlrpc.php

Page 36: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

これでWordPress動くの?

動きます。

Page 37: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

でも、大量のファイルのパーミッションを604にしたりディレクトリのパーミッションを707にするのが大変...

Page 38: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

(実演)

Page 39: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

[nullpopopo@wwwXXXX ~]$ cd www[nullpopopo@wwwXXXX ~/www]$ find $(pwd) -type f | xargs chmod 604[nullpopopo@wwwXXXX ~/www]$ find $(pwd) -type d | xargs chmod 705

Page 40: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

まとめ

Page 41: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

● ディレクトリのパーミッション 707 を勧めているサイトは信用ならない

● apacheがsuEXECに対応する前の情報、つまり古い● 書いている人が意味を理解していない

● 最近のapacheはsuEXECに対応しているので、以下のパーミッションを推奨

● ファイル: 604● ディレクトリ: 705

● 自分が使っている共用サーバーのapacheがsuEXECに対応しているかはサーバー会社のFAQを見よう

● VPSや専用サーバー、IaaSのクラウドなら自分で設定がんばろう

Page 42: みんなそろそろ707やめようぜ (;´Д`)

みんなそろそろ707やめようぜ (;´Д`)

ありがとうございました!