web-key

port番号を変更してVPSサーバーのセキュリティを高める【ConohaVPS + kusanagi】

ConohaVPS + kusanagi環境でのセキュリティ対策第2弾。

今回はport番号の変更です。

前回と違ってかなり簡単。サクサク進めていきましょう。前回の記事の作業を行なっていない方は、上記の記事(rootログインを禁止する)から進めてくださいね!

前提条件

  • 新規ユーザーを追加し、rootログインを禁止している
  • VPSサーバーを追加時に、オプションで『接続許可ポート』を特に弄っていない

ユーザー名は『tomato』、ipアドレスは『133.130.120.164』で固定して紹介しています。
適宜自分に合ったユーザー名及びipアドレスに変更してください。

port番号ってなに?

web-key

最低限の知識として覚えておきましょう。

port番号
インターネットで標準的に用いられるプロトコルであるTCP/IPにおいて、同じコンピュータ内で動作する複数のソフトウェアのどれが通信するかを指定するための番号。

簡単に言えば、ネットワーク接続を行う際の”扉”の様なものです。

そのままで何がマズイの?って話なんですが、特に特殊な操作をしない限り、SSH接続を行うport番号は22で固定化されます。
泥棒は、家宅に侵入する際に入り口を探すわけですが、特にセキュリティ対策を行なっていない場合、入れそうな侵入口が外側から丸見えになっているわけです。

 

つまり今回の対策は、ポート番号を変更することによって、入り口を分かり難くし、セキュリティを高めようって作戦ですね。

ポート番号の変更手順

まずは、いつも通りSSH接続を行います。

前回、上記の記事でrootログインを禁止してしまったので、以下の手順でログインします。

ssh tomato@133.130.120.164

続いて、新しく設定するポート番号を決めましょう。

ポート番号を考える

ポート番号は0番~65535番の間で自由に選ぶことができます。

が、うち0番~1023番は既に使用されているport番号である事が多いため、1024~65535番の間でチョイスするのが無難なようです。

ま、暗記するようなモノでも無いですし、適当に選びましょう。

今回はなんとなく”29870”にする事にします。

 

まずは、port番号が既に使われていないかどうか確認します。

sudo lsof -i:29870
ざっくり解説

  • sudo : 管理者権限でコマンドを実行
  • lsof -i ~ : 指定したポート番号の状態を調べる

port-lsof

こんな感じで特に何も表示されなかったら使用されていないと考えてOKです。

ポート番号を変更する

早速ポート番号を変更していきます。

ユーザーにログインした状態で、下記コマンドを打ち込みます。

sudo vim /etc/ssh/sshd_config

お馴染みのvimコマンドです。

 

「aキー」を押して挿入モードに変えた後、下記内容を書き換えます。

17行目あたりにある

#Port 22

Port 29870

に変更。先頭の#を外し、デフォルトである22を任意の数字に変えるだけです。

書き換えが終わったら、「escキー」を押して挿入モードを終了し、『:wq』と打ち込んで上書き保存します。

vim簡単解説

  • aキー : 挿入モードに切り替え
  • ESCキー:挿入モード終了
  • uキー:一つ前の処理に戻す
  • :wq:上書き保存する

保存し終えたら、sshdを再起動。

systemctl restart sshd.service

以上で終わりっ!

以降、SSH、SFTP接続でログインするときはポート番号を指定してログインします。

指定したポート番号でログイン出来るか確認する

まずは通常通りポート指定をせずにログインしてみましょう。

ssh tomato@133.130.120.164

すると….

port-change

Oops!「Connection refused」と表示され入る事ができません。

 

接続を行うためには、下記のように新しいポート番号( -p 〇〇 )を加える必要があります。

ssh tomato@133.130.120.164 -p 29870

この様に打ち込めば接続可能なはずです。

 

portの設定を終えたら、次回は大詰めの鍵認証!

パスワードログインを禁止し、一般ユーザー&鍵認証でのログインを設定していきます。

関連記事