はじめてのさくらVPS

読者です 読者をやめる 読者になる 読者になる

はじめてのさくらVPS

はじめてさくらインターネットのVPSを使用する際に必要となる情報を初心者でもわかりやすくまとめていきます。

(緊急)BIND 9.xの脆弱性(DNSサービスの停止)について(CVE-2016-2776)

ニュース

BIND 9の全バージョンに緊急の脆弱性 (CVE-2016-2776)が出ています。

以下引用

BIND 9.xにおける実装上の不具合により、namedに対する外部からのサービ ス不能(DoS)攻撃が可能となる脆弱性が、開発元のISCから発表されました。 本脆弱性により、提供者が意図しないサービスの停止が発生する可能性があ ります。

引用:https://jprs.jp/tech/security/2016-09-28-bind9-vuln-rendering.html

脆弱性のあるバージョン

本脆弱性は、BIND 9.0.0以降のすべてのバージョンのBIND 9が該当します。

・9.11系列:9.11.0a1~9.11.0rc1 ・9.10系列:9.10.0~9.10.4-P2 ・9.9系列:9.9.0~9.9.9-P2 ・上記以外の系列:9.0.x~9.8.x

バージョンの確認方法

rpm -qa | grep bind

もしくは

named -v

パッチ

該当バージョンの場合は早急にパッチの適用もしくは各ディストリビューションベンダーからリリースされる更新の適用を推奨されています。

パッチの入手先

Apacheの設定

個別設定

このページではウェブサーバーのApacheをインストール、設定を説明します。

Apacheのインストール

インストールはyumコマンド一発で完了するのでとても簡単です。sudo yum install httpdでエンターキーを押してください。

sudo yum -y install httpdという感じで、-yオプションを入れると途中の確認を全てyで返答してインストールをすることも出来ます。

 sudo yum install httpd
[sudo] password for (ユーザー名): 
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
epel/metalink                                            | 5.1 kB     00:00     
 * base: ftp.tsukuba.wide.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
base                                                     | 3.7 kB     00:00     
epel                                                                                                                | 4.3 kB     00:00     
epel/primary_db                                                                                                     | 5.9 MB     00:00     
extras                                                                                                              | 3.4 kB     00:00     
updates                                                                                                             | 3.4 kB     00:00     
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package httpd.x86_64 0:2.2.15-54.el6.centos will be インストール
--> 依存性の処理をしています: httpd-tools = 2.2.15-54.el6.centos のパッケージ: httpd-2.2.15-54.el6.centos.x86_64
--> 依存性の処理をしています: apr-util-ldap のパッケージ: httpd-2.2.15-54.el6.centos.x86_64
--> トランザクションの確認を実行しています。
---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be インストール
---> Package httpd-tools.x86_64 0:2.2.15-54.el6.centos will be インストール
--> 依存性解決を終了しました。

依存性を解決しました

===========================================================================================================================================
 パッケージ                        アーキテクチャ             バージョン                                 リポジトリー                 容量
===========================================================================================================================================
インストールしています:
 httpd                             x86_64                     2.2.15-54.el6.centos                       updates                     833 k
依存性関連でのインストールをします。:
 apr-util-ldap                     x86_64                     1.3.9-3.el6_0.1                            base                         15 k
 httpd-tools                       x86_64                     2.2.15-54.el6.centos                       updates                      79 k

トランザクションの要約
===========================================================================================================================================
インストール         3 パッケージ

総ダウンロード容量: 927 k
インストール済み容量: 3.1 M
これでいいですか? [y/N]       (yを入力してエンター)

パッケージをダウンロードしています:
(1/3): apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm                                                                     |  15 kB     00:00     
(2/3): httpd-2.2.15-54.el6.centos.x86_64.rpm                                                                        | 833 kB     00:00     
(3/3): httpd-tools-2.2.15-54.el6.centos.x86_64.rpm                                                                  |  79 kB     00:00     
-------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                       2.9 MB/s | 927 kB     00:00     
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  インストールしています  : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                       1/3 
  インストールしています  : httpd-tools-2.2.15-54.el6.centos.x86_64                                                                    2/3 
  インストールしています  : httpd-2.2.15-54.el6.centos.x86_64                                                                          3/3 
  Verifying               : httpd-tools-2.2.15-54.el6.centos.x86_64                                                                    1/3 
  Verifying               : httpd-2.2.15-54.el6.centos.x86_64                                                                          2/3 
  Verifying               : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                       3/3 

