LoginSignup
13
13

More than 5 years have passed since last update.

さくらVPS初期設定メモ

Last updated at Posted at 2014-10-04

1. サーバー再起動

  • 申込完了メール記載の「VPSコントロールパネル ログイン情報」を参考に、ブラウザからVPSコントロールパネルへログイン
  • 「起動」ボタンを押して仮想サーバーを起動する
  • 「再起動」ボタンを押して仮想サーバーを再起動する(これをやらないとSSH接続ができない場合があるので必ずやる)

2. sshログイン

rootユーザーでsshログインする(0.0.0.0の部分はVPSのIPアドレスに置き換え)

$ ssh root@0.0.0.0

下記を聞かれたら「yes」と入力

Are you sure you want to continue connecting (yes/no)?

パスワードを聞かれるのでVPSのパスワードを入力

3. rootユーザーのパスワード変更

パスワード変更コマンドを入力

# passwd

新しいパスワードを入力、再入力したら完了

新しいパスワード:

一度ログアウト

# exit

新しいパスワードで再ログイン

$ ssh root@0.0.0.0

4. 一般ユーザー追加

ユーザー追加コマンドを入力(***の部分は任意のユーザー名に置き換え)

# useradd ***

パスワード変更コマンドを入力(***の部分は前述のユーザー名に置き換え)

# passwd ***

パスワードを入力、再入力したら一度ログアウト

# exit

新しいユーザー、パスワードで再ログイン

$ ssh ***@0.0.0.0

5. sudo設定

前述で追加したユーザーをwheelグループに追加(wheelグループというのはroot権限を得られる特別なユーザーグループのこと)

$ sudo usermod -G wheel ***

wheelにsudoを設定するためvisudoコマンド実行

$ sudo visudo

下記行頭の「#」を削除して保存(操作はvi)

# %wheel        ALL=(ALL)       ALL

wheel以外にsudo権限を与えない設定にする

$ sudo vi /etc/pam.d/su

下記行頭の「#」を削除して保存

# auth required pam_wheel.so use_uid

下記ファイルにも設定

$ sudo vi /etc/login.defs

最下部に下記行を追加

SU_WHEEL_ONLY yes

ssh認証鍵設定

リモートに.sshディレクトリを作る

$ mkdir ~/.ssh/
$ chmod 700 ~/.ssh/

ローカルPCで下記scpコマンドを実行してリモートに鍵設定。
id_rsa.pubが既に生成されていることが前提。
0.0.0.0にはリモートのIPアドレス、USER_NAMEには前述のユーザー名をそれぞれ入力。

$ scp ~/.ssh/id_rsa.pub root@0.0.0.0:/home/USER_NAME/.ssh/authorized_keys

またリモートに戻り、認証ファイルの所有者や権限を変更。
USER_NAMEには前述のユーザー名を入力。

$ sudo chown USER_NAME:USER_NAME ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

ssh接続を簡略化

ローカルPCで下記コマンドを実行

$ vi ~/.ssh/config

下記のような形式で記述して保存

Host test-server
    HostName        0.0.0.0
    Port            00000
    IdentityFile    ~/.ssh/id_rsa
    User            user_name

上記設定後はssh接続を簡略化できる

$ ssh test-server

sshログイン設定の変更

リモートで下記ファイルを編集

$ sudo vi /etc/ssh/sshd_config

下記のように設定して保存(sshd再起動まで)

# ポート変更(10000〜65535の間で他と被らないような数値を指定)
Port 00000

# ルートログイン禁止
PermitRootLogin no

# パスワードログイン禁止
PasswordAuthentication no

sshdを再起動するため、下記コマンドを実行

$ sudo /etc/init.d/sshd restart

ファイアウォール設定

特に何も設定されていないことを確認

$ sudo iptables -L

データを持たないパケットの接続を破棄に設定

$ sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

SYNflood攻撃と思われる接続を破棄に設定

$ sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

ステルススキャンと思われる接続を破棄に設定

$ sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

localhostからの通信とpingを許可に設定

$ sudo iptables -A INPUT -i lo -j ACCEPT
$ sudo iptables -A INPUT -p icmp -j ACCEPT

確立済みの通信を許可に設定

$ sudo iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

許可した通信以外のサーバに受信するパケットを拒否し、サーバから送信するパケットを許可に設定

$ sudo iptables -P INPUT DROP
$ sudo iptables -P OUTPUT ACCEPT

80番ポートによるhttp通信を許可

$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

前述で設定したポート番号によるssh接続を許可

$ sudo iptables -A INPUT -p tcp -m tcp --dport 00000 -j ACCEPT

iptablesの設定を設定ファイルに保存

$ service iptables save

正しく設定されていることを確認

$ sudo iptables -L

システムアップデート

yumでシステムを最新の状態にする

$ sudo yum update -y

参考サイト

http://support.sakura.ad.jp/manual/vps/start/
http://morizyun.github.io/blog/sakura-vps-centos63-ssh-setup/
http://superbrothers.hatenablog.com/entry/20090730/1248971671

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13