その一環で、自宅のサーバにEVE-NGをインストールして、その中でいろいろなインスタンスを稼働させてお勉強してみようと思い立ちました。
(会社の検証回線だけではどうしても柔軟に対応できないこともあるので…)
しかし、自宅にある環境はEVE-NGが公式にサポートしないHyper-V(Windows10 Pro)であり、インスタンスを無事に稼働させて、さらにインターネット接続するためにはいろいろと手を加える必要がありました。
インストールの詳細な手順はググればいろいろ出てくるので、ここではプラスアルファで必要な作業をメインに簡単にまとめてみます。
Hyper-V上にEVE-NGをインストールする
- 公式サイトにアクセスし、Free EVE Community EditionのISOファイルをミラーサイトからダウンロードします。
https://www.eve-ng.net/index.php/download/ - Hyper-Vで仮想マシン(以下VM)を新規に作成します。VMの最小要件は以下の通りです。
- CPU:4コア、Enabled Intel VT-x/EPT virtualization engine
- RAM:6GB
- HDD:40GB
- 手順1でダウンロードしたISOファイルを、手順2で作成したVMにインストールします。詳細な手順は割愛します。
- いったんVMをシャットダウンした後、PowerShellを管理者権限で開いて以下のコマンドを実行し、改めてVMを起動します。
Set-VMProcessor -VMName "EVE-NG" -ExposeVirtualizationExtensions $True
※ 上記の"EVE-NG"のところは、手順2で作成したVMの名前を指定してください。
最初は手順4を実行せずにEVE-NGを動かそうとしていたのですが、EVE-NGの管理画面にアクセスしてLabを作成するところまではできるものの、Labの中で作成したVMがまったく起動しない状態に陥ってしまいました。
手順4を実行せずにEVE-NGを起動しているときのCLIを確認してみると、以下のメッセージが出力されており、これがLabの中で作成したVMを起動できない原因となります。
neither Intel VT-x or AMD-V found
この問題を解決するため、手順4に記載したPowerShellのコマンドを実行することで、VMに対してNested Virtualizationを有効にしています。
今回はEVE-NGをHyper-V上のVMとして構築していますが、VM(EVE-NG)の中でさらにVMを稼働させるにはvCPUも仮想化に対応している必要があり、そのために本手順を行っているというイメージです。
VMに対してNested Virtualizationを有効にすると、起動時に出力されていたneither~のメッセージもなくなり、Labの中で作成したVMも正常に起動できるようになります。
EVE-NGからインターネット接続を許可する
これについては、個人でまとめるよりも以下のサイトを参照してもらうほうがわかりやすいと思うので、URLを紹介しておきます。
https://blog.showipintbri.com/blog/eve-ng-internet-access
埋め込まれている動画を見ながら手順に沿って設定すれば、EVE-NG内部のネットワーク構成なども理解できると思います。
まとめ
ひさびさにこういう作業をやってみましたが、なんとか無事にEVE-NGを運用することができております。自宅の学習用サーバも数年ぶりにまともに活用することができてうれしい限りです。
これからもトレーニングに継続して勤しんで、セキュリティエンジニアとして成長していきたい所存です。