インストール:
  httpd.x86_64 0:2.2.15-54.el6.centos                                                                                                      

依存性関連をインストールしました:
  apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1                             httpd-tools.x86_64 0:2.2.15-54.el6.centos                            

完了しました!

Apacheの起動と停止と再起動

起動

起動は以下コマンドです。

sudo service httpd start
[sudo] password for (ユーザー名): 
Starting httpd:                                            [  OK  ]

ブラウザからIPアドレスでアクセスするとApacheのテストページが表示されます。

f:id:photoblg:20160903212154p:plain

停止

停止は以下のコマンドです。

sudo service httpd stop
[sudo] password for (ユーザー名): 
Stopping httpd:                                            [  OK  ]

再起動

再起動は以下のコマンドです。

sudo service httpd restart
Stopping httpd:                                            [   OK  ]
Starting httpd:                                            [   OK  ]

エラー

sudoをつけなかったり、許可されていないユーザーが実行した場合、Permission deniedとエラーになります。

service httpd start
Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]

Apacheの自動起動

確認

自動起動になっているか chkconfig --list httpd コマンドで確認。

chkconfig --list httpd
httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off

全てoffの場合は自動で起動しない。この数字はランレベルといいLinuxの動作モードの種類を表しています。

特別な場合以外は、ランレベルは特に気にしなくていいでしょう。

自動起動の設定

sudo chkconfig httpd on コマンドで自動起動の設定ができます。

sudo chkconfig httpd on

自動起動の設定をするとランレベル2、3、4、5がonになります。

chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

自動起動の停止

sudo chkconfig httpd off コマンドで自動起動を停止ができます。

sudo chkconfig httpd off

Virtualhostの設定

1台のサーバーで複数のサイトを設置したい場合はVirtualhost(バーチャルホスト)を利用します。

#NameVirtualHost *:80

↓ コメントアウトを外す

NameVirtualHost *:80

あらかじめDNS設定済みの(ドメインでこのサーバーにアクセスできるようにしてある)ドメインを設定。

ドメイン名:hoge.com ドキュメントルート: /var/www/html/hoge.com

基本

最低限の設定は以下の通りです。

<VirtualHost *:80>
    DocumentRoot  /var/www/html/hoge.com
    ServerName hoge.com
    ErrorLog logs/hoge-error_log
    CustomLog logs/hoge-access_log common
</VirtualHost>

wwwありに統一

wwwなしでアクセスがあった場合、wwwありに301リダイレクト。

<VirtualHost *:80>
    ServerName hoge.com
    RedirectMatch 301 (.*) http://www.hoge.com$1
</VirtualHost *:80>

<VirtualHost *:80>
    ServerName www.hoge.com
    DocumentRoot /var/www/html/hoge.com
    ErrorLog logs/hoge-error_log
    CustomLog logs/hoge-access_log common
</VirtualHost *:80>

wwwなしに統一

wwwありでアクセスが有った場合、wwwなしに301リダイレクト。

<VirtualHost *:80>
    ServerName www.hoge.com
    RedirectMatch 301 (.*) http://hoge.com$1
</VirtualHost *:80>

<VirtualHost *:80>
    ServerName hoge.com
    DocumentRoot /var/www/html/hoge.com
    ErrorLog logs/hoge-error_log
    CustomLog logs/hoge-access_log common
</VirtualHost *:80>

.htaccessを利用する場合

.htaccessを利用する場合はAllowOverride Allとして.htaccessによる上書き設定の許可をする必要があります。拒否する場合はAllowOverride Noneとなります。

<VirtualHost *:80>
    ServerName www.hoge.com
    DocumentRoot /var/www/html/hoge.com

     <Directory "/var/www/html/hoge.com">
        Options FollowSymlinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
     ErrorLog logs/hoge-error_log
    CustomLog logs/hoge-access_log common
