VPSのセキュリティを強化する設定を行おう(前編)

サーバーは攻撃や不正アクセスのターゲットにされやすいので、セキュリティ対策を行って、トラブルを防ぐ必要があります。セキュリティに関する設定は多岐にわたりますが、今回と次回の記事で、最低限必要な設定を紹介します。

 

 

■作業用ユーザーの作成

■作業用ユーザーにsudoコマンドの実行を許可する

■キーペアの作成

■公開鍵のアップロードと設定

■SSH/SFTPの接続確認

 

 

■作業用ユーザーの作成

ここまでの回では、rootユーザーでVPSにログインして作業を行ってきました。しかし、これはセキュリティ的に好ましくありません。

rootユーザーは「root権限」を持っています。root権限は、サーバーに対する操作を何でも行うことができ、非常に強力な権限です。そのため、使い方を誤ると、OSを壊してしまう恐れもあります。

そこで、作業用のユーザーを作成して、通常の作業はそのユーザーで行うようにします。そして、root権限が必要な時だけ、一時的にrootユーザーに切り替えるようにします。

CentOS 6でユーザーを作成するには、「useradd」というコマンドを実行します。例えば、「taro」というユーザーを作成するには、次のコマンドを入力します。「-G wheel」は、「taro」ユーザーを「wheel」というグループに属させることを意味します。wheelグループは、一般に管理者用のグループとされています。

 

リスト 「taro」ユーザーの作成

useradd -G wheel taro

 

次に、「passwd」というコマンドを使って、作業用ユーザーにパスワードを設定します。例えば、上のように「taro」ユーザーを作成した場合だと、次のコマンドを入力します。

 

リスト 「taro」ユーザーにパスワードを設定する

passwd taro

 

「New password:」というプロンプトが表示されますので、パスワードを決めて入力します。次に、「Retype new password:」と表示されますので、同じパスワードをもう一度入力します。

 

 

■作業用ユーザーにsudoコマンドの実行を許可する

作業用ユーザーはroot権限を持っていません。そこで、root権限が必要な作業をするときだけ、「sudo」というコマンドを使って、一時的にroot権限を得るようにします。

sudoコマンドを使えるようにするには、sudo用の設定ファイルを書き換えます。これには「visudo」というコマンドを実行します。すると、テキストエディタのような状態になりますので、下カーソルキーで下にスクロールしていき、次の行を見つけます。

 

リスト sudoの設定ファイルの中で探す行

# %wheel   ALL=(ALL)       ALL

 

この行が見つかったら、カーソルキーでこの行の先頭にカーソルを移動させ、「x」のキーを2回押して、先頭の「#」とその次のスペースを削除し、次のように書き換えます。

 

リスト 「%wheel…」の行の書き換え後

%wheel   ALL=(ALL)       ALL

 

ここまでが終わったら、「:wq」と入力して、設定ファイルを保存して終了します。

 

■キーペアの作成

ここまでで作成したユーザーでログインするために、キーペアを作成します。

 

・Windowsの場合

Windowsでは、「Git for Windows」を使うと比較的簡単です。まず、次のアドレスからGit for Windowsをダウンロードし、インストールします。

 

https://git-for-windows.github.io/

 

この後、以下の手順でキーペアを作成します。

 

①スタートボタン→「すべてのプログラム」→「Windowsシステムツール」→「コマンドプロンプト」メニューを選び、コマンドプロンプトを起動します。

②「cd “C:\Program Files\Git\usr\bin”」のコマンドを実行します。

③「ssh-keygen」のコマンドを実行します。

④「Enter file in which to save the key」のプロンプトに対し、Enterキーを押します。

⑤「Enter passphrase (empty for no passphrase):」のプロンプトに対し、Enterキーを押します。

⑥「Enter same passphrase again:」のプロンプトに対し、Enterキーを押します。

⑦エクスプローラでCドライブ→「ユーザー」→自分のユーザー名→「.ssh」の順にフォルダを開きます。

⑦「id_rsa」と「id_rsa.pub」の2つのファイルがキーペアです。

 

・Macの場合

Macでは次の手順でキーペアを作成します。

①Finderで「移動」→「ユーティリティ」メニューを選び、「ユーティリティ」のフォルダを開きます。

②①のフォルダの中の「ターミナル」をダブルクリックして起動します。

③「ssh-keygen」のコマンドを実行します。

④「Enter file in which to save the key」のプロンプトに対し、Enterキーを押します。

⑤「Enter passphrase (empty for no passphrase):」のプロンプトに対し、Enterキーを押します。

⑥「Enter same passphrase again:」のプロンプトに対し、Enterキーを押します。

⑦「mv ~/.ssh ~/ssh」のコマンドを実行します。

⑧Finederで「移動」→「ホーム」を選び、「ホーム」フォルダを開きます。

⑨「ホーム」フォルダの中の「ssh」フォルダに、「id_rsa」と「id_rsa.pub」のキーペアのファイルができます。

 

 

■公開鍵のアップロードと設定

キーペアのうち、公開鍵(id_rsa.pubファイル)をVPSにアップロードし、設定を行います。手順は次の通りです。

 

①VPSにSSHで接続します。

②「sudo -u ユーザー名 mkdir /home/ユーザー名/.ssh」のコマンドを実行します。例えば、作成したユーザー名が「taro」の場合、「sudo -u taro mkdir /home/taro/.ssh」コマンドを実行します。

③VPSにSFTPで接続し、「home」ディレクトリ→ユーザー名のディレクトリ→「.ssh」ディレクトリに接続して、先ほど作成したid_rsa.pubファイルをアップロードします。

④アップロードしたファイルの名前を「authorized_keys」に変えます。

④SSHで「sudo chown ユーザー名:ユーザー名 /home/ユーザー名/.ssh/authorized_keys」のコマンドを実行します(「ユーザー名」は実際のユーザー名に置き換えます)。

⑤SSHで「sudo chmod 600 /home/ユーザー名/.ssh/authorized_keys」のコマンドを実行します(「ユーザー名」は実際のユーザー名に置き換えます)。

 

 

■SSH/SFTPの接続確認

ここまでで、SSHやSFTPを使って、作業用ユーザーでVPSにログインできる状態になりました。キーペアの2つのファイルのうち、「id_rsa」ファイルをログインの際に使います。

例えば、WindowsのTeraTermを使って、作業用ユーザーでログインするには、次の手順を取ります。

 

①TeraTermを起動し、VPSのIPアドレスを入力して接続します。

②「SSH認証」のダイアログボックスが開きますので「ユーザ名」の欄に作業用ユーザーのユーザー名を入力します。

③「RSA/DSA/ECDSA/ED25519鍵を使う」をオンにし、その右の「秘密鍵」のボタンをクリックします。

④ファイル選択ダイアログボックスが開きますので、Cドライブ→「ユーザー」→自分のユーザー名→「.ssh」の順にフォルダを開き、その中の「id_rsa」ファイルを選択して開きます。

 

 

 

 

うちだ
サービスクリエーション本部所属        (監修:とみなが)       

オススメ記事

関連サービス

VPS VPSクラウド