はじめに
たまには会社のサービスの使い方を書いてみようと思った記事です。
さくらのクラウドを使うことでWindowsやLinuxの環境を簡単に作成することができます。用途は様々ですが、ここではトレーニング環境を提供するという想定をしてみます。
特にセキュリティベンダーの方はトレーニング環境を提供するにあたり、安全なトレーニング環境の構築に苦慮していることと思います。場合によってはマルウェアや攻撃ツール、実際の攻撃パケットを扱う可能性もあり、それらが外部に漏洩しないかという点においてかなり苦労しているのではないでしょうか。
また、受講者のレベルによってはSSHやリモートデスクトップで接続することも難しいという場合もあると思います。そんな場合にさくらのクラウドの機能が役に立つかもしれません。
トレーニング環境の構築
環境そのものはIaaSですので簡単に構築できます。ここでは細かい点は以下のマニュアルを参照いただくことにします。
そして接続にSSHやRDPを使う(受講者がSSHやRDPのクライアントを難なく使える)ということであれば、もうこの記事を読む必要はありません。どうぞ他の有用な記事をご覧ください。
本記事では受講者の環境が人によって異なり、例えばmacからRDP接続の方法がわからないといった問題が発生しうる場合を想定します。
この場合の解決方法は2つあります。1つは利用者を頑張ってサポートすることですが、これはオフラインならともかく、オンラインで行う場合はかなり大変です。
コンソールアクセス
そこでもう1つの方法である、マシンのコンソールに直接アクセスしてもらうという方法です。この方法にはいくつかのメリットがあります。
- 利用者の環境に依存しない。
利用者はブラウザさえあればアクセス可能です。RDPやSSHのクライアントを用意する必要がなく、誰でも使っているであろうブラウザだけで受講することが可能になります。 - SSHやRDPを許可しないことで、簡単なパスワードでも安全が確保できる(要パケットフィルタ)
さくらのクラウドでサーバを作ると、グローバルIPアドレスが割り当てられます。この場合外部からログインされる恐れがあるため、パスワードはそれなりに複雑もしくは長くする必要があります。コンソールアクセスを前提とするならば、RDPやSSHのポートはブロックできますので、パスワードが弱くても問題ありません。Windowsであればパスワードなしに設定しても良いでしょう。
もちろんデメリットもあります。コンソールアクセスはどうしてもレスポンスが遅くなります。操作に若干の遅れが出てしまうのはデメリットになります。これを許容できない場合はコンソールアクセスは使うべきではありません。
さくらのクラウドではシングルサーバコントロールパネルという機能を提供しています。これを使って受講者ごとに1台ずつサーバを割り当ててみます。
実際の手順
まず、受講者用のサーバを用意します。そしてパケットフィルタで全ポートへのアクセスを遮断します。
以下は設定可能なフィルタすべてで拒否する例です。許可が必要な場合は適宜許可する設定を追加してください。なお、すべてのルールにマッチしなかったパケットは許可される点に注意してください。
次にAPIキーを作成します。シングルサーバAPIキーを選択し、アクセスレベルは電源操作にする必要があります。紐づけサーバに受講者に割り当てたいサーバを選んでください。
次の画面でアクセストークンとアクセストークンシークレットが表示されます。
これを以下のページで入力します。
これでコンソールへのアクセスが可能になります。
受講者の数だけこの操作を繰り返すことで、個人にサーバを割り当てることが可能になります。
後始末
トレーニングが終わったら、忘れずにAPIキーを削除するか、アクセスレベルを変更してください。