Zscalar環境でSynologyNASをインターネットにつなぐ

結論

・Zscaler環境ではインターネットアクセスにクライアント証明書必要

・Zscalerのクライアント証明書をSynologyのNAS(DSM)に入れる必要があるが、DSMは一般的なLINUXと少し違う

・/usr/syno/etc/security-profile/ca-bundle-profile/ca-certificates/に.crtを入れてsudo update-ca-certificates.shをすれば成功することがわかった

背景

Zscalarについて

会社のネットワークではZscalerというゼロトラスト方式のセキュリティソフトが導入されています。

https://www.zscaler.com/jp

この場合、インターネットにアクセスするのに、使用するコンピューターごとにクライアント証明書のインストールが必要です。

Synology製NAS(DSM)への対応

windowsであれば社内でインストール方法はよく周知されているものと思いますが、Synology製NASへの導入方法は社内で整備されていませんでした。

そもそも、NASにインターネットアクセスの権限が必要なのか?という話ですが、

synologyのNASは、パッケージやOSのアップデートが頻繁にあります。

更新 | DSM – Synology ナレッジセンター

インターネットにつながない場合、ほかのパソコンでダウンロードしたパッケージをNASに共有して手動でアップデートするという方法もありますが、なかなか面倒です。

Synology製NAS(DSM)へのクライアント証明書のインストール方法

試した環境

DSM 7.2

手順⓪ クライアント証明書(.crtファイル)を用意

弊社では社内イントラからクライアント証明書をダウンロードできました。

手順① SSHをオンにしておく

設定から、SSHを許可しておきます。

手順② クライアント証明書を配置するディレクトリを作成

以下のコマンドで作成。

cd /usr/syno/etc/security-profile/
mkdir ‐p ca-bundle-profile/ca-certificates/

手順③ クライアント証明書を配置する

/usr/syno/etc/security-profile/ca-bundle-profile/ca-certificatesにZscalarの証明書を配置します。

scpでもいいですし、SMB経由でNASの共有ディレクトリにクライアント証明書を配置してからcpでもいいと思います。

手順④ クライアント証明書を登録する

sudo update-ca-certificates.sh

でクライアント証明書を登録します。末尾が”.sh”なのに注意。

ちなみに、sudoじゃないとパーミッションの関係でうまく回りません。

以上で、Zsclarのクライアント証明書がOSに認識されますので、インターネットアクセスできるようになります。

最後に

以上、「Zscalar環境でSynologyNASをインターネットにつなぐ」でした。ここまでお読みくださりありがとうございました。

参考サイト

・Q&Aサイト superuser 

https://superuser.com/questions/1103219/how-to-import-a-root-certificate-into-a-synology-server

ベストアンサーになっていませんが、以下の回答がいいと思っており、本記事でも基本的に踏襲しています。

On DSM 7.2 the script /usr/syno/bin/update-ca-certificates.sh exists to re-create content of /etc/ssl/certs.

It allows to add your own certificates as .crt to /usr/syno/etc/security-profile/ca-bundle-profile/ca-certificates/. These certificates will be recognized when running the script.

That directory doesn’t exist by default, so create it if missing. Haven’t found an official way to get it created yet (2024-02).

ベストアンサーの回答では、/usr/syno/etc/security-profile/ca-bundle-profile/ca-certificates/ではなく/var/db/ca-certificatesに証明書を置くように書いています。こちらでも動くとは思いますが、/var/db/ca-certificatesはupdate-ca-certificates.sh の作業フォルダなので、そこに置くのはどうなのかな?と思っています。

補足:Synologyの証明書のページについて

以下はSynologyの署名書のページだが、こちらはNASをサーバーとして使う場合のサーバー証明書であって、今回のZscaler対応はNASがクライアントとして動作するクライアント証明書。ということで、以下のページの話は当たり前だが関係ないことに注意です。

https://kb.synology.com/ja-jp/DSM/help/DSM/AdminCenter/connection_certificate?version=7

補足:Debianの流儀

Synology NASのOSであるDSMはdebianベースという話があります。

Debianのもともとのupdate-ca-certificatesコマンドはこちらでした。

https://manpages.debian.org/buster/ca-certificates/update-ca-certificates.8.en.html

DSMは上記に手を加えた独自のupdate-ca-certificates.shを/usr/syno/bin/update-ca-certificates.shに配置しているという認識です。