自社の「ワンデー仕事体験」プログラムを改善する話
昨年度、社内チームメンバーと協力して、自社の「ワンデー仕事体験」のプログラムを作成しました。
(その際のQiita記事はこちら)https://qiita.com/hori-ap099/items/a7e94fd4f2107be1cdd6
今年度は、作成した「ワンデー仕事体験」プログラムで発生した課題を改善したので、改善内容と躓いた点などを記載しようと思います。
発生した課題と改善案
ワンデー仕事体験は、学生にハッキングを体験してもらう性質上、隔離されたネットワークを毎回構築しております。
また、windows10のPCでは、コンピュータのセキュリティ対策ソフトを落とす作業も行っており、慣れている人でも準備に1時間以上掛かっております。
設定ミスがあった場合ワンデー仕事体験中に疎通できなくなるなどの問題もあり
・準備に時間が掛かってしまう点
・設定ミスを起こさないようにする点
を早めに解決する必要がありました。
そのため改善案としては、"設定が固定できる環境"を用意することで、準備に掛かる時間も同時に短縮できるので、AWS上に環境を構築、ワンデー仕事体験の際にRDPで接続するようにする方針となりました。
この改善で、1時間以上かかっていた準備が30分も掛からず完了する見込みとなっております。
検証環境
検証の為、インターネットゲートウェイとPublic subnet間は3389/TCPのみ許可し、
Public subnetとPrivate subnet間は特に通信制限を設けない設定にしました。
検証時の問題点
検証中に発生した大きな問題としては、Kali LinuxからWindowsデスクトップのスクリーンショットを撮る検証をしていた際、スクリーンショットが撮れない問題がありました。
明確な原因は不明でしたが、RDPが接続された状態でスクリーンショットが撮れない、もしくは仮想環境上ではスクリーンショットが撮れない等の原因が考えられた為、
Kali Linuxからscreenshot
コマンドを実行する形から、Windows内にpowershellのマクロを用意し、スクリーンショットを撮る方法に変更しました。
手順
前提:Kali LinuxとWindowsのsessionが確立している状態
1.Kali Linuxでshell
を実行し、Windowsに入る
2.powershell xxxx.ps1 yyyy.png
でpowershellのマクロを実行
3.exit
でKali Linuxに戻り、download yyyy.png
でスクリーンショットしたファイルをダウンロードする
powershellのマクロ
# screenshot-primary.ps1
# From https://stackoverflow.com/questions/2969321/how-can-i-do-a-screen-capture-in-windows-powershell
Add-Type -AssemblyName System.Windows.Forms,System.Drawing
$screen = [Windows.Forms.Screen]::PrimaryScreen
$top = $screen.Bounds.Top
$left = $screen.Bounds.Left
#$right = $screen.Bounds.Right
#$bottom = $screen.Bounds.Bottom
$right = 2000 #幅のサイズを指定する
$bottom = 2000 #高さのサイズを指定する
$bounds = [Drawing.Rectangle]::FromLTRB($left, $top, $right, $bottom)
$bmp = New-Object System.Drawing.Bitmap ([int]$bounds.width), ([int]$bounds.height)
$graphics = [Drawing.Graphics]::FromImage($bmp)
$graphics.CopyFromScreen($bounds.Location, [Drawing.Point]::Empty, $bounds.size)
$bmp.Save($Args[0])
$graphics.Dispose()
$bmp.Dispose() >
今回の件で学んだこと
私個人の話になってしまいますが、AWSの環境を触ることがあまり無かったため、環境構築と検証は良い刺激になりました。
この規模でも環境をAWSに移行する際には、決めることや問題が発生する点等、擬似的なAWSへの移行案件を実施した気分です。
今後も社内や個人でAWS含め経験できることがあれば実施していきたいと思います。