</VirtualHost *:80>

設定の確認

上記の設定を反映するには、Apacheの再起動もしくはhttpd.confの再読み込みをする必要があります。しかし設定にミスがあると起動ができなくなるため再起動前に構文チェックのクセをつけましょう。

構文チェックは httpd -t コマンドでチェックができます。

異常がなければSyntax OKと表示されます。

[hoge@wwwXXXXXui ~]$ httpd -t
Syntax OK

異常がある場合Syntax error on line X of /etc/httpd/conf/httpd.confと表示されます。ここではline of ◯にある行数に問題のある記述があることがわかります。

[hoge@wwwXXXXXui ~]$ httpd -t
Syntax error on line 1 of /etc/httpd/conf/httpd.conf:
Invalid command '1#', perhaps misspelled or defined by a module not included in the server configuration

契約完了後の流れ

初期設定

さくらのVPSは全プラン2週間お試し期間があります。

申し込み後、お試し期間が開始。お試し期間終了後、自動的に本契約へ切り替わりますのでご注意ください。

申込み後の流れ

まず、申込時のメールアドレスに「お申し込み受付完了のお知らせ[会員ID]」という件名のメールが届きます。

その後、早い時には数分程度で「[さくらのVPS]仮登録完了のお知らせ」というメールが届きますが、ユーザー名や初期パスワード、IPアドレスなど重要な内容が含んでいるため控えておくことをオススメします。

※ 届かない場合は迷惑メールフォルダなどを確認してみましょう。

VPSコントロールパネルへログイン

早速、仮登録完了のお知らせに記載されているVPSコントロールパネルへログインします。

f:id:photoblg:20160826164117p:plain

ログインすると契約中のサーバー一覧が表示され、以下の内容を確認できる。

  • 標準ホスト名
  • IPv4アドレス
  • IPv6アドレス
  • ゾーン
  • CPUコア
  • メモリ
  • HDD
  • ステータス

f:id:photoblg:20160827041159p:plain

契約直後のサーバーは停止状態のため、使いはじめる時には上部のパネルもしくは個別のページで起動しなくてはならない。

サーバーの起動

まずサーバ一覧から、サーバー詳細画面に移動します。

f:id:photoblg:20160827044250p:plain

上部パネルより「起動」を選びます。

f:id:photoblg:20160827045142p:plain

確認画面が表示されるので「起動する」ボタンをクリック。しばらくすると稼働中になります。

f:id:photoblg:20160827045037p:plain:w300

VNCコンソールでサーバーにログイン

次に上部パネルの「コンソール」から「VNCコンソール(HTML5版)」を選びます。

f:id:photoblg:20160827043509p:plain

[さくらのVPS]仮登録完了のお知らせに記載の管理用ユーザのユーザー名を入力してリターンキーを押し、続けてパスワードを入力してエンターキーを押します。

f:id:photoblg:20160827050456p:plain

ログインが成功すると以下のようなメッセージが表示されます。

SAKURA Internet [Virtual Private Server SERVICE]

[root@wwwXXXX ~]$

以上で設定をする準備が整いました。続きは初期設定カテゴリのユーザーの作成に進んでください。

今後の初期設定

メモ

さくらのVPSではデフォルトでCentOSというLinuxのOSが入っています。起動しただけではウェブサーバーはインストールされていないので、ウェブサーバー(Apache)のインストールをする必要があります。

WindowsやmacOSのアプリケーション同様、インストールをしただけでは動作しないので、インストール後は起動をしないとアクセスが出来ないです。

また、起動するだけでは何かの都合でサーバーが再起動した場合など、再度ウェブサーバーを起動するまでウェブサイトにアクセスできない状態となるため、自動で起動をする設定も必要になります。

詳細は個別設定で確認してください。

お試し期間中の機能制限

お試し期間中は以下の機能制限があります。

  • OP25B設定:メール送信用ポート番号25番ポートを閉じてあります。つまりお試し期間中はサーバーからメールが送れないです。
  • 転送量制限:サーバーからの発信についてデータ転送帯域を2Mbpsに制限しています。
  • ネームサーバー:無償提供のネームサーバーは利用できません。

