【XServer VPS】Ubuntu Desktop × Distrobox で Kali Linux 環境を構築する最適解

【XServer VPS】Ubuntu Desktop × Distrobox で Kali Linux 環境を構築する最適解
  • URLをコピーしました!

VPS で Kali Linux を使おうとすると、そもそも Kali が選べない、というケースは意外と多いです。
特に日本の VPS では、OS テンプレートに Kali が用意されていないことも珍しくありません。

そこで現実的な選択肢になるのが、

Ubuntu を入れて、その上に Kali 環境を構築する

という方法です。

本記事では、XServer VPS に Ubuntu Desktop を構築し、Distrobox を使って Kali Linux 環境を用意する方法を紹介します。

Kali を直接入れなくても、CLI も GUI も含めて 実用的な Kali 環境を VPS 上に用意できる構成です。

目次

なぜ Ubuntu + Distrobox なのか

VPS 上で Kali Linux 環境を用意する方法はいくつかありますが、
現実的に選択肢になるのは次の3つです。

  • Kali を直接インストールする
  • 仮想マシン(VM / VirtualBox)を使う
  • コンテナを使って Kali 環境を用意する

この中で、VPS 環境にもっとも相性が良いのがUbuntu + Distrobox なのではないかなと思いました。

VM(VirtualBox 等)を使わない理由

VM はローカル PC では有効ですが、VPS では向きません。

  • ネストした仮想化が必要になる
  • CPU・メモリのオーバーヘッドが大きい
  • VPS 側で仮想化が制限されていることが多い

結果として、動作が重い・構築が面倒・トラブルが起きやすいという問題が出やすくなります。

Distrobox とは何か

Distrobox は、コンテナ上に別の Linux ディストリビューション環境を作るツールです。

  • ホスト OS(今回は Ubuntu)を壊さない
  • Kali のユーザー空間だけを安全に使える
  • ファイルや GUI をホストと自然に共有できる

「仮想化」ではなく、軽量なコンテナで Kali を“使う”ための仕組みと考えると分かりやすいです。

Ubuntu + Distrobox のメリット

この構成のメリットははっきりしています。

  • Kali を直接インストールしなくて済む
  • Ubuntu の安定性を保てる
  • GUI 環境でも Kali のツールが使える
  • 壊れても Kali コンテナを消すだけで復旧できる

日本のVPSの場合、Kaliを直接インストールできるサービスはほとんどないため、Ubuntuなどを構築してから面倒なことを色々してやっと使えるか使えないか。。。みたいな形になります。

しかし、Distroboxを使ってあげれば、数分で簡単にKali Linuxも利用できるようになるのでおすすめです!

VPSでUbuntuデスクトップ(GNOME)を構築する

まずは、VPSでUbuntuデスクトップを構築しましょう。VPSは色々あるのですが、下記に簡単に比較表をまとめておきます!

Xserver VPSConoha VPSさくら VPSKAGOYA VPS
価格1,150 円2,033 円1,738 円1,100 円
メモリ2 GB2 GB2 GB2 GB
CPU3 コア3 コア3 コア3 コア
SSD50 GB100 GB100 GB50 GB
おすすめPOINT!CPU性能が良い!
高スペックも安い!
時間単位課金がある!バランスがいい!?1日単位で利用可能!
詳細はこちら詳細はこちら詳細はこちら詳細はこちら

今回は、そこそこスペックでも価格が安くて、今後スペックアップする場合も、価格が安い「Xserver VPS」を利用することにしました!
また、Ubuntuデスクトップを構築する場合、Xserverならその辺も自動でやってくれるので、面倒なことをしなくていいというメリットもあります!

\ Xserver VPSの詳細はこちら!! /

VPS構築の詳細手順は、下記の記事で紹介していますので、ぜひ参考にしてみてくださ。

Ubuntu に Distrobox を導入して Kali Linux 環境を構築する

XServer VPSでUbuntuデスクトップ環境を作っていた場合、リモートデスクトップでUbuntuのデスクトップを表示できている状態かなと思います。

ここまで準備ができたら、次は Ubuntu 上に Distrobox をインストールしていきます。
Distrobox を使うことで、Ubuntu の環境を壊すことなく、Kali Linux の作業環境を追加できます。

DistroboxのインストールとKali Linuxの構築

XServer VPS の Ubuntu Desktop 環境で、ターミナルを開いて以下を実行してください。

sudo apt update
sudo apt install -y podman distrobox

インストール後、バージョンを確認しておきます。

distrobox --version
podman --version

問題なくバージョンが表示されていれば、Distroboxの準備は完了です。

次に、Distrobox を使って Kali Linux 環境を作成します。
私の場合は、VPSなのとVPNをつないで作業することも多いので、メモリやCPUを制限を入れています。

distrobox create \
  --name kali \
  --image registry-1.docker.io/kalilinux/kali-rolling \
  --home ~/kali-home \
  --additional-flags "--memory=10g --cpus=5" \
  --pull --yes

作成が終わったら、一覧を確認してみましょう。このようになっていれば、問題ありません。

$ distrobox list
ID           | NAME                 | STATUS             | IMAGE                         
3bbc18672a67 | kali                 | Created            | docker.io/kalilinux/kali-rolling:latest

$ podman images
REPOSITORY                        TAG         IMAGE ID      CREATED     SIZE
docker.io/kalilinux/kali-rolling  latest      3f0b2388a847  6 days ago  252 MB

Kali Linuxへのログインと、ログアウト

Kali Linuxへのログインは、下記のコマンドになります。

$ distrobox enter kali
Starting container...                   	 [ OK ]
Installing basic packages...            	 [ OK ]
Setting up devpts mounts...             	 [ OK ]
Setting up read-only mounts...          	 [ OK ]
Setting up read-write mounts...         	 [ OK ]
Setting up host's sockets integration...	 [ OK ]
Integrating host's themes, icons, fonts...	 [ OK ]
Setting up package manager exceptions...	 [ OK ]
Setting up package manager hooks...     	 [ OK ]
Setting up dpkg exceptions...           	 [ OK ]
Setting up apt hooks...                 	 [ OK ]
Setting up distrobox profile...         	 [ OK ]
Setting up sudo...                      	 [ OK ]
Setting up user groups...               	 [ OK ]
Setting up kerberos integration...      	 [ OK ]
Setting up user's group list...         	 [ OK ]
Setting up existing user...             	 [ OK ]
Setting up user home...                 	 [ OK ]
Ensuring user's access...               	 [ OK ]
Setting up skel...                      	 [ OK ]

Container Setup Complete!
bash: warning: setlocale: LC_CTYPE: cannot change locale (ja_JP.UTF-8): No such file or directory
bash: warning: setlocale: LC_CTYPE: cannot change locale (ja_JP.UTF-8): No such file or directory
bash: warning: setlocale: LC_COLLATE: cannot change locale (ja_JP.UTF-8): No such file or directory
bash: warning: setlocale: LC_CTYPE: cannot change locale (ja_JP.UTF-8): No such file or directory
bash: warning: setlocale: LC_CTYPE: cannot change locale (ja_JP.UTF-8): No such file or directory
bash: warning: setlocale: LC_COLLATE: cannot change locale (ja_JP.UTF-8): No such file or directory
┏━(Message from Kali developers)
┃
┃ This is a minimal installation of Kali Linux, you likely
┃ want to install supplementary tools. Learn how:
┃ ⇒ https://www.kali.org/docs/troubleshooting/common-minimum-setup/
┃
┗━(Run: “touch ~/.hushlogin” to hide this message)
bash: warning: setlocale: LC_CTYPE: cannot change locale (ja_JP.UTF-8): No such file or directory
bash: warning: setlocale: LC_CTYPE: cannot change locale (ja_JP.UTF-8): No such file or directory
bash: warning: setlocale: LC_COLLATE: cannot change locale (ja_JP.UTF-8): No such file or directory
bash: warning: setlocale: LC_CTYPE: cannot change locale (ja_JP.UTF-8): No such file or directory
bash: warning: setlocale: LC_CTYPE: cannot change locale (ja_JP.UTF-8): No such file or directory
bash: warning: setlocale: LC_COLLATE: cannot change locale (ja_JP.UTF-8): No such file or directory

初回ログインで、エラーが出てしまいました。日本語対応ができていないからなので、日本語対応をしていきます。
エラーはでているものの「ubuntu㉿kali」となっていますので、Kali Linuxにログインしている状態です。

ここからの作業は、Kali Linux側になります。下記のコマンドを実行してください。

┌──(ubuntu㉿kali)-[/home/ubuntu]
└─$ sudo apt update
Hit:1 http://http.kali.org/kali kali-rolling InRelease
15 packages can be upgraded. Run 'apt list --upgradable' to see them.

┌──(ubuntu㉿kali)-[/home/ubuntu]
└─$ sudo apt install -y locales
locales is already the newest version (2.42-5).
Summary:                    
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 15

┌──(ubuntu㉿kali)-[/home/ubuntu]
└─$ sudo sed -i 's/^# *\(ja_JP.UTF-8 UTF-8\)/\1/' /etc/locale.gen

┌──(ubuntu㉿kali)-[/home/ubuntu]
└─$ sudo locale-gen
Generating locales (this might take a while)...
  en_US.UTF-8... done
  ja_JP.UTF-8... done
Generation complete.

┌──(ubuntu㉿kali)-[/home/ubuntu]
└─$ sudo update-locale LANG=ja_JP.UTF-8

ここまで出来たら一度「exit」でログアウトして、再度ログインしてください。
これでエラーは消えたかなと思います。

┌──(ubuntu㉿kali)-[/home/ubuntu]
└─$ exit
logout

$ distrobox enter kali
┏━(Message from Kali developers)
┃
┃ This is a minimal installation of Kali Linux, you likely
┃ want to install supplementary tools. Learn how:
┃ ⇒ https://www.kali.org/docs/troubleshooting/common-minimum-setup/
┃
┗━(Run: “touch ~/.hushlogin” to hide this message)

残りのメッセージも気になる場合は、下記のコマンドを実行したらメッセージは出なくなります。

┌──(ubuntu㉿kali)-[/home/ubuntu]
└─$ touch ~/.hushlogin

必要なツールのインストール

これでKali Linuxが利用できる状態になっていますので、必要なツールをインストールしましょう。

apt update && apt -y install kali-linux-headless
apt update && apt -y install kali-linux-large

Kali Linuxのツールを実際に使ってみる

イメージ的には、下記のような構成になるはずです。

  • Ubuntu Desktop(GNOME)が 画面担当
  • Kali(Distrobox)は ツール担当
  • X11 / Wayland が Ubuntu 側で動作

なので、たとえば、下記のようにKali LinuxでGUIツールを起動したとき。

$ distrobox enter kali

┌──(ubuntu㉿kali)-[/home/ubuntu]
└─$ burpsuite

このように、Ubuntuデスクトップ上にGUIが表示される形になります。

まとめ

今回は、XServer VPS 上に Ubuntu Desktop(GNOME)を構築し、Distrobox を使って Kali Linux 環境を用意する方法を紹介しました。

日本の VPS では Kali Linux を直接選べないことも多いですが、この構成であれば、

  • Ubuntu の安定した環境をベースにできる
  • Kali Linux を安全に追加できる
  • CLI / GUI ツールの両方を VPS 上で利用できる
  • 環境が壊れても Kali コンテナを作り直すだけで復旧できる

といったメリットがあります。

「Kali を入れる」のではなく、「Ubuntu 上で Kali を使う」という選択肢は、VPS 環境ではかなり実用的だと感じています。

これから VPS 上でセキュリティ学習や検証環境を作る方の参考になれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

情報セキュリティを勉強するために始めたブログです。
新人のため、広い心を持って見ていただけると嬉しく思います。
楽しくプログラミングを勉強するために、「Teech Lab.」もありますので、ソフトウェア開発にも興味があればぜひ覗いて見てください!

目次