さくらVPSの初期設定

VPSにアクセス

以下のコマンドでVPSにアクセスする.

$ ssh root@IPaddress

rootのパスワードを変更する.

# passwd #新しいパスワードを入力

ポート番号の変更

ポート番号を22(デフォルト)から10022に変更をする.

# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org #オリジナルをバックアップ
# vim /etc/ssh/sshd_config

以下のように編集.

#Port 22
Port 10022

sshを再起動.

# service sshd restart 

これで次からは以下のようにポート番号を指定してログインする.

$ ssh -p 10022 root@IPaddress

ユーザの作成

ユーザの作成とパスワードの変更をする.

# useradd username #ユーザの追加
# passwd username #追加したユーザのパスワードを変更

ユーザをwheelグループに所属させて,sudoとsuコマンドが使えるようにする.

# usermod -G wheel username
# visudo

以下のように変更する.

## Allows people in group wheel to run all commands
%wheel        ALL=(ALL)       ALL

ここからは次のように,rootではなく,作成したユーザを用いてアクセスする.

$ ssh -p 10022 username@IPaddress

鍵認証の設定

クライアント側で秘密鍵と公開鍵を生成する.

$ ssh-keygen -t rsa -C "email@example.com" #パスワードを入力.

~/.ssh秘密鍵id_rsaと公開鍵id_rsa.pubが作成される.

作成した公開鍵をVPSに転送する.

$ scp -P 10022 ~/.ssh/id_rsa.pub username@IPaddress:~/

VPS側で~/.ssh以下にauthorized_keysという名前で置く.

$ mkdir .ssh
$ mv id_rsa.pub .ssh/authorized_keys

パーミッションの変更をする.

$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys

これで,以下のコマンドでログインしてもパスワードを聞かれない.

$ ssh -p 10022 aa_debdeb@160.16.55.217

ログインの制限

セキュリティのために鍵認証のみを用いるようにする. またrootでログイン出来ないようにする.

$ sudo vim /etc/ssh/sshd_config
# PasswordAuthentification yes
PasswordAuthentification no #パスワードではログインできなくする
# PermitRootLogin yes
PermitRootLogin no #rootではログインできなくなる

sshを再起動する.

$ sudo servide sshd restart

パッケージのアップデート

パッケージを最新版にアップデートする.

$ sudo yum update

Firewallの設定

iptablesを使って,ファイアーウォールの設定をする

$ sudo vim /etc/sysconfig/iptables

以下の内容を記述する.

*filter
:INPUT   ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT  ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10022  -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

iptablesを起動して,確認する.

$ sudo service iptables start #起動
$ sudo iptables -L #設定の確認

以上で初期設定完了.

参考