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