VPSを契約

SaaSesにあるVPSのバリエーションの中からLTを6ヶ月分契約しました。6ヶ月で驚きの2700円。
用途は決めずに契約してしまいましたがプロキシサーバかデータを暗号化してバックアップするとかそんな使い方になるんじゃないかなと思います。

OSは契約時にいくつかの中から選択できます。今回選んだのはローカルサーバでも活躍中のDebian GNU/Linux 6.0 squeeze、メモリが512MBなので32bitにしました。

契約をして準備が整うと設定報告書なるPDFがダウンロードできるようになり、その中に各種設定や接続方法が書かれています。

以下自分のための設定の記録
今回はWindows7でProderosaを使ってログインしました。
まずはログインしたらシェルがshだったのでbashに変更します。

# chsh -s /bin/bash

sudoできるようにするためにvisudoをしてユーザを追加します。

# su
# visudo
k_zoar ALL=(ALL) ALL

パスワードを自動生成のものから任意のものへ変更します。

# passwd

ようやくSSHを鍵認証にする。
まずはローカルのPoderosaにあるツールで鍵ペアを作成おきました。公開鍵はOpenSSH方式にて作成。

# mkdir ./.ssh
# cd ./.ssh
# touch authorized_keys
# nano -w authorized_keys

作成した公開鍵をxyzzyで開いて内容をコピー、Poderosa内のnanoに貼り付けました。scpで飛ばしてもいいんですよね。

念のため公開鍵のパーミッションを変更

# chmod 600 ./authorized_keys

よく設定をミスって接続できなくなるのでデフォルトの設定を残しておいた上で編集をします。

# sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old
# nano -w /etc/ssh/sshd_config

rootのログインは最初から禁止されているようだけど一応確認しておきました、パスワード認証を禁止してPAMも使用しない設定へ変更。

PermitRootLogin no
PasswordAuthentication no
UsePAM no

おもむろにsshdを再起動させる(からミスって接続できなくなる。ちゃんと設定ファイルを見直せばいいのにw)

# sudo /etc/init.d/ssh restart

現在のssh接続を保持しまたまPoderosaから新しい接続でパスワード認証がコケることと鍵認証が通ることを確認します。

ローカルサーバではやってないけどパスワードを無効化できるらしいという事を聞いたのでrootのパスワードを無効化してみる。

# passwd -l root

suしてパスワードを打ち込んでもrootになれないことを確認します。
rootになりたいときはsudo suとかすればなれるはずです。この状態でsudoのログを取ればそれなりに安心できるのかな(つまり現在sudoのログ取りは未設定)。
パスワードの無効化を解除して再度有効にするには

# passwd -fu root

とかするらしいです。オプションの表示を確認しただけで試してませんけど。

さらにアクセスできるホストを制限するといいよとのことなのでhosts.allowとhosts.denyでアクセス制限をかけます。
許可する日本のホストのリスト(ipaddr_jp)を作成して、リストに記載のものと自分のプロバイダのみがSSHに接続できるようにする(らしい<例によって教えてもらった)

# mkdir -p /etc/scripts
# cd /tmp
# wget -q http://nami.jp/ipv4bycc/cidr.txt.gz
# gunzip cidr.txt.gz
# grep ^JP cidr.txt | awk '{ print $2 }' > /etc/scripts/ipaddr_jp

作成したら/etc/hosts.allowを編集します。

# nano -w /etc/hosts.allow
sshd: %プロバイダのホストの適当な部分%
sshd: /etc/scripts/ipaddr_jp

さらに/etc/hosts.denyを編集

# nano -w /etc/hosts.deny
ALL:ALL

SSHのポートも変更したいところだったけど時間的にミスると(特にiptablesの設定が)修正できない時間帯だったので今回は見送りました。

続いて使いこなせていないscreenのインストールと設定ファイルの作成をします。設定はえっちゃんに教えてもらったものをそのまま(だったはず)。

# apt-get install screen
# touch ./.screenrc
# nano -w ./.screenrc
defencoding utf-8
encoding utf-8 utf-8
escape ^z^z
autodetach on
caption always "%{= wg} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wb}%y/%m/%d %{=b wm}%c"
startup_message off
vbell           off

適当に付いてるホストネームを適当に変更します。

# hostname zoarvps
# /etc/init.d/hostname.sh
# hostname

これで何かの下地ができたようです。