なお、本登録後もしくはお試し期間中でも本登録を行うと上記制限は直ちに解除されます

SSHの設定

初期設定

最初の作業はVNCコンソールで行ってきましたが、通常はSSHクライアントで操作をしていきます。

特定の端末からのみ接続できるように公開鍵と秘密鍵の作成、rootログイン禁止、ポート番号の変更など行います。

※このページではmacでの説明になります。

公開鍵と秘密鍵の作成(mac)

ターミナルでssh-keygenと入力。

ssh-keygen

鍵ファイルの保存先を聞いてきますがそのままエンター。その後パスフレーズを入力します。

Enter file in which to save the key (/Users/XXXX/.ssh/id_rsa):  

Enter passphrase (empty for no passphrase): (パスフレーズを入力)
Enter same passphrase again: (パスフレーズを入力)

公開鍵と秘密鍵が生成され完了です。

Your identification has been saved in /Users/XXXX/.ssh/id_rsa.
Your public key has been saved in /Users/XXXX/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX@pc-name.local
The key's randomart image is:
+---[RSA 2048]----+
| .= .            |
| .oB o o         |
| o  B + o .      |
|o..+ E = . +     |
|=+= + B S = .    |
|o*.. + X = o     |
|  o   * + +      |
|     o  .. .     |
|      ....       |
+----[SHA256]-----+

公開鍵の転送(mac)

XXX.XXX.XXX.XXXは転送先のIPアドレスです。hogeは作成したユーザーにあわせて変更してください。

パスワード入力後、アップロードが開始。100%になると転送完了です。

scp ~/.ssh/id_rsa.pub hoge@XXX.XXX.XXX.XXX:/home/hoge/.ssh

hoge@XXX.XXX.XXX.XXX's password: (パスワード入力)
id_rsa.pub                                                                                             100%  405     0.4KB/s   00:00  

公開鍵認証の設定(さくらVPS)

ターミナルでさくらのVPSはにSSH接続して公開鍵認証の設定を行います。

sshでサーバーにログイン

ssh -p 22 hoge@XXX.XXX.XXX.XXX

hoge@XXX.XXX.XXX.XXX's password: (パスワード入力)

SAKURA Internet [Virtual Private Server SERVICE]

格納ディレクトリのパーミッション変更〜公開鍵を別名ファイルに出力、パーミッションの変更、元ファイルの削除。

[hoge@wwwXXXXXX ~]$ chmod 700 /home/hoge/.ssh

[hoge@wwwXXXXXX ~]$ cd /home/hoge/.ssh

[hoge@wwwXXXXXX ~]$ cat id_rsa.pub >>  authorized_keys

[hoge@wwwXXXXXX ~]$ chmod 600 authorized_keys

[hoge@wwwXXXXXX ~]$ rm -f id_rsa.pub

sshの設定(さくらVPS)

[hoge@wwwXXXXXX ~]$ sudo vi /etc/ssh/sshd_config

#Port 22
↓
Port 10022

#PermitRootLogin yes
↓
PermitRootLogin no

PasswordAuthentication yes
↓
PasswordAuthentication no

#PubkeyAuthentication yes
↓
PubkeyAuthentication yes

#AuthorizedKeysFile      .ssh/authorized_keys
↓
AuthorizedKeysFile      .ssh/authorized_keys
  • Port 10022 ・・・デフォルトのポート番号22はポートスキャンなどで攻撃者に狙われる可能性が高いので変更が推奨されます。ポート番号は何番でも良いですが予約されているポート番号以外で選んでください。

参考リンク:ポート番号 - Wikipedia

  • PermitRootLogin no・・・root権限のリスクを回避するための方法の1つ。rootでのログインを出来ないようにします。

  • PasswordAuthentication no・・・パスワードによる認証を出来ないようにします。SSH接続を認証鍵を持っているユーザーのみにすることでセキュリティが高まります

  • PubkeyAuthentication yes・・・公開鍵認証の許可

  • AuthorizedKeysFile・・・認証鍵の場所

すべて編集が終わったら上書き保存。

:wq!

設定を再読み込みします。

[hoge@wwwXXXXXX ~]$ sudo /etc/rc.d/init.d/sshd reload

ssh接続(mac)

ターミナルからssh接続します。

ssh -p 10022 hoge@XXX.XXX.XXX.XXX

f:id:photoblg:20160829215011p:plain

無事接続ができれば設定は完了です。

エラーで接続できない!

ある日ターミナルから接続しようとすると・・・エラーで接続できません。

ssh -i id_rsa hoge@XXX.XXX.XXX.XXX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:********************************************(実際には文字列あり)
Please contact your system administrator.
Add correct host key in /Users/XXXX/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/XXXX/.ssh/known_hosts:15
RSA host key for XXX.XXX.XXX.XXX has changed and you have requested strict checking.
Host key verification failed.

これは安全な接続をするためにサーバーの情報(RSA公開買のフィンガープリント)をクライアント側で保持しているが、前回接続した情報と異なる場合表示されます。

ファイルの場所は以下にあります。

/Users/XXXX/.ssh/known_hosts

コマンドはssh-keygen -R ホスト名でknown_hostsの削除ができます。

ssh-keygen -R XXX.XXX.XXX.XXX
# Host XXX.XXX.XXX.XXX found: line 15
/Users/XXX/.ssh/known_hosts updated.
Original contents retained as /Users/XXX/.ssh/known_hosts.old

※今回再インストールをしたため再インストール前の公開鍵情報が残っておりエラーがでました。

メモ

他のPCでも接続したい場合は、秘密鍵をフラッシュメモリなどでコピーして利用するか、他のPC用の公開鍵と秘密鍵を作成してauthorized_keysに追加すると良いでしょう。ここでは説明を割愛します。

また、Windowsでの公開鍵と秘密鍵の作成はこちらを参考にしてみてください。

SSH接続の設定変更方法|さくらインターネット公式サポートサイト

サーバーの初期化・OS 再インストール

個別設定

さくらのVPSのサーバーの初期化には以下3種類の方法があります。

  • 標準OSインストール
  • カスタムOSインストール
  • ISOイメージインストール

OSインストールを実施するとすべての設定が初期化されます。 OSインストールを実行する場合は必ず設定ファイルや必要なファイルはバックアップをとってから実施するようにしてください。

VPSコントロールパネルの個別画面に入ると右上に「OSインストール」というメニューから選びます。

f:id:photoblg:20160830104850p:plain

標準OSインストール

ご利用プランの標準OSをインストールできます。

さくら VPSのプラン - はじめてのさくらVPS

新しいrootパスワードを入力して「設定内容を確認する」をクリック。

f:id:photoblg:20160830105351p:plain:w450

rootパスワードを念のためにメモを取り、「インストールを実行する」をクリック。

f:id:photoblg:20160830105430p:plain:w450

※HDDが複数接続されている場合は「1台目のHDDを初期化する」か「全てを初期化するか」の選択が表示されます。

画面下部に「インストールを開始しました。インストールの完了には数分程度かかりますのでしばらくお待ち下さい。サーバーの電源状態が「稼働中」になれば利用できます。」というメッセージが表示されます。

f:id:photoblg:20160830105443p:plain

カスタムOSインストール

以下ページの提供OSにあるカスタムOSの中から選ぶことができます。

さくら VPSのプラン - はじめてのさくらVPS

f:id:photoblg:20160830105134p:plain:w450

個別のインストールガイドは公式サイトを参考にしてみてください。

カスタムOSインストールガイド|さくらインターネット公式サポートサイト

ISOイメージインストール

ISOイメージインストールではご自身でインストールイメージをアップロードしてインストールすることができます。

f:id:photoblg:20160830105206p:plain:w450

アップロードする際、期限付きのアップロードユーザーを作成できます。

f:id:photoblg:20160830105313p:plain:w450

まとめ

OSインストールでは、完全に初期化をすることが可能です。必要なデータは必ず事前にバックアップを行うようにしましょう。

2週間無料でお試し