ConoHaのVPSでサーバーを動かす
前回はVALUE SERVERというレンタル共有サーバーから、ConoHaのVPSに引っ越した話をしました。
今回以降はしばらくそのとき行った設定などのメモをしておきます。
VPSの構成
項目 | 値 |
---|---|
台数 | 1 |
プラン | メモリ 1GB/CPU 2Core |
OS | Ubuntu 20.04 |
CPUを調べてみると…
こんな感じでした。VPS=Virtual Private Serverなわけで、仮想化されたマシンだからCPUのコア数とかは実機から割り当てられた分だけだと思いますけどね。ただし、Model nameのIntel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHzというのは通常実機と同じなので、実機だと10個のコアを持っているCPUです。同一スペックだとすると、5台分(HTまで入れてインチキしてたら10台分)くらいの仮想マシンが動いてるのでしょう。1コア当たりの性能的には最新CPUの1/3~1/2くらいのようです(https://www.cpu-monkey.com/ja/cpu-intel_xeon_e5_2640_v4-642)。
ただCPUの性能よりも、「メモリが1GBしかない」というの点が格安ノートでも4GBな昨今において、極めて貧相であり、ここに適切な対応をすることが鍵になるようです。
起動後に行ったこと
VPSを起動してWebのコンソールからrootログインしたら、まずは…
一般ユーザーの追加
をしました。
聞かれたことに答えてユーザーが出来たら、そのユーザーでログインできることを確かめました。
sudoの設定
一般ユーザーでもsudoを使えないと困るので、visudoで上のユーザーがsudoで管理者権限を使用できるようにしました。rootと同じ権限を使うなら、
みたいな感じ。出来たらsudo su -みたいなコマンドで確認。これでrootのパスワードは保護できるようになるけど、逆に言えばこのユーザーのパスワードさえ分かればrootと同じ権限が得られるということなので、一長一短。とりあえず時間内であればパスワードを再度聞かれない利便性が得られる。
追加したユーザーを公開鍵認証でssh使用可能に
クライアント側で生成した公開鍵を~/.ssh/authorized_keysに追加し、クライアント側から
とすることで、公開鍵認証によるssh接続を行った。
サーバーのグローバルIPはWeb画面のVPS設定にある。接続できたらWebコンソールから離れられる。
sshdのセキュリティ保護
一旦公開鍵認証による接続の確認が出来たので、/etc/ssh/sshd_configを以下のように変更し、パスワード認証を禁止した(公開鍵認証よりセキュリティが弱いので)。
同時にユーザー名が良く知られているrootでのssh接続を禁止した。
firewall
sshdは全ての操作が出来てしまう=非常にリスクが高いので、念には念を入れて、クライアントIPによるfirewallも入れておいた。firewallはkernel由来のiptables系でも、ユーザーランドのtcpwrapperでも構築できるが、制限がなく高速なのはiptables系なので、ubuntuのiptables操作コマンドufwを使用して、設定してみました。
目標
- 自宅IPのみ全ポートincoming通信許可
- httpsのみ全アドレスincoming通信許可
- (incomingのdefaultはdenyである前提(デフォルトです))
- ロギングしない(エラーが多いので)
操作
これでsshdに挑戦してくる通信が自宅IP以外弾かれます(https(443)以外は何も入ってこれない)。
自宅からは一切の制限がなくどのポートにも繋がります。
一度設定した内容は再起動しても残ります。
確認にはhttps://www.cman.jp/network/support/port.htmlなどが使用できます。
例えばsshのポート22などが弾かれる確認などをしました。
なお、自宅のIPアドレスがちょくちょく変わる人は変わる度に設定し直さないとならず、この方法は現実的ではありません。
まとめ
自宅からVPSに直IPでssh接続できるようになりました。
それだけです。
次回はドメインを設定してみます。
ディスカッション
コメント一覧
まだ、コメントがありません