Path of MistyWind

紅茶とゲームが大好きな関西のエンジニアのひとりごと

さくらVPS(CentOS 6)にWordPressを引っ越した:サーバ基本設定編

こんにちは(・ω・)ノ 最近、ツールを試したいだとか CI環境を構築しようと思った時に、 レンタルサーバだとroot権限がなくて もだもだすることが多くなりました。

よーし、それならroot権限が使えるVPSにお引越しだ! と思い立ったのが1月下旬。 今あなたが見ているこのブログが新鯖環境です。

仕事でサーバをこちょこちょいじる機会はあったけど、 言ってもずっとアプリ部隊だったので サーバを一から設定するのは初めてでした。

自由度が高いだけに、 セキュリティも稼働も自己責任…! 最低限、人様に迷惑をかけない程度にはやらねば。

現状は何とか元気に動いているので、 サーバ構築からWordPressを動かせるようにするまでを 何記事かにまたがってまとめます。

みんな、サーバに攻撃しないでね!!!

【記事の構成について】  ・サーバ基本設定編  ←イマココ  ・運用・セキュリティ強化編  ・WordPress移行編

【サーバについて】  ・さくらVPS  ・OS:CentOS 6  ・メモリ:512MB  ・ストレージ:20GB(SSD)  ・CPU:仮想1Core

【作業用PCについて】  ・OS:Windows10  ・コンソール:PuTTY  ・SFTPクライアント:WinSCP

本記事では、 さくらVPSが使えるようになってから デフォルトで入っているものを設定する所を書きます。

この記事の内容を全て終えたら、 最低限のセキュリティ対策はされるので サーバを常時起動してもいいかなーという状態になります。 逆に、ここにある事を終えるまでは都度落とした方が良いかも。

細かいコマンドは良記事へのリンクに任せて、 ポイントしか書きません。

まずは公式がサーバの初期設定ガイドを出してくれているので、 愚直に真似よう!!

さくらのVPS サーバの初期設定ガイド|さくらインターネット公式サポートサイト

【やったこと】  1. rootユーザのパスワード変更  2. 一般ユーザ(普段作業で使用するユーザ)の作成  3. sudo利用の開放  4. 一般ユーザへのsudo利用許可(root権限付与)  5. SSH鍵の生成  6. SSH接続の設定  7. システムアップデート  8. ファイアウォール(iptables)の設定

「7. システムアップデート」は、 初めてサーバ起動した時に勝手にされました。 なので、立ち上げていきなり しばらく操作不能になるので焦らずにw

「1. rootユーザのパスワード変更」

設定を進めていくと、 rootユーザにパスワードでログインすることはなくなりますので、 小難しいイイ感じのパスワードに変更しておきましょう。

「2. 一般ユーザ(普段作業で使用するユーザ)の作成」

このユーザにroot権限を付与する流れとなるので、 普段使用に支障がない程度の、 でも安易でないパスワードにしましょう。

「3. sudo利用の開放」

デフォルトではsudoコマンドを利用できません。 wheelグループに所属しているユーザには sudo利用を許可する、という設定をここでやります。

ファイルを編集する時に viなりvimなりを使用するのですが、 文字化けしていました。 サーバのデフォルトの言語設定をしておきましょう。

さくらVPSのvimの文字化け等のバグ解消方法|monopocket blog

・変更前 LANG="C"

・変更後 LANG="ja_JP.UTF-8"

「4. 一般ユーザへのsudo利用許可」

2で作成したユーザをwheelグループに所属させます。 これでsudoが使用できるようになります。

「5. SSH鍵の生成」

ここまでは一般ユーザへログインする際に パスワード認証を使用していたかと思いますが、 パスワードがばれたらあっという間に侵入されてしまいます( なので公開鍵認証でのみログインできるようにします。

お好みのツールでSSHの鍵ペアを作ってください。 さくらのVPS サーバの初期設定ガイドではTeraTermを使用しているみたいですね。 私はPuTTYgenを使用しました。

秘密鍵は自分で大事に保管して、 作業用PCからSSH接続する際に使用します。

公開鍵は、 サーバ側のユーザのホームに.sshディレクトリを作って authorized_keysとして配置します。 .sshとauthorized_keysの権限設定には注意! 他者の権限があると認証時に失敗します。

それと、基礎のお話になってしまいますが、 鍵の「パスフレーズ」とユーザの「パスワード」は別物です。 公開鍵認証でサーバにログインする際は「パスフレーズ」を ユーザでsudoコマンドを使用する際は「パスワード」を 使うことになります。

「6. SSH接続の設定」

鍵の配置だけではまだサーバにSSH接続できません。 sshd_configを編集する必要があります。

SSHで使用するポート番号の決定  SSHのデフォルトのポート番号は22番ですが、  攻撃を受けやすいため任意のものにしましょう。  49152~65535が自由に使えるポート番号なんだって。へー Port 任意のポート番号

SSHでrootへのログイン禁止 PermitRootLogin no

・パスワード認証の無効化  これでサーバへのログインが公開鍵認証のみになります。 PasswordAuthentication no

SSHでログインできるユーザの制限  初期設定ガイドにはありませんが、私はこれを足しました。  ユーザを用途で分けて、SSHが必要なやつだけ許可する感じ。 AllowUsers 許可ユーザ1 許可ユーザ2

編集後は設定の反映(リロード)を忘れずに!

「8. ファイアウォール(iptables)の設定」

ここが基本設定で一番難関でした。 設定でパケットをどうフィルタリングするかが決まるのですが、 記述を理解しないと何が良いのか分からなくなります!

自分としてはこのページがすごく分かりやすかったです。

「さくらのVPS」導入解説 その10:iptablesの設定|Sabakura Blog

さくらのVPS サーバの初期設定ガイドでは コマンドベースで一行ずつ設定を追加していますが、 上記の引用ページではvimで設定ファイルをいじる方法が載っています。 やりやすい方でどうぞ。

ポートの制限設定もあるので、 しくると先ほどまでできていたSSH接続ができなくなったりします。

iptablesの設定は、 色んなサイトを見て、良さそうなものをマージして決めました…。 ここ、こだわるとすごそうです。

こちらも編集後は反映を忘れずに!

以上で、初期設定ガイドに沿って、 プラスアルファでサーバ基本設定が完了しました。 次回は、運用やセキュリティを強化するツール類を入れていきます!!