さくらVPSでセキュリティ関連の設定をする(SSH編)
さくらインターネットのVPSでSSHの設定をしたときのメモ。サーバーのOSはCentOS、クライアントはWindows。
VPSの契約が完了すると「[さくらのVPS] 仮登録完了のお知らせ」というメールが届く。そこに書かれているIPアドレス、初期パスワードを使う。
SSH関連で設定すること
1. WEBのVPSコントロールパネルからrootのパスワードの変更と、ログインユーザーを作成する
(1) 「VPSコントロールパネル」にログインしVPSを起動する
仮登録完了のメールに書いてある通り、初期状態ではVPSは停止状態になっているので、WEBページのUIからVPSを起動する。以下のURLにアクセスして、メールに書いてあるIPアドレスとパスワードを入力。
https://secure.sakura.ad.jp/vpscontrol/
「仮想サーバ操作」で、[起動]ボタンを押す。ステータスが「起動中」になったことを確認。
(2) rootのパスワードを変更する
SSHクライアントにIPアドレス(メールに書いてある)、アカウント(root)、パスワード(メールに書いてある)を入力してSSH2でログインする。そして、passwdコマンドでrootのパスワードを変更する。
[root@server ~]# passwd Changing password for user root. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
(3) 通常使うユーザーを作成する
adduserコマンドでユーザーを作成する。
# -D オプションで、デフォルトでどんなユーザーが作られるか確認 [root@server ~]# adduser -D GROUP=100 # 100はusersグループを意味する。「cat /etc/group」コマンドで確認できる。 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
# スーパーユーザー(root)特権を得ることのできるグループを設定 [root@server ~]# visudo ... # この行のコメントアウトを外して保存 %wheel ALL=(ALL) ALL ...
# ユーザーの追加とグループ、パスワードの設定 [root@server ~]# adduser ユーザー名 [root@server ~]# usermod -G wheel ユーザー名 # wheelグループへ追加 [root@server ~]# id ユーザー名 # グループの確認 uid=500(ユーザー名) gid=500(ユーザー名) groups=500(ユーザー名),10(wheel) [root@server ~]# passwd ユーザー名 Changing password for user ユーザー名. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
これで、いったんexitコマンドでサーバーとの接続を切って、新しく作成したユーザーでログインできれば成功。
2. RSA公開鍵のファイルを作成してサーバーに配置する
パスワード認証だと外部からの攻撃でクラックされる可能性があるため、安全性の高いRSA公開鍵認証を使えるようにする。
(1) クライアント(ローカル環境)でRSA鍵を作成する
SSHクライアント(自分の場合はPoderosa)のメニューから、SSH鍵を作成する。アルゴリズムはRSA、ビット数は2048、適当なパスワードを指定して実行。「秘密鍵を名前をつけて保存」でsitename.ppk、「OpenSSH形式で公開鍵を名前をつけて保存」でsitename-openssh.pubというファイル名で保存。
(2) サーバーに公開鍵のファイルを配置する
サーバーで以下のコマンドを実行する。
$ mkdir ~/.ssh # 鍵を配置する.sshディレクトリを作成 $ chmod 700 ~/.ssh # 読み書き実行権限を付ける $ cd ~/.ssh $ touch authorized_keys # 公開鍵のファイルを作成 $ chmod 600 ~/.ssh/authorized_keys# 読み書き権限を付ける
そして、authorized_keysファイルを開き、(1)で作成したsitename-openssh.pubの内容をコピペして保存する
$ vi authorized_keys #
ssh-rsa XXXXXXXX... # (1)で作成したsitename-openssh.pubの内容をコピペして保存する
3. RSA公開鍵認証を有効にする設定、rootでのログインを禁止する設定をする
(1) sshd_configを編集する
$ su - # rootになる # vi /etc/ssh/sshd_config # sshの設定を編集 PermitRootLogin no # rootでのログインを禁止 RSAAuthentication yes # RSA認証を許可 PubkeyAuthentication yes # 公開鍵認証を許可 AuthorizedKeysFile .ssh/authorized_keys # 認証鍵ファイルを指定 PermitEmptyPasswords no # パスワードなしのログインを禁止 PasswordAuthentication no # パスワード認証を禁止 # /etc/rc.d/init.d/sshd restart # SSHサービスを再起動して設定を反映