2013年9月21日土曜日

さくらのVPSでPlay Frameworkを動かす:iptablesの設定をする

さあVPSコントロールパネルからVPSを起動したらまずはiptablesの設定をします。

sshでのセキュリティを高めるために以下の設定を行います。

  • rootによるログインの禁止
  • パスワードによるログインの禁止
  • ポートの変更

まずはrootでログインします。

ssh root@IPアドレス -p 22

ログイン用のユーザーを作成します。

useradd USER_NAME -G wheel
passwd USER_NAME
あとで root になれるユーザを制限するために wheel に所属させておきます。

セキュリティ対策のため、もろもろ設定をしていきます。
vim /etc/ssh/sshd_config
ログインするためのポート番号を変更します。
Port SSH_PORT
rootによるログインを禁止します。
PermitRootLogin no
パスワード入力によるログインを禁止します。
PasswordAuthentication no
作成したユーザーによるsudoコマンド実行の設定を行います。
vim /etc/pam.d/su
auth required pam_wheel.so use_uid
の行のコメントアウトを外します。
vim /etc/login.defs
SU_WHEEL_ONLY yes
sudo visudo
# %wheel ALL=(ALL) ALL
の行のコメントアウトを外します。

公開鍵の設定を行っていきます。

新たに作成したユーザーのディレクトリに公開鍵を保存するためのsshフォルダを作成します。

su - USER_NAME
mkdir ~/.ssh/
chmod 700 ~/.ssh/

Macから接続するので、Terminalで次のコマンドを実行します。

ssh-keygen -f /Users/tyongeri/.ssh/id_rsa.IPアドレス

作成された公開鍵を転送します。
cd .ssh
scp id_rsa.IPアドレス.pub root@IPアドレス:/home/USER_NAME/.ssh/authorized_keys
サーバ側で再び作業をします。

su - USER_NAME
cd .ssh
sudo chown USER_NAME:USER_NAME authorized_keys
chmod 600 authorized_keys
さて、新しく作ったアカウントでsshログイン出来るか確認してみます。

ssh USER_NAME@IPアドレス -i id_rsa.IPアドレス -p 22
ついでにsudoが出来るか確認しておきます。
sudo su -
sshの設定変更を反映させます。
/etc/init.d/sshd restart
改めて変更したポートでアクセスできるか確認します。

ssh USER_NAME@IPアドレス -i id_rsa.IPアドレス -p SSH_PORT

ついでにrootでのログインが出来なくなっているか確認します。

ssh root@IPアドレス -p SSH_PORT
Macから接続する際に毎回鍵ファイルやポートの指定は手間なので、設定に記載します。

vim ~/.ssh/config
Host IPアドレス
    HostName IPアドレス
    Port SSH_PORT
    User USER_NAME
    identityfile ~/.ssh/id_rsa.IPアドレス
設定が出来ました。
ssh IPアドレス
で接続できることを確認します。


0 件のコメント:

コメントを投稿