さくらVPSを(お試し)契約したのでSSH周りの設定をする

Linux
スポンサーリンク

 

現在鋭意制作中のポケモン努力値調整ツールを載せるようのサーバを探していたのですが、結局のところVPS界でかなり有名なさくらVPSを使用してみることにしました。

決めては2週間無料期間。

これでPythonを動かしてみて、ダメだったら解約できるのはかなりのアドバンテージです。

申し込みをしたら一瞬でサーバを作成してくれるので、開発のタイムラグがないのも良かったです。

 

ただし、デフォルトのSSH周りは22ポートを使っていたり、プレーンパスワード認証を使用していたり、rootでログインできたりと

セキュリティ的にあまりよろしくない環境なので、そのあたりの設定を変更してみます。

 

スポンサーリンク

やったことまとめ

yum update

サーバを立てたらまず初めにすること。yum update。

WindowsをインストールしたらWindows Updateするのと同じですね。

変にセキュリティホールの残したソフトウェア使うのも嫌ですしね。

# yum update

Transaction Summary
=============================================
 Install    2 Packages (+3 Dependent packages)
 Upgrade  258 Packages

お作法ですね。

 

グループ/ユーザーの追加

デフォルトだとrootユーザーしかありません。

自分だけが使うのであればrootユーザーでも問題ないかもしれませんが、グローバル経由でrootユーザーにログインするのは怖いですし、何でもかんでもrootユーザーでやるのは運用上・セキュリティ上あんまり良くないですしね。

というわけで平時運用ユーザーを作成します。

 

グループの作成

localユーザーをグルーピングする用のグループを作成。

今のところ私1人しか使用するサーバではないですが、もし共同開発とかになってユーザーを追加することになった時に整理がめんどくさくなりますので。

gidはてきとう。使わなさそうな番号を選択。

# groupadd -g 101 localuser

 

ユーザー追加

ユーザーの追加です。

色々オプションを付けてますが、まあほぼ要らないです。

# useradd -u 1503 -g 101 -d "/home/username" -c "PUBLIC USER" -s /bin/bash username

これでユーザー作成完了。

今後はこのユーザーを使用して色々作業することとします。

 

パスワード変更

ユーザーを作成してもパスワードがないとログインできません。

ので、パスワードの設定。

# passwd username

間違い防止のため変更するパスワードは2回聞かれます。

 

sudo権限付与

作成したユーザーにsudo権限を付与します。

rootじゃないと参照、変更できないファイルをいじるのに、いちいちrootユーザーに変更してやっていたら手間もかかるしめんどくさいですしね。

# visudo
===========
%localuser      ALL=(ALL)       ALL #追記

これで、上記で作成したlocaluserグループに属しているユーザーは全てsudoを使えるようになります。

現状は私1人ですが・・・

 

SSH鍵認証の設定

セキュリティで一番気を使わないといけないところです。

特にrootユーザーにログインされてしまった場合はサーバをぶっ壊したり、悪用されたりと何でもかんでもされてしまいます。

SSHのセキュリティを手っ取り早く強化できる方法が鍵認証によるSSHログイン方式。

鍵を持っていないとログインできなくなるので、パスワード総当たり攻撃をされても問題なくなります。

というわけでその設定。まずは秘密鍵、公開鍵を作成。

$ ssh-keygen -t rsa

~/.ssh に秘密・公開鍵のセットが作成されます。

「え、この時代にRSA?」

ってなるかもですが、これしか知らんのです・・・。

 

そして公開鍵のファイル名をリネーム。(コピー)

$ cd .ssh 
$ cp id_rsa.pub authorized_keys

あとは秘密鍵をログインするときのデバイスに持ってくればOKです。

 

sshdの設定

あとはsshdの設定をします。

主に

  • rootでのログインの禁止
  • プレーンパスワードでのログインの禁止

この2点の設定を行います。

# vi /etc/ssh/sshd_config
-----
RSAAuthentication yes   #鍵認証設定 
PubkeyAuthentication yes #鍵認証設定
AuthorizedKeysFile     .ssh/authorized_keys #公開鍵設定
PermitRootLogin no #rootログインの禁止
PasswordAuthentication no #プレーンパスワードでのログインの禁止
useDNS no #sshログイン時にDNS名前解決を利用しない

設定ファイルの編集が終わったらsshdを再起動します。

# service sshd restart

ちなみに、sshdのプロセス再起動をすると、その時点で公開鍵認証しか受け付けなくなるので、うまく鍵設定ができていない状態でプロセス再起動を実施するとログインできなくなってしまいます

必ず鍵認証ログインができることを確認してから、もしくはコンソール接続できることを確認してから実施するとよいでしょう。

 

まとめ

  • さくらVPSを試用中・・・
  • 主にSSH周りのセキュリティ強化を実施。

正直これでも完全に安心とは言えず、できればIPアドレスでのフィルタリングとかもしたいのですが、不特定のIPからSSHログインするかもしれないのでそれはできませんでした。

ポートも22から変更しておくとより良いかもですね。

それはそのうちにやっておきます。

 

取り合えずグローバルアクセスできるサーバを用意したので、作成したAPIを都度乗せ換えていく予定。

うまく動作するかテストして、よさげだったら2週間以降も使用しようかな。

コメント

タイトルとURLをコピーしました