さくらのVPS 1Gに乗り換えました

さくらのVPS 1G が 512MBのプランと同じ価格で利用できるそうなので乗り換えました。これをきっかけにUbuntuからCentOSを使用することにしました。
乗り換えるにあたり初期設定を行ったので、作業メモを残しておきます。ただし参考にした記事とほとんど同じ内容ですが。

sshdの起動

ローカルの端末からsshで操作できるように
リモートコンソールからsshdの起動しておく。

$ sudo service sshd start

端末からログインできるようにする

sshの設定ファイルを書いてローカルの端末から簡単にログインできるようにしておく。

 $ vi  ~/.ssh/config

内容は次のような感じ。

host sakura
	hostname <ホスト名>
	port 22
	compression yes

次から以下のようなコマンドでログインできるようになる。

$ ssh -l root sakura

作業用ユーザーの作成

ssh接続するときは必要な時以外はrootユーザーは使用しない。
そのため、別の作業用ユーザーを作成する。

# useradd foo
# passwd foo
# usermod -G wheel foo

wheelグループのユーザーはすべてのコマンドを使用することができるようにする。

# visudo

で vi が起動するので、%wheel のコメントを外す。

%wheel        ALL=(ALL)       ALL

作業用ユーザーを作成したらローカル端末からログインできることを確認する。

$ ssh -l foo sakura

鍵の作成と登録

ローカル端末の公開鍵を登録する。
鍵を作っていなかったらssh-keygenで作成しておく。

$ ssh-keygen

ローカル端末の公開鍵をコピーする。

$ ssh-copy-id sakura

sshのセキュリティを高めるためにサーバー側の設定を変更する。

$ sudo vi /etc/ssh/sshd_config

ほとんどの設定が#でコメントアウトされているので#を削除して設定を書き換える。変更点は次の通り。

ポート番号を22から別のものに変更(例として22222にする場合)

Port 22222

ルートユーザーによるログインを禁止する。

PermitRootLogin no

パスワードによる認証を禁止する。

PasswordAuthentication no

設定ファイルを編集したらsshdを再起動。

$ sudo service sshd restart

ローカル端末から接続できることを確認する。
ポート番号を変えた場合は、先の手順で作成した ~/.ssh/config の port を変更しておくこと。

iptablesの設定

不要なポートを閉じるにiptablesを設定する。
sshのポート番号を変更している場合はそのポート番号も許可する必要があるので注意。

設定をシェルスクリプトに記述する。

$ vi iptables.sh
#!/bin/sh

iptables -P INPUT ACCEPT
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 10.0.0.0/8 -j DROP
iptables -A INPUT -s 172.16.0.0/12 -j DROP
iptables -A INPUT -s 192.168.0.0/16 -j DROP
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j LOG --log-level info --log-prefix "[iptables] "
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -L -v

設定を有効にしたあと、保存する。

$ sudo sh iptables.sh
$ sudo service iptables save