KITA Eng.

北海道でサーバー技術者として歩み出したひとが綴るblog。

Cloud Garageの「接続許可(詳細設定)」でサーバーを守る

特定非営利活動法人Kacotamの内部用ポータルシステムの開発・運用等を担当させてもらっています(2017年5月からシステム稼働)。 このシステムのインフラ部分として、2017年9月からCloud Garage Dev Assist Program (DAP)での支援を受けています。 2017年7月から始まった新しいクラウドサーバーのサービスですが、これまで大きな障害等なく快適に使えています。

サービス開始当初は最小限の機能でのスタートでしたが、ついにCloud Garageにもインスタンス管理画面上で任意のポートに対する接続許可設定ができるようになっていました。

2018.10.05 新機能追加のお知らせ(接続許可 詳細設定)
従来のCloudGarageでは、未使用ポートへの不正アクセス防止のために、特定の開放ポートを選択して制限する方法をとっていましたが、今回のアップデートにより任意のプロトコル、ポート番号、送信元IPアドレスを指定できるようになりました。コントロールパネル上での簡単な操作で、より高いセキュリティレベルでの運用が可能になりましたので、ぜひご活用ください。 cloudgarage.jp

この機能ができるまでは、SSHの接続ポートを標準の22から変更している場合や、特定のIPからのみ全ポートを許可するなどをしたい場合は、インスタンスの管理画面上では、「全解放」にして、インスタンス内でiptablesなどを使って設定する必要がありました。

サーバー上での設定は、インスタンス作成直後や設定ミスで漏れが発生することもあるので、管理画面上からできるのは◎です

早速設定してみた

Cloud Garageのコントロールパネルはシンプルな作りなので、すぐに見つけられるような気がしますが、一応画面付きで順を追って紹介します。 一部、インスタンスの情報やIPアドレスの部分はマスクしています。

1. 変更するインスタンスの詳細画面を表示する

Cloud Garageのログイン画面からログインすると最初に表示される、インスタンスの一覧表示画面から、接続許可設定を変更したいインスタンス名をクリックする。 f:id:kacchan822:20181019133436p:plain

2. 接続許可設定のダイアログを表示する

インスタンス詳細画面の右下にある、「接続許可設定」の鉛筆アイコンをクリックする。 f:id:kacchan822:20181019133439p:plain

3. 接続許可「詳細設定」を行う

「かんたん設定」の範囲以外のポートを空けていたので、「全解放」のラジオボタンが選択されていました。 f:id:kacchan822:20181019133441p:plain

中央にある「詳細設定」のラジオボタンをクリックすると、ルールを入力できるようになります。
親切に説明があるように、ポートを範囲で指定したり、IPアドレスをブロック単位で指定することもできます。 f:id:kacchan822:20181019133444p:plain

入力ができたら、「更新」ボタンをクリックして保存します。

4. インスタンスの詳細画面で確認

正常に設定が完了すると、インスタンスの詳細画面の右下にある「接続許可設定」の部分に設定内容がリスト表示されています。 f:id:kacchan822:20181019133447p:plain

で、どうなの?

インスタンス内での設定は、iptablesのフロントとして、UFWを利用していて、ブロックしたパケットがあるとログに出るようにしています。ログを見ていると毎日毎日あらゆるところから、開いてもいない22や21、25への接続が来ていました(開いてないからつながりはしないけれど....)。
今回の「接続許可(詳細設定)」の設定後は、UFWのログに記録されるブロックパケットが皆無になりました。

Docker-composeを利用していると、ポートバインドの記述ミスで、UFWでは制限をかけていても、docker側のフォワードの関係でつながってしまう状況が発生してしまうこともあり得ます。
インスタンスに届く前で通信を制限してもらえることで、そういったミスの際のリスクを回避することができるので、ステキです!

(編集後記)

すっかりご無沙汰しておりました。
2017年から特定非営利活動法人Kacotamにて、システム開発室室長の銘を受けていました。
2017年春に、団体WEBページのリニューアル、内部向けポータルサイトの稼働などがあり、わたわたとした1年でした。
これまでは、僕自身を含め、Kacotamの主たる活動の学習支援活動と兼務でのメンバーばかりでしたが、最近開発室専従のメンバーが加わり始めました。
子どもの福祉に関わるNPOで、システム開発室を自前で持っているところはないと思うので、少しでも情報発信して行けたらなと考えています。
(後々専用のTech Blogができるかもですが、)しばらくは、Kita Eng. からお伝えしていきます。関連記事には、Kacotam-Si-Teamのタグをつけるようにしていきます。