Proxmoxのプロキシユーザ認証の設定について

Proxmoxのプロキシユーザ認証の設定について🔖

Proxmoxでプロキシを設定する際、プロキシサーバ側でユーザ認証を導入している場合、
Proxmoxでもユーザ認証ができるかどうかを検証しました。

設定方法含めてご紹介します。


プロキシサーバとは?🔍

インターネットへアクセスする際、代理として通信を行ってくれる中継サーバのことを指します。
プロキシサーバのメリットには以下のようなものがあります。
 ・セキュリティ向上
 ・アクセス制御
 ・ログ管理
 ・高速化 (キャッシュ)


プロキシのユーザ認証とは?🔎

プロキシサーバを誰でも使える状態にしておくと、部外者に勝手に利用されたり、
踏み台(攻撃の中継地点)にされたりするリスクがあります。

ユーザ認証を設定することで、利用開始時にID・パスワードの入力を要求できます。
プロキシ設定したWindowsでインターネットにアクセスしようとした際に表示される画面



今回やったこと✅

①プロキシサーバにユーザ名とパスワードを登録する

 事前にプロキシサーバに認証したいユーザ名とパスワードを登録しておきます。
 今回は以下のユーザ名・パスワードを登録しました。
 ユーザ名 :user01
 パスワード:password123

②Proxmoxにプロキシを設定する(ユーザ認証ができなかった際の動作を確認する)

 まずは、ユーザ名とパスワードを入力せず、プロキシサーバのIPだけを指定した場合に
 インターネットにアクセスできないことを確認します。

 「データセンター」>「オプション」>「HTTPプロキシ」 に以下のフォーマットでプロキシを設定します。

 http://<プロキシのIPアドレスまたはFQDN>:<ポート番号>

 今回の環境では以下の値で設定します。

 http://10.1.232.3:3128


③動作確認(ユーザ認証ができなかった際の動作を確認する)

 シェルからapt-get updateを実行するか、「ホスト名」>「アップデート」>「再表示」を押します。

 以下のように「407 Proxy Authentication Required ...」といったエラーが表示され、
 「TASK ERROR」となっていることが確認できます。




④Proxmoxにプロキシを設定する(ユーザ認証に成功した際の動作を確認する)

 ②の手順では、プロキシサーバのみを指定したため、ユーザ認証できずインターネットにアクセスできませんでした。

 今度はユーザ認証できるようにプロキシ設定をした際の動作を確認します。

 「データセンター」>「オプション」>「HTTPプロキシ」 に以下のフォーマットでプロキシを設定します。

 http://<ユーザ名>:<パスワード>@<プロキシのIPアドレス>:<ポート番号>

 今回の環境では以下の値で設定します。

 http://user01:password123@10.1.232.3:3128


⑤動作確認(ユーザ認証に成功した際の動作を確認する)

 シェルからapt-get updateを実行するか、「ホスト名」>「アップデート」>「再表示」を押します。

 以下のように「TASK OK」となっていることが確認できます。





注意事項⚠

①仮想マシンはプロキシ設定が適用されない

Proxmox上で作成した仮想マシンについては、各仮想マシンの中でプロキシを設定する必要があります。

②パスワードが平文で保存されてしまう

ユーザ認証時のパスワードを暗号化して保存する機能がありません。
セキュリティ的に問題がある場合は、最初からプロキシの認証除外に設定する必要があります。


まとめ📍

プロキシを設定した場合、Proxmoxでは主に以下の通信がプロキシを経由します。

  1. システムのアップデート
    apt-get updateapt upgrade によるパッケージの更新。
  2. テンプレートのダウンロード
    コンテナ(LXC)作成用のOSテンプレートの取得。
  3. ライセンス認証
    Proxmoxのサブスクリプションの有効性確認。
  4. Ceph等のクラスタ通信
    外部リポジトリへのアクセスが必要な場合。

番外:設定ファイルを作成しプロキシ設定をする(aptのみ)

上述の手順は「データセンター」>「オプション」>「HTTPプロキシ」にプロキシを設定することで
/etc/pve/datacenter.cfgに書き込まれ、クラスタ構成の全てのノードに設定が反映されます。

/etc/apt/apt.conf.d/proxy.confに以下を記述することで、ホスト単位でプロキシ設定ができます。
※aptの通信のみがプロキシ経由となるため、ライセンス認証などもプロキシ経由にしたい場合には有効ではない。

Acquire::http::Proxy "http://<ユーザ名>:<パスワード>@<プロキシのIPアドレス>:<ポート番号>";
Acquire::https::Proxy "http://<ユーザ名>:<パスワード>@<プロキシのIPアドレス>:<ポート番号>";



コメント

このブログの人気の投稿

ProxmoxでLet's Encryptを使用した証明書セットアップをやってみた

AIと共に「考える」エンジニアに!

ルーティングって何で必要で、何してるの?を React Routerで理解する