Skip to content

さくらのレンタルサーバを借りたとき最初にすること

License

Notifications You must be signed in to change notification settings

rinopo/sakura-init

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sakura-init

さくらのレンタルサーバを借りたとき最初にすること

チェックリスト

issue 等にコピペする用:

- [ ] SSH キー・ペアを作成して登録
- [ ] 管理者パスワードの変更
- [ ] アクセスログの設定
- [ ] ドメインの設定
- [ ] サーバー証明書の設置
- [ ] `.htaccess` の設置
- [ ] `.ftpaccess` の設置
- [ ] データベースの作成
- [ ] `.my.cnf` の設置
- [ ] 「シンプル監視」を設定
- [ ] 新規ユーザー作成時のデフォルト値の指定
- [ ] 国外IPアドレスフィルタの設定

cf. [rinopo/sakura-init: さくらのレンタルサーバを借りたとき最初にすること](https://github.com/rinopo/sakura-init) 

SSH 用のキー・ペアを作成して登録

鍵を作成して登録しておくことで、パスワード無しで SSH ログインできるようになる。

rinopo/sakura-ssh-setup を参照。

管理者パスワードの変更

初期パスワードはメールで平文で送られてくる。ちゃんと推測されにくいパスワードに変更しておく。

参考:メールアドレスとパスワードの設定で利用できる文字列 – さくらのサポート情報

% passwd
Changing local password for XXX
Old Password:
New Password:
Retype New Password:

*上記コマンドでサーバコントロールパネルのパスワードも連動して変わる。

アクセスログの設定

アクセスログは、なるべく多くの情報を残す設定にしておく(ただし、ディスク容量を消費する)。

  • 「残す」
  • 「エラーログも残す」
  • 保存期間「24」ヶ月
  • ホスト名の情報「残す」
% mkdir ~/log
% touch ~/log/.errorsave
% echo '24' > ~/log/month
% touch ~/log/.vhostsave

ドメインの設定

独自ドメインを取得したなら、「ドメイン設定 > 新しいドメインの追加」にて、独自ドメインを追加する。

以下は設定の例。

本番サイトと同じ階層、同じ条件でテスト・サイトを作成したいので、デフォルトの DocumentRoot(~/www)は利用せず、(必要に応じて)以下のようにディレクトリを切る。

ドメイン DocumentRoot 用途
(www.)example.com ~/www/prd/public 本番環境(Production)
stg.example.com ~/www/stg/public 確認環境(Staging)
dev.example.com ~/www/dev/public 開発環境(Development)
test.example.com ~/www/test/public 更新練習用
old.example.com ~/www/old/public 旧バージョンの保存用
... ~/www/.../public etc...
% mkdir -p ~/www/{prd,dev,stg}/public

サーバーコントロールパネルからのドメインの追加は、以下のようにする。

  • ネイキッド・ドメイン:
    • 「wwwを付与せずマルチドメインとして使用する(上級者向け)」
    • 指定フォルダ:/prd/public  - 「このドメイン宛のメールは全てユーザに受信させる」  - SPFを利用する:オン
  • www
    • 「wwwを付与せずマルチドメインとして使用する(上級者向け)」
    • 指定フォルダ:/prd/public  - 「受信するかどうかを個別に設定する」  - SPFレコードを利用する:オフ(デフォルト)
  • stg
    • 「wwwを付与せずマルチドメインとして使用する(上級者向け)」
    • 指定フォルダ:/stg/public  - 「受信するかどうかを個別に設定する」
    • SPFレコードを利用する:オフ(デフォルト)
  • dev
    • 「wwwを付与せずマルチドメインとして使用する(上級者向け)」
    • 指定フォルダ:/dev/public  - 「受信するかどうかを個別に設定する」
    • SPFレコードを利用する:オフ(デフォルト)

*「wwwを付与せずマルチドメインとして使用する」を選択するのは、本番サイトと同じ条件でテスト・サイトを作成したいため。また、 www.dev.example.com などの余計なドメインを存在させたくないため。

サーバー証明書の設置

無料サーバー証明書(Let's Encrypt)が利用できるので、特に理由がなければ、設置しておく。 (サイト開設してしまった後で常時HTTPSに切り替えるのは、けっこう面倒。)

.htaccess の設置

デフォルトの DocumentRoot(~/www)のほうに、以下のような内容の .htaccess を置いておく(一例)。

*ここでの設定は、下層に設置したサイト(たとえば上記の ~/www/dev/publichttp://dev.example.com )へのアクセスに対しても有効となる。

# XXX.sakura.ne.jp へのアクセスを拒否。
RewriteEngine on
RewriteCond %{HTTP_HOST} .*\.sakura\.ne\.jp$ [nocase]
RewriteCond %{REMOTE_ADDR} !^27\.133\.139\.(3[2-9]|4[0-7])$
RewriteRule .* - [forbidden]

デフォルトのドメイン XXX.sakura.ne.jp にアクセスできる必要がないなら、拒否しておく。

27.133.139.32/28 は「さくらのシンプル監視」が利用するIPなので、アクセス元を拒否対象から除外しておく。

.ftpaccess の設置

ホームディレクトリ直下に以下のような .ftpaccess を置いておくことで、FTP/FTPS でのアクセスを防止する(SFTP は、ひきつづき利用可能)。

*ログインそのものはできるが、その後の操作ができない。平文のFTPでアクセスする習慣をやめさせることができるという程度の、間接的なセキュリティ対策。

<Limit ALL>
Order Allow,Deny
Allow from 59.106.18.131
Deny from all
</Limit>

59.106.18.131 は、「さくらのブログ」が使用する(らしい)。

参考:.ftpaccess でFTP接続元を制御する – さくらのサポート情報

データベースの作成

DBが必要な場合は作成する。

以下は設定例。

DB名は以下のようにする。

ドメイン DB名
(www) XXX_prd_wp
dev XXX_dev_wp
stg XXX_stg_wp
... XXX_..._wp

冒頭の XXX_(ユーザー名)はさくらレンタルサーバの既定で変えられない。そのあとの prd / dev / stg はドメインの設定(上述)に合わせている。末尾に DB の利用目的(利用するアプリケーション)がわかる名前(mt / wp など)を付けておく。

DB の文字コードは、(特段の理由がなければ)デフォルトの「utf8mb4」にする。
*利用するアプリケーションの仕様に合わせて決める。
*Movable Type は未だ公式には utf8mb4 には対応していなかったはず(なので「utf8」にする)。

パスワードはちゃんと推測されにくいものにする。

データベース・サーバの名前(mysqlYYY.db.sakura.ne.jp)はこの画面でしか確認できないので、メモっておく。

.my.cnf の設置

ホームディレクトリ直下に以下のような .my.cnf を置いておくことで、mysqlmysqldump などのコマンド実行時にパスワード入力等を省略できる。

[client]
user=XXX
password=ZZZ
host=mysqlYYY.db.sakura.ne.jp

[mysqldump]
default-character-set=binary
single-transaction

これがあると、

% mysqldump --default-character-set=binary --single-transaction -u XXX -p -h mysqlYYY.db.sakura.ne.jp dbname > dbname.sql

が、

% mysqldump dbname > dbname.sql

で済む。

*データベースのパスワードを平文で置いておくことになるので、セキュリティ上は注意が必要。とはいえ、たとえば WordPress や Movable Type を設置すれば wp-config.phpmt-config.cgi にはどのみちデータベースのパスワードが記載されるため、危険性はそれと同程度である。

「シンプル監視」の設定

さくらのクラウドの管理画面から、「シンプル監視」を設定する。

*管理画面へのログインは、契約時のさくらの会員IDでできる(さくらのレンタルサーバのアカウントではなく)。

「シンプル監視」は、対象がさくらのサーバー(さくらのレンタルサーバも含む)であれば無償。1分おきに HTTP や HTTPS を監視し、落ちてたらメールやslackで通知が来るようにできる。

参考:シンプル監視 – さくらのサポート情報

参考:rinopo/sakura-simplemonitor


新規ユーザー作成時のデフォルト値の指定

*ビジネス、ビジネスプロ、マネージドのみ。

~/.cpanelrc として以下のようなファイルを置いておくことで、新規ユーザー作成時のデフォルト値を設定できる。

Mail	1
MailQuota	6144
VirusScan	1
SpamFilter	1
SpamAction	0

Mail VirusScan SpamFilter0|1

SpamAction は以下の値をとる。

  • 0:フィルタのみ利用(ヘッダに X-Spam-Flag: YES を追加)
  • 1:「迷惑メール」フォルダに保存(推奨)
  • 2:メールを破棄(迷惑メールでないメールも破棄する恐れがあります)

国外IPアドレスフィルタの設定

デフォルトは「有効」で、海外からアクセス時、メール送信、WP/MTの更新等が不可となっている。

参考:国外IPアドレスフィルタ – さくらのサポート情報

ステークホルダーに確認をとり、頻繁に海外からアクセスする機会があるなら、「無効」にしておく必要があるかもしれない。

なお、「有効」にしていてる場合でも、Gmail のアカウント設定でさくらのレンタルサーバーの SMTP 情報を設定してメール送信することは可能とのこと(カスタマーセンターからの回答)。


その他


  • この内容は非公式のものであり、さくらインターネット株式会社様とは一切関係ございません。
  • 無保証です(LICENSE)。
  • Issue、PR、フォークは歓迎いたします。

About

さくらのレンタルサーバを借りたとき最初にすること